根据前篇文章使用ThinkPHP3.2获取到的access_token和jsapi_ticket,就可以使用jssdk接口了。如分享到朋友圈和分享给朋友接口。
使用jssdk有5个步骤哦,详情请查看微信官方开发文档。
步骤一:绑定域名(先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。)
步骤二:引入JS文件
步骤三:通过config接口注入权限验证配置
步骤四:通过ready接口处理成功验证
步骤五:通过error接口处理失败验证
修改Application/Home/View/Index/index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Document</title>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0">
</head>
<body>
<b>基础接口accessToken:{$accessToken}</b>
<p>微信公众号appId:{$signPackage.appId}</p>
<p>时间戳:{$signPackage.timestamp}</p>
<p>随机字符串:{$signPackage.nonceStr}</p>
<p>签名:{$signPackage.signature}</p>
</body>
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
/*
* 注意:
* 1. 所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
* 2. 如果发现在 Android 不能分享自定义内容,请到官网下载最新的包覆盖安装,Android 自定义分享接口需升级至 6.0.2.58 版本及以上。
* 3. 常见问题及完整 JS-SDK 文档地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
*
* 开发中遇到问题详见文档“附录5-常见错误及解决办法”解决,如仍未能解决可通过以下渠道反馈:
* 邮箱地址:weixin-open@qq.com
* 邮件主题:【微信JS-SDK反馈】具体问题
* 邮件内容说明:用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,微信团队会尽快处理你的反馈。
*/
wx.config({
debug: true,
appId: '{$signPackage.appId}',
timestamp: {$signPackage.timestamp},
nonceStr: '{$signPackage.nonceStr}',
signature: '{$signPackage.signature}',
jsApiList: [
'onMenuShareTimeline',
'onMenuShareAppMessage',
]
});
wx.ready(function () {
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
// 注册分享朋友圈事件。
wx.onMenuShareTimeline({
title: '暮歌尽天下', // 分享标题
link: 'http://dgnanbo.k10000.top/index.php/Home/Index/index/index', // 分享链接,该链接域名必须与当前企业的可信域名一致
imgUrl: '', // 分享图标
success: function () {
alert('success!');
},
cancel: function () {
alert('cancel!');
}
});
// 注册分享朋友事件
wx.onMenuShareAppMessage({
title: '暮歌尽天下', // 分享标题
desc: '我们的梦想!在飞!在翱翔!',
link: 'http://dgnanbo.k10000.top/index.php/Home/Index/index/index', // 分享链接,该链接域名必须与当前企业的可信域名一致
imgUrl: '', // 分享图标
success: function () {
alert('success!');
},
cancel: function () {
alert('cancel!');
}
});
});
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
});
</script>
</html>