记录一个 ios 微信好友分享打开是错误页面的问题

项目场景:

一个观众登记系统,有好友分享邀约参观的功能,正常的业务逻辑是:

A 邀请 B 报名参观,B 通过 A 发送的邀约链接进行登记。

项目使用的框架是:VUE2


问题描述

A 注册完成,到了“我的证件”页面后,分享给好友,此时安卓和 ios 两台手机测试产生两种情况:

1、苹果手机分享出来的链接,好友打开是“我的证件”页面,而不是首页(不正常);

2、安卓手机分享出来的链接,好友打开是“首页”(正常);


原因分析:

真实的原因其实我也没找到,但是操作发现在证件页面,刷新一下浏览器,再分享出来,这时候的链接点开是可以返回到首页的(为什么呢?有大神解答吗?),但是总不能让用户操作吧……百思不得其解,在下面这位老铁的方法里找到了思路。

记一次微信分享的坑,ios和安卓分享打开的url不一样_vue 微信浏览器ios 和安卓window.location.href不同-CSDN博客


解决方案:

路由守卫:微信分享链接的页面路由wxshare,全局路由守卫判断路由再做相关操作

1、先设置好分享的链接,原来是/home,改为/wxshare

2、在 router 中加入路由守卫,当 path是 wxshare,强制跳转到 home 首页

修改 router 下的 index.js文件

  router.beforeEach((to, from, next) => {
    console.log('from',from)
    console.log('to',to);
    // return 
    if (to.path === '/wxshare') {
      var query = to.query
      let path = '/home?ly=' + query.ly + '&fcode' + query.fcode
      next(path)
    } else {
      next()
    }
  })

至此,问题已经解决。

为了解决这个问题,重新撸了一遍微信 sdk的微信好友分享,看我另外一篇文章:https://blog.csdn.net/hj1043/article/details/139962130

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值