解决vue hash模式微信分享#号问题

 // 问题描述在微信中分享到朋友圈或好友时,分享出去的路由被破坏,打开分享的链接,路由中的“#”会被去掉并追加?fromTimeline之类的后缀参数,这就造成了分享出去的链接只能进入首页,无法正常跳转到其他路由。
       // 获取签名
        this.$ajax.post(this.apiUrl+"/api/wxShare/getWxConfig",
          this.$qs.stringify({"url":window.location.href.split('#')[0]})).then((res) => {//有人说要加转译encodeURIComponent本人没加具体跟你们的后台协商
          if (res.data.status.code === '0000') {
            wx.config({
              debug: false,
              appId: res.data.data.appid,
              timestamp: res.data.data.timestamp,
              nonceStr: res.data.data.nonceStr,
              signature: res.data.data.signature,
              jsApiList: [
                'onMenuShareTimeline',
                'onMenuShareAppMessage'
              ]
            });
          }
        })
            //处理验证失败的信息
        wx.error(function (res) {
         alert('验证失败返回的信息:',res);
        });
        console.log(window.location.href.split('#')[0])
        wx.ready(function () {
          // 分享给朋友
          wx.onMenuShareAppMessage({
            title: '这是标题', // 分享标题
            desc: "这是测试的数据", // 分享描述
            link: window.location.href.split('#')[0]+'#'+window.location.href.split('#')[1], // 分享链接!这里是关键 因为微信会把我们分享的链接截取掉 我在这里手动拼接上
            imgUrl: '', // 分享图标
            type: '', // 分享类型,music、video或link,不填默认为link
            dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
            success: function () {
              window.alert('已分享给好友');
            },
            cancel: function () {
              // 用户取消分享后执行的回调函数
            },
            fail: function (res) {
              window.alert(JSON.stringify(res));
            }
          });

          // 分享到朋友圈
          wx.onMenuShareTimeline({
            title: '这是标题', // 分享标题
            desc: "这是测试的数据", // 分享描述
            link: window.location.href.split('#')[0]+'#'+window.location.href.split('#')[1], // 分享链接
            success: function () {
              window.alert('已分享到朋友圈');
            },
            cancel: function () {
            },
            fail: function (res) {
              window.alert(JSON.stringify(res));
            }
          });

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值