SPA单页下IOS系统微信js-sdk报错

发布时间:2018-05-23 浏览次数:2846 文章来源:个人博客

最近在做微信公众号,有个页面需要用到微信提供的js-sdk。

config接口注入权限验证配置

在安卓和微信开发者工具中,均没有问题,但是,在ios手机中有问题,报签名认证失败: invalid signature。


经过一番百度,发现:


在ios下,spa的url是不会变的,每次切换,url都是最初进入页面的url。


这就尴尬了。。


所以我们需要在单页路由里面,增加一个ios的判断,具体代码如下:


beforeRouteEnter (to, from, next) {
  var u = navigator.userAgent;
  var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
  // XXX: 修复iOS版微信HTML5 History兼容性问题
  if (isiOS && to.path !== location.pathname) {
    // 此处不可使用location.replace
    location.assign(to.fullPath)
  } else {
    next()
  }
}

这样,就能解决了。

key-word
微信js-sdk ios错误 vue微信 ios单页