收藏
回答

为什么在iso端config检查调用的接口,除了agentConfig通过其他aip全是false?

只有IOS端有问题

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

2 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2021-07-28

    你好,getcontext getcurexternalcontact sendchatmessage这些接口是需要在agentconfig中注入权限的

    2021-07-28
    有用
    回复 28
    • Meet you
      Meet you
      2021-07-28
      你好,我这边是已经在agentconfig注入过权限了
      2021-07-28
      回复
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      2021-07-28回复Meet you
      给下corpid agentid 和调用的时间点看下
      2021-07-28
      1
      回复
    • Meet you
      Meet you
      2021-07-28
      corpid:wwb8cf81f13efcb765; agentid:1000026  调用时间:2021/7/28 11:14
      2021-07-28
      回复
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      2021-07-28回复Meet you
      oReq {"appid":"wwb8cf81f13efcb765","timestamp":"1627442057","noncestr":"2YPFbI4s4zXuitzy","url":"https:\/\/tools.zolerp.cn\/h5\/","signature":"ce5002224571e0ae1ee203b77ba5243b4915b120","jsapilist":["agentConfig"] 看日志是成功的,你把getcontext getcurexternalcontact sendchatmessage 这三个接口在config jsapilist中去掉,这些接口只需要在agentconfig中调用
      2021-07-28
      回复
    • Meet you
      Meet you
      2021-07-28
      你好,辛苦了,不过我这边的config jsapilist中是没有这个几个API的
      2021-07-28
      回复
    查看更多(23)
  • Meet you
    Meet you
    2021-07-30

    通过这几天的调试验证发现以下几点问题:

    1.因使用的是uniapp搭建的项目,uniapp内置的有一个wx对象,导致了JS-SDK中的wx对象不能使用,企业微信Api文档上边说到过也可以使用jWeixin对象,通过调试验证后发现,jWeixin对象,只能用于安卓端、PC端、Mac端,IOS端中不能使用。解决方案如下:以下注释的为解决方案

      <!DOCTYPE html>
    <html lang="zh-CN">
      <head></head>
      <body>
        <noscript>
          <strong>Please enable JavaScript to continue.</strong>
        </noscript>
      </body>
      <script>
        // 处理uni内部自带wx对象
        window.wx = {};
      </script>
      <!-- 先处理uni内置对象后在引用 -->
      <!-- 引入企业微信的JS-SDK开始 -->
      <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
      <script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>
      <!-- 引入企业微信的JS-SDK结束 -->
    </html>
    

    2.由于IOS端是延迟注入的,如需使用agentConfig接口的话,会出现agentConfig接口调用不起来,有两种解决方案,解决方案如下:

    1.使用定时器,延迟调用,0.5s就可以。

    setTimeout(() => {
            wx.agentConfig({
              corpid: _this.data.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
              agentid: _this.data.agentid, // 必填,企业微信的应用id (e.g. 1000247)
              timestamp: _this.data.timestamp1, // 必填,生成签名的时间戳
              nonceStr: _this.data.noncestr1, // 必填,生成签名的随机串
              signature: _this.data.agent_conf_sign, // 必填,签名,见附录-JS-SDK使用权限签名算法
              jsApiList: ['getContext', 'getCurExternalContact', 'sendChatMessage'], //必填,传入需要使用的接口名称
              success: function(agent) {
                // wx.ready(function() {
                //   resolve(agent);
                // })
              }
            });
          }, 500)
    

    2.把agentConfig放在config的ready方法中即可。

    wx.ready(function() {
            wx.agentConfig({
              corpid: _this.data.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
              agentid: _this.data.agentid, // 必填,企业微信的应用id (e.g. 1000247)
              timestamp: _this.data.timestamp1, // 必填,生成签名的时间戳
              nonceStr: _this.data.noncestr1, // 必填,生成签名的随机串
              signature: _this.data.agent_conf_sign, // 必填,签名,见附录-JS-SDK使用权限签名算法
              jsApiList: ['getContext', 'getCurExternalContact', 'sendChatMessage'], //必填,传入需要使用的接口名称
              success: function(agent) {
              }
            })
          })
    

    总结:既然官方已经把jWeixin抛出来使用了,就请把IOS端没有jWeixin对像的问题解决一下。。。

    2021-07-30
    有用 3
    回复 3
    • 平帆的帆
      平帆的帆
      2022-02-16
      延迟0.5秒也好像不行
      2022-02-16
      回复
    • Meet you
      Meet you
      2022-04-14回复平帆的帆
      我这边0.5s是可以的,你可以调整到1s,或者用第二种方法也可以呀
      2022-04-14
      回复
    • 黑
      2024-06-19
      测试` window.wx = {};`并不起作用,最终用了官方的另一个库[WECOM-JSSDK](https://developer.work.weixin.qq.com/document/path/98560)解决了。
      2024-06-19
      回复
登录 后发表内容