vue项目接入微信js-sdk config在安卓系统下正常,ios系统却报'invalid signature'

  微信公众号的js-sdk,这个以前在静态html上配置过,在安卓和ios上都正常。最近的在一个vue项目上需要接入js-sdk使用wx.chooseImage(拍照或从手机相册中选图接口

选择图片功能,通过自己的安卓机和微信开发工具都正常,可以正常使用,但是ios手机测试时,调用wx.chooseImage没反应。打开config的调试模式,安卓上显示的成功,ios上提示的是invalid signature,通过论坛了解到。

  ios在跳转页面时,只要不刷新页面href是会发生变化的。

  解决方法:ios在给后端传当前url获取微信config的时候,要去掉hash路由#后面的内容,所以取url的方法为location.href.split('#')[0]

  根据不同的手机类型进行处理

 let url = '';
    var u = navigator.userAgent;
    var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g
    var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
    if (isAndroid) {
        url=location.href
    }
    if (isIOS) {
        url=location.href.split('#')[0]  //hash后面的部分如果带上ios中config会不对
    }

  

posted @ 2020-01-06 15:48  土豆冰淇淋  阅读(406)  评论(0编辑  收藏  举报