关于公众号内嵌H5调用微信扫一扫,IOS报错(Vue框架)

问题:安卓机可以正常使用扫一扫,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

posted @ 2020-09-18 13:44  飞飞飞飞0928  阅读(955)  评论(0编辑  收藏  举报