vue 微信公众号分享遇到的坑
1. 首先注册需要用的到jssdk接口,在hash模式下,注册的地址需要是#之前的,实现代码如下var url = ''if (document.URL.indexOf('/#/') !== -1) {url = document.URL.split('#')[0]} else if (document.URL.indexOf('/?#/') !== -1) {...
·
1. 首先注册需要用的到jssdk接口,在hash模式下,注册的地址需要是#之前的,实现代码如下
var url = ''
if (document.URL.indexOf('/#/') !== -1) {
url = document.URL.split('#')[0]
} else if (document.URL.indexOf('/?#/') !== -1) {
url = document.URL.split('#')[0].split('?')[0] + '?'
}
api({
method: 'POST',
url: `${service.getConfig}?sid=${window.localStorage.getItem('sid')}&url=${url}`,
data: {
'url': url
}
}).then((res) => {
if (res) {
wx.config({
debug: false,
appId: res.appId,
timestamp: res.timestamp,
nonceStr: res.nonceStr,
signature: res.signature,
jsApiList: ['chooseImage', 'previewImage', 'uploadImage', 'getLocalImgData', 'startRecord', 'stopRecord', 'onVoiceRecordEnd', 'playVoice', 'uploadVoice', 'chooseWXPay', 'scanQRCode', 'hideMenuItems', 'previewImage', 'onMenuShareTimeline', 'onMenuShareAppMessage', 'getNetworkType']
}, function (res) {
if (res.errMsg === 'config:ok') {
} else {
window.reload()
}
})
}
}).catch((err) => {
if (err) throw err
})
2. 分享到朋友圈,发送给好友
wx.ready(function () {
wx.onMenuShareTimeline({
title: '', // 分享标题
link: urlBase, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
}
})
// desc: '分享描述', // 分享描述
wx.onMenuShareAppMessage({
title: '', // 分享标题
desc: '', // 分享描述
link: urlBase, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户点击了分享后执行的回调函数
}
})
})
3. 分享的时候微信在默认在url中加参数导致分享链接失效
原因分析: 通过filder发现是跳转获取open_id的时候state参数是前端地址,state参数有问题导致的
解决办法: 直接在获取open_id的时候暴力的处理分享所带的参数即可解决
更多推荐
已为社区贡献5条内容
所有评论(0)