微信分享标题描述都正确,就链接出了问题?
let data;
async function onShare(shareTitle = '标题', description = '描述', imgUrl = 'http://f.hiphotos.baidu.com/image/pic/item/38dbb6fd5266d016c4faadfb9d2bd40734fa3505.jpg') {
data = data || (await getSign()).data.retdata; //此处是获取 signature, nonceStr, timestamp的接口,若已获取到了那就不再请求接口
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: w.appid, // 必填,公众号的唯一标识
timestamp: data.timestamp, // 必填,生成签名的时间戳
nonceStr: data.nonceStr, // 必填,生成签名的随机串
signature: data.signature, // 必填,签名,见附录1
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'], // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(() => {
let l = window.location;
let link = `${l.origin}${l.pathname}${l.hash}`; // 分享的时候去除url中?部分
if (shareTitle.length >= 20) {
shareTitle = `${shareTitle.slice(0, 20)}...`;
}
let title = shareTitle;
wx.onMenuShareTimeline({
title, // 分享标题
link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl, // 分享图标
type: 'link', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success() {
// 用户确认分享后执行的回调函数
},
cancel() {
// 用户取消分享后执行的回调函数
},
});
wx.onMenuShareAppMessage({
title, // 分享标题
desc: description, // 分享描述
link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl, // 分享图标
type: 'link', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success() {
// 用户确认分享后执行的回调函数
},
cancel() {
},
});
});
wx.error(function (res) {
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
window.popupTips.show(res.errMsg);
});
}
首先说明,项目是SPA
以上是调用微信jssdk的函数,在每次路由切换的时候都会调用onShare
。
问题
为什么有的时候分享成功了,标题、描述、图片都正确,就单单链接不正确呢?
举个栗子
现在项目有2个页面#/home
,#/info
在#/info
调用onShare
,然后用户分享给了别人。 但是第二者进去就直接进去#/home
了....
分享链接的代码
let l = window.location;
let link = `${l.origin}${l.pathname}${l.hash}`; // 分享的时候去除url中?部分
求老司机指点_(:з」∠)_
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您好 现在这个问题有解决方案了么?