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

在调用微信分享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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值