收藏
回答

企业微信-企业内部应用-H5 在【微信客户端】下 如何【验签】?

企业微信 企业内部应用H5 在企业微信下 wx.agentConfig 以及后续调用 JS API 使用都正常。以扫一扫为例。

但是如果开启了【微信插件】,就可以从微信联系人里选择企业,然后就可以在微信客户端里点击打开该应用。

此时 agentConfig 会报错 e=-30001

引入文件,调用,都依照下面这个文档。

https://work.weixin.qq.com/api/doc/90000/90136/90515


wx.agentConfig({
    corpid: '', // 必填,企业微信的corpid,必须与当前登录的企业一致
    agentid: '', // 必填,企业微信的应用id (e.g. 1000247)
    timestamp: , // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名,见附录-JS-SDK使用权限签名算法
    jsApiList: ['selectExternalContact'], //必填
    success: function(res) {
        // 回调
         window.wx.scanQRCode....
    },
    fail: function(res) {
        if(res.errMsg.indexOf('function not exist') > -1){
            alert('版本过低请升级')
        }
    }
});


文档最后提到: agentConfig仅在企业微信2.5.0及以后版本支持,微信客户端不支持(微信开发者工具也不支持)

也曾尝试使用 https://res.wx.qq.com/wwopen/js/jsapi/jweixin-1.0.0.js 这个 js。

情况是 企业微信下正常,微信客户端下,不报错,也不回掉成功和失败。

请问这种需求下,该如何验签,并成功调用 wx.scanQRCode。


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

1 个回答

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

    你好,在微信上的 agentConfig 成功后,除了 opendata组件 和 文档上明确写明的一两个接口,其他关于企业微信专有的 jsapi 是不能使用的,config中的部分接口在微信插件调用后是可以在微信调用用的, wx.scanQRCode是可以在微信端调用,在config之后不调用agentconfig看下

    03-10
    有用
    回复 20
    • 路人癸
      路人癸
      03-11
      在 企业微信里,由于版本比较高,所以在 agentConfig 之前并未调用 config,也正常。文档上说 调用wx.agentConfig之前,必须确保先成功调用wx.config. 注意:从企业微信3.0.24及以后版本(可通过企业微信UA判断版本号),无须先调用wx.config,可直接wx.agentConfig.


      在微信里,调用 config,然后 ready 之后,再调用 wx.scanQrCode, alert 报错: ScanQRCode: the permission value is offline verifying.
      03-11
      回复
    • 路人癸
      路人癸
      03-12
      而且我觉得 config 不能成功的。因为 server 端获得 access token 用的 当前 APP 的 app secret,所以 js ticket, signature 都和当前 APP 有关。wx.agentConfig 有 agentId,所以 可以知道 当前 APP 是什么。 但 config 只有 corpID,表面看来,config 的时候 并没有 APP 的相关信息。 但使用的 signature 却和 APP 有关系。
      03-12
      回复
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      03-12回复路人癸
      在微信端调用config,传入js接口列表打印返回是怎样的,能否截图看下,因为是微信端调用config,所以这个查不到日志
      03-12
      回复
    • 路人癸
      路人癸
      03-12回复企业微信运营专员-千夜
      03-12
      回复
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      03-12回复路人癸
      我自己安卓和ios在微信测试了config打印ok,调用接口也是正常的,你这个报错看起来就像是config执行没成功的,没有日志也不太好判断有没有可能scanqrcode没传入jsapilist列表里面,或者不加window全局变量直接调wx.config然后截下图看下config打印是怎样的
      03-12
      回复
    查看更多(15)
登录 后发表内容
问题标签