在做公众号自定义分享时可能无效,发现需要注意以下几点:
1、公众号必须是认证过的,未认证的公众号是不行的。
2、公众号后台添加域名IP为白名单。
3、JS接口安全域名设置为项目域名。
4、引入官方JS文件。
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
分享代码:
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: [
'updateAppMessageShareData','updateTimelineShareData'
]
});
wx.ready(function(){
wx.checkJsApi({
jsApiList: [
'updateAppMessageShareData', // 分享到朋友圈
'updateTimelineShareData' //分享到朋友
],
success: function(res1) {
}
});
wx.updateAppMessageShareData({
title:res.data.share_title, // 分享标题
desc: res.data.share_intro, // 分享描述
link: res.data.share_url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl:res.data.share_image, // 分享图标
success: function (res) {
console.log(res);
// 设置成功
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
wx.updateTimelineShareData({
title:res.data.share_title, // 分享标题
desc: res.data.share_intro, // 分享描述
link: res.data.share_url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl:res.data.share_image, // 分享图标
success: function (res) {
console.log(res);
// alert("222222222")
// 设置成功
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
});
全部设置成功了,分享出去是链接,不是卡片。
原因是微信为了响应国家反垄断规章,微信调整了访问外链;
解决办法:
1.将链接添加至公众号的自定义菜单中,从公众号菜单进入分享
2.扫描二维码分享
3.将链接保存至微信收藏中,从我的收藏进入分享
其余其他地方进入分享都是链接形式