微信公众号 vue 调用微信 扫一扫、地理位置 iOS报错、安卓

2020-01-06  本文已影响0人  西木木亢

原因:

【IOS】:ios微信端,路由变化时,微信认为SPA的url是不变的。

【Android】:android微信端,路由变化时,SPA的url是会变的(官方在安卓6.2版本,才对SPA变化作了支持)

所以,发起签名的url必须是微信锁定的

解决方案一:

要兼容iOS,跳转到需调用扫一扫接口的页面,使用location.href,不要使用vue-router的写法;

解决方案二:

// 记录进入app时的url 
if (typeof window.entryUrl === 'undefined' || window.entryUrl === '') {
    window.entryUrl = location.href.split('#')[0]
}
// 进行签名的时候  Android 不用使用之前的链接, ios 需要
let signLink =  /(Android)/i.test(navigator.userAgent) ? location.href.split('#')[0] : window.entryUrl;

参考:https://www.cnblogs.com/xueshanshan/p/8692092.html

上一篇 下一篇

猜你喜欢

热点阅读