收藏
回答

ios14 wx.config报invalid signature?

公众号网页,经测试只有ios14出现问题,直接从域名进去是正常可以调用接口的,域名后加上具体路径就会报错

回答关注问题邀请回答
收藏

4 个回答

  • Cs
    Cs
    2022-03-03

    遇到这个问题首先是困惑,安卓可以,苹果不可以,然后查找文档,验证你们一个个尝试的结果,但是没有描述明白;

    打开小程序我这边实现了原生安卓、苹果和公众号,唯独这个公众号iOS端打开小程序掉坑

    总结修复问题:

    vue环境

    1.依赖必须是最新的这个,另外一个1.0的jsapi不能引用,否则两个在一起默认会用jsapi的(坑) 
    "weixin-js-sdk": "^1.6.0"
    
    2.在App.vue中的mounted中将首次启动地址存储
    window.localStorage.setItem('scanCodeUrl', location.href)
    
    3.在获取wx.config配置各种参数通过上面存储的url地址去进行校验。
    
    2022-03-03
    有用 2
    回复
  • 阮洋
    阮洋
    2021-09-09

    亲测有效,vue如果采用的是history路由,第一个页面(首次进入页面),就是授权验证成功的页面(可以简单理解为登录页)

    2021-09-09
    有用 1
    回复
  • 幽海
    幽海
    2020-11-11

    目前我这边解决了,主要因为ios 14对于不同源的请求隐藏了referer的具体路径,导致 接口获取此路径生成签名与当前访问的地址不一致,导致签名失败。解决方案: 手动传递给签名接口,当前页面的地址,具体页面地址要求可以参考微信文档

    2020-11-11
    有用
    回复 6
    • Monsterwolf
      Monsterwolf
      2020-12-18
      能看下代码?
      2020-12-18
      回复
    • 上善若水
      上善若水
      2020-12-24
      您好能提供一些代码看一下吗?遇到同样的问题了
      2020-12-24
      回复
    • 史恪
      史恪
      2020-12-28
      你好,请问能提供相关代码么?遇到了相同的问题
      2020-12-28
      回复
    • p.p
      p.p
      2021-01-12
      简单总结下吧   在第一个页面获取location.href.split('#')[0]  缓存下来  后续调用config的时候  如果是ios14 或更高(兼容后续ios升级一下); 就使用刚才缓存的  如果不是ios14  就直接location.href.split('#')[0]
      2021-01-12
      1
      回复
    • p.p
      p.p
      2021-01-12回复Monsterwolf
      暂时不知道微信后续是否会修复这个bug   修复了这段代码应该就得去掉了吧 ,挖个坑 看看微信后续怎么解决 是兼容呢?  还是修复了 这个代码直接报invalid signature
      2021-01-12
      回复
    查看更多(1)
  • Riven.
    Riven.
    2020-11-09

    你好,麻烦提供复现问题的链接

    2020-11-09
    有用
    回复 5
登录 后发表内容
问题标签