问题:安卓机可以正常使用扫一扫,ios会出现以下错误
我的流程:进入扫一扫页面,配置wx.config. 点击按钮进行扫一扫。
原因:IOS的微信内置浏览器,验证签名,单页应用的路由是不行的,也就是说 到需要调用扫一扫的页面,必须是由window.location.href跳转过来,而不是this.$router.push.
解决方案:1.调用扫一扫的上一个页面 到 调用扫一扫的页面 必须 是window.location.href.
2.前端发送给后台,为了配置签名 需要用到url, 这个url = window.location.href.split('#')。(路由模式为hash),我浏览其他帖子的时候,说的都含糊其词,什么不包括#号后面,又包括get请求的参数部分。记住就是url = window.location.href.split('#')
另外的小坑:当我将跳转url形式改为window.location.href时,发现安卓机跳转时无比缓慢
解决方案:判断下机型,代码如下
//判断机型ios/安卓 appSource() { const u = navigator.userAgent; const isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); if (isiOS) { return true; } else { return false; } },
如果未解决 可联系本人 QQ:1726928218