今在做调用微信扫一扫时,发现第一次进入页面调用不成功,刷新一下当前页面在调用竟然成功了!!!!

问题原因:项目使用的是vue-router 进行页面切换,都是操作浏览器历史记录,而在ios中浏览器切换路由时url不变,在安卓中路由变化url是变化的

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

                 所以当你从a页面切换到b页面时,此时ios记录的还是a页面,所以需要对iso和安卓分别做处理,方式如下

1   Router.beforeEach(function(to, from, next) {
2     // 记录进入app时的url
3     if (typeof window.entryUrl === 'undefined' || window.entryUrl === '') {
4       window.entryUrl = location.href.split('#')[0];
5     }
6   })
7 // 签名使用的url
8 let signLink =  /(Android)/i.test(navigator.userAgent) ? location.href.split('#')[0] : window.entryUrl;

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄