收藏
回答

企业微信调用JSSDK wx.agentConfig 签名 安卓正常,IOS失败?

JSSDK版本 1.2.0

IOS系统版本 13.0

企业微信版本 3.0.11

安卓系统 wx.agentConfig 签名通过,IOS系统 wx.config 签名通过,wx.agentConfig 签名失败


报错提示:agentConfig fail premission denied,但是刷新一下就通过了。为什么呢?安卓系统为啥不刷新也能通过?

最后一次编辑于  2020-03-07
回答关注问题邀请回答
收藏

5 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2020-03-09

    您好,请问两边使用的代码是否是同一套呢,可以提供下截图 corpid 调试userid 调试时间看看

    2020-03-09
    有用
    回复 10
    • 张艳敏
      张艳敏
      2020-03-18
      两边的代码是同一套,ios 系统需要刷新一下才能通过验证,是和refer 有关系么?如果是的话 安卓和PC 不刷新也是正常的呢
      2020-03-18
      回复
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      2020-03-18回复张艳敏
      您好,可以提供下agentconfig这里的代码片段看看
      2020-03-18
      回复
    • 张艳敏
      张艳敏
      2020-03-19
      wx.agentConfig({
          corpid: 'wxfbca7d8fb03e4ac6', 
          agentid: 1000140, 
          timestamp: 1584582266, 
          nonceStr: '4sXoEBL3sK', 
          signature: '7857ebcc742b435a6e7b6dfe2caf7db1f220ae18',
          jsApiList: ['getCurExternalContact'], 
          success: function(res) {
          },
          fail: function(res) {
              if(res.errMsg.indexOf('function not exist') > -1){
                  alert('版本过低请升级');
                  _this.$router.push('/login');
              }
          }
      })  这样可以么?
      2020-03-19
      回复
    • 我是谁
      我是谁
      2020-04-02
      请问有调研结果么,我们是反过来的情况,同样的代码,IOS可以注入agentConfig成功,安卓要刷一下,第二次才能成功,第一次不触发回调也不报错

      JSSDK版本 1.6.0
      IOS系统版本 13.4
      安卓系统版本 9


      企业微信版本 2.4.2
      2020-04-02
      回复
    • 这样
      这样
      2020-05-07回复张艳敏
      这个问题解决了没? 我也出现这个情况
      2020-05-07
      回复
    查看更多(5)
  • 2022-01-11

    我这边也遇到了,这个只有iOS的微信有问题,安卓的微信和安卓或iOS的企业微信都没有问题。

    当获取签名的时候,我们一般是用的当前页面的window.location.href做为url去生成签名,比如当前页面是https://mydomain/home/B.html。但是iOS中的微信JSSDK wx.config在验证签名的时候不是获取了当前页面的url,而是使用了缓存的第一个页面的url来进行的,所以会出现签名错误。

    现象:

    用户进入A页面,A页面的URL config是正常的,如果这个时候进入了B页面,如果B页面也config并设置了分享,B页面的就是错的。但是如果刷新B页面,B页面就又好了。

    解决方案:

    在第一次进入应用的时候,记录第一个url到localstorage(firstURL),然后在生成签名的时候判断下,如果是iOS系统并且在微信内,生产签名的url使用firstURL。否则使用window.location.href


    如果你的应用是单页面应用(url中通过#进行hash),不会出现该现象,因为#之前的原始url是不变的。

    2022-01-11
    有用 1
    回复 1
    • 养乐多
      养乐多
      2022-01-13
      url已处理过#,安卓和pc都是可以使用的。之前开发的时候是全都可以的,今天看了一眼又注入不上了
      2022-01-13
      1
      回复
  •         
            
    2022-06-14

    2022-06-14
    有用
    回复
  • 宁缺毋滥
    宁缺毋滥
    2021-03-03

    找到问题了 ,wx.agentConfig的jsApiList中selectExternalContact这类的jsapi 在wx.Config的jsApiList中没有授权,授权就可以了

    2021-03-03
    有用
    回复
  • 曾安云
    曾安云
    2020-08-24

    企业微信版本 3.0.28,ios 13.1.1,也是不好使。安卓就可以。

    

    2020-08-24
    有用
    回复
登录 后发表内容
问题标签