关于vue带hash ‘#/’ 微信分享后点开链接是首页的问题

33次阅读

共计 863 个字符,预计需要花费 3 分钟才能阅读完成。

在调用微信分享 api 的时候:
let shareUrl = https://xxxx#/abc
wx.onMenuShareTimeline({
title: ”,
link: shareUrl,
imgUrl: ”,
success:function() {
},
cancel:function() {
}
});
如是这样带有 hash 的分享后,打开分享后的 shareUrl 是 https://xxxx#/?from=singlemes… 关于 from=singlemessage 这部分是微信加的。额外 现象是第二次打开就是正常的。解决方法:1、将 hash 分开:将 hash 前后分开,微信就不会将 from=singlemessage 拼接到 #/abc 之后
shareUrl = shareUrl.split(‘#’)[0] + ‘#’ + ‘/abc’
得到的结果是:https://xxxx&from=singlemessa…,第一次打开还是会进入到 https://xxxx&from=singlemessa…,第二次打开才会进入到 https://xxxx&from=singlemessa…
2、使用 url 重定向在 static 文件夹下,新建 html/redirect.html。redirect.html 内容:
<script>
let url = location.href.split(‘?’)
let pars = url[1].split(‘&’)
let data = {}
pars.forEach((n, i) => {
let p = n.split(‘=’)
data[p[0]] = p[1]
})
if (!!data.app3Redirect) {
self.location = decodeURIComponent(data.app3Redirect)
}

</script>
然后:
shareUrl = shareUrl.split(‘#’)[0] + ‘static/html/redirect.html?app3Redirect=’ + encodeURIComponent(shareUrl);
这样就跳转完成

正文完
 0