记笔记,备后面自己查询!
这两天写的H5页面一个页面包含多个不同的链接模块如下图这种,每种分享的链接都不是当前链接,指定自定义的链接。
微信官方开发者文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
微信官方接口DEMO:https://www.weixinsxy.com/jssdk/ 或 http://demo.open.weixin.qq.com/jssdk
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名
jsApiList: [
'onMenuShareAppMessage',
'onMenuShareTimeline',
'onMenuShareQQ',
'onMenuShareQZone',
'showMenuItems',
'hideMenuItems',
'hideAllNonBaseMenuItem',
'previewImage'
] // 必填,需要使用的JS接口列表
});
wx.ready(function () { //需在用户可能点击分享按钮前就先调用
wx.updateAppMessageShareData({
title: '', // 分享标题
desc: '', // 分享描述
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
// 设置成功
}
})
wx.updateTimelineShareData({
title: '', // 分享标题
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
// 设置成功
}
})
...
});
一、根据文档和以前一样写,分享出去后无论如何都是指向当前的url,查文档,问度娘都说明分享的链接可以是当前链接,也可以设置为另一个页面。下面为测试的几种思路,不过可惜都不可行:
1:点击时获取相对应的id进行ajax请求得到要指定的url。结果是分享出去指定的链接还是当前页面链接。失败。
2:将微信的分享所有都放在分享点击事件里面,不可行。
3:将指定链接相同部分直接写死在link里面,后面指定的id部分获取不到,不可行
link: "https://xxxx.xxxx.com/index.php/xx/xx/xxx?id={$xxx.id}"
4:让后台直接写死一个链接可行,但是后台并不知道点击时分享哪个链接,所以不可行
网上提供的需注意:
1、域名必须是当前绑定的服务号或者公众号的安全域名
最后使用
function myWxShare(shareTitle, shareDesc, shareUrl, imgUrl){
wx.config({})
wx.ready({})
}
然后点击分享时传参并触发weixin的jssdk方法,居然ok了,也是福气了。如果大神们还有更好的方法请留言告知,感谢!
有毒,7号写在外面也可以分享指定链接(如下)....
wx.config({});
wx.ready({});
function myWxShare(shareTitle, shareDesc, shareUrl, imgUrl){
wx.onMenuShareTimeline({});
...
}