- config成功但是自定义分享的内容没有生效;
- 手机端分享成功但是PC端分享内容不生效。
解决方法:
- 把配置项单独拿出来定义变量,api中直接填变量名;
- 手机端配置updateAppMessageShareData和updateTimelineShareData,
PC端配置onMenuShareAppMessage和onMenuShareTimeline。
最终代码:
$.ajax({
url : '后端请求接口地址',
data: params,
type:'get',
success:function(res){
if (res.code == '000') {
const wxJsSdk = res.data.wxJsSdk // jssdk的参数
const wxLink = res.data.wxLink // 微信分享的参数
wx.config({
debug: false,
appId: wxJsSdk.appid,
timestamp: wxJsSdk.timestamp,
nonceStr: wxJsSdk.nonceStr,
signature: wxJsSdk.signature,
jsApiList: [ // 需要用到的api, 要提前配置
'checkJsApi',
'onMenuShareTimeline',
'onMenuShareAppMessage',
'updateAppMessageShareData',
'updateTimelineShareData'
]
});
window.share_config = {
"share1": {
"imgUrl": wxLink.imgurl,//分享图,默认当相对路 径处理,所以使用绝对路径的的话,“http://”协议前缀必须在。
"desc" : wxLink.shareDes,//摘要,如果分享到朋友圈的话,不显示摘要。
"title" : wxLink.shareTitle,//分享卡片标题
"link": wxLink.anewLinkUrl,//分享出去后的链接,这里可以将链接设置为另一个页面。
"success":function(){//分享成功后的回调函数
},
'cancel': function () {
// 用户取消分享后执行的回调函数
}
}
};
wx.ready(function () {
// 手机
wx.updateAppMessageShareData(share_config.share);//分享给好友
wx.updateTimelineShareData(share_config.share);//分享到朋友圈
// pc端
wx.onMenuShareAppMessage(share_config.share);//分享给好友
wx.onMenuShareTimeline(share_config.share);//分享到朋友圈
});
}
}
});