本文分享把H5小项目部署到微信公众号上,便于分享给好友使用
首先将上一篇提到的jssdk.php文件放到项目的文件夹中,打开项目的主页面,在头部添加如下代码
<?php
//外部引用
require_once "jssdk.php";
$jssdk = new JSSDK("你的appid", "你的secret");
$signPackage = $jssdk->GetSignPackage();
?>
在尾部添加分享信息
<script type="text/javascript">
wx.config({
debug: true,//开启调试模式
appId: '<?php echo $signPackage["appId"];?>',
timestamp: <?php echo $signPackage["timestamp"];?>,
nonceStr: '<?php echo $signPackage["nonceStr"];?>',
signature: '<?php echo $signPackage["signature"];?>',
jsApiList: [
// 所有要调用的 API 都要加到这个列表中
'onMenuShareTimeline',
]
});
var sum = 100;
wx.ready(function () {
// 在这里调用 API
wx.onMenuShareAppMessage({
title: '数钱拿大奖', // 分享标题
desc: '我数了100张,谁来挑战我', //分享描述
link: 'http://2.项目名称.applinzi.com/项目文件夹/html.php', // 分享给好友后,好友也能打开小项目
imgUrl: 'http://www.dev666.com/dev666/static/images/dev666logo.png', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
});
</script>
然后将该主页面保存为php文件。
将该项目的文件夹上传至新浪云,将链接http://2.项目名称.applinzi.com/项目文件夹/html.php转化为二维码,扫码即可打开项目页面。
另外,如果是小项目需要数据库的支持,可在get.php文件中实现对数据库的调用和操作。
比如在新浪云http://sae.sina.com.cn/?m=mysqlmng&app_id=weixinbuild&ver=1创建一个共享型MySQL,在里面分别建好id,name,openid,headimg,sex,city,score等字段,将用户获取用户对应的信息存入数据库。
get.php代码如下
<?php
//一获取授权code值
$code = $_GET["code"];
// echo "$code";
$appid = 你的appid';
$secret = '你的secret';
//二根据code值获取access_token
$url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
$str = file_get_contents($url);
$json = json_decode($str);
// var_dump($json);
$access_token = $json->access_token;
// 用户openID
$openid = $json->openid;
//获取用户信息地址
$url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';
//获取接口信息
$user = file_get_contents($url);
//把获取的信息转为JSON对象
$obj = json_decode($user);
//直接将用户信息存入数据库
$sex = $obj->sex==1?"男":"女";
$conn = mysqli_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS,SAE_MYSQL_DB);//根据新浪云MySQL访问数据库文档填写
$conn->query("set names utf8");
$sql = "INSERT INTO user (name,openid,headimg,sex,city,score) VALUES('{$obj->nickname}','{$openid}','{$obj->headimgurl}','{$sex}','{$obj->city}',100)";
$conn->query($sql);
if (mysqli_affected_rows($conn)>0) {
echo "添加成功";
}
else {
echo "添加失败";
}
?>
扫码访问
https://open.weixin.qq.com/connect/oauth2/authorize?appid=你的appid&redirect_uri=访问新浪云上code.php的链接&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect;
注意redirect_uri的值需要用urlencode转码。
每当关注的用户扫码一次,他的对应信息就会存入你的数据库之中,打开数据库即可看到对应信息。