關於vue帶hash '#/' 微信分享後點開連接是首頁的問題

在調用微信分享api的時候:html

let shareUrl = https://xxxx#/abc
wx.onMenuShareTimeline({
    title: '',
    link: shareUrl,
    imgUrl: '',
    success:function() {
    },
    cancel:function() {
    }
});

如是這樣帶有hash的分享後,打開分享後的shareUrl是https://xxxx#/?from=singlemes... 關於from=singlemessage這部分是微信加的。額外 現象是第二次打開就是正常的。
解決方法:
一、將hash分開:將hash先後分開,微信就不會將from=singlemessage拼接到#/abc以後api

shareUrl = shareUrl.split('#')[0] + '#' + '/abc'

獲得的結果是:https://xxxx&from=singlemessa...,第一次打開仍是會進入到https://xxxx&from=singlemessa...,第二次打開纔會進入到https://xxxx&from=singlemessa...微信

二、使用url重定向
在static文件夾下,新建html/redirect.html。
redirect.html 內容:app

<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>

而後:url

shareUrl = shareUrl.split('#')[0] + 'static/html/redirect.html?app3Redirect=' + encodeURIComponent(shareUrl);

這樣就跳轉完成code

相關文章
相關標籤/搜索