首要条件
1、微信公众号已成功认证(任意服务号可添加安全域名和ip白名单即可)
2、微信公众号中添加JS安全域名
设置>公众号设置>功能设置>JS安全域名
3、添加IP白名单(服务器公网IP)
开发>基本配置>公众号开发信息>IP白名单
控制器
vendor('wechat.jssdk');
$jssdk =new \JSSDK("appid", "appsecret");
$signPackage = $jssdk->GetSignPackage();
$this->assign('signPackage',$signPackage);
页面
<script src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script type="text/javascript">
wx.config({
debug: false,//是否开启调试
appId: '<?php echo $signPackage["appId"];?>',
timestamp: <?php echo $signPackage["timestamp"];?>,
nonceStr: '<?php echo $signPackage["nonceStr"];?>',
signature: '<?php echo $signPackage["signature"];?>',
jsApiList: [
// 所有要调用的 API 都要加到这个列表中
'checkJsApi',
'onMenuShareTimeline', //
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo'
]
});
window.share_config = {
"share": {
"imgUrl": "https://blog.alonesky.com/storage/cover/2019/03/02/mgdyQB58XEwlN8hioz2IInwR5rgYASCiLsHGGyKD.png", //分享图,默认当相对路径处理,所以使用绝对路径的的话,“http://”协议前缀必须在。
"desc": "你对页面的描述", //摘要,如果分享到朋友圈的话,不显示摘要。
"title": '分享卡片的标题', //分享卡片标题
"link": window.location.href, //分享出去后的链接,这里可以将链接设置为另一个页面。
"success": function() { //分享成功后的回调函数
},
'cancel': function() {
// 用户取消分享后执行的回调函数
}
}
};
wx.ready(function() {
wx.onMenuShareAppMessage(share_config.share); //分享给好友
wx.onMenuShareTimeline(share_config.share); //分享到朋友圈
wx.onMenuShareQQ(share_config.share); //分享给手机QQ
});
</script>
附件地址:链接