收藏
回答

第三方自建H5应用,为什么JS-SDK在IOS端中只有config能调用,其它的接口都不能调用?

通过在config中开启了debug后测试发现,只有PC端和安卓端上的接口可以调用成功,而IOS端的接口只有config能调用成功,其它的接口均没有调用

// 通过config接口注入权限验证配置
      jWeixin.config({
        beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
        debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
        appId: corpid, // 必填,企业微信的corpID
        timestamp: timestamp, // 必填,生成签名的时间戳
        nonceStr: noncestr, // 必填,生成签名的随机串
        signature: conf_sign, // 必填,签名,见 附录-JS-SDK使用权限签名算法
        jsApiList: ['agentConfig'] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
      });
      
      console.log(jWeixin, 'jWeixin')
      
      jWeixin.ready(() => {
        jWeixin.checkJsApi({
            jsApiList: ['agentConfig', 'getContext', 'getCurExternalContact', 'sendChatMessage'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
            success: function(res) {
              console.log(res)
                // 以键值对的形式返回,可用的api值true,不可用为false
                // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
            }
        });
        // _this.$setStorage('agent1', 'wjp');
        // 通过agentConfig注入应用的权限
        jWeixin.agentConfig({
          corpid: corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
          agentid: agentid, // 必填,企业微信的应用id (e.g. 1000247)
          timestamp: timestamp1, // 必填,生成签名的时间戳
          nonceStr: noncestr1, // 必填,生成签名的随机串
          signature: agent_conf_sign, // 必填,签名,见附录-JS-SDK使用权限签名算法
          jsApiList: ['getContext', 'getCurExternalContact', 'sendChatMessage'], //必填,传入需要使用的接口名称
          success: function(agent) {
            // 获取进入H5页面的入口环境
            // _this.$setStorage('agent2', 'agent');
            // _this.$setStorage('agent', agent);
            jWeixin.invoke('getContext', {}, function(res) {
              if (res.err_msg == "getContext:ok") {
                //返回进入H5页面的入口类型,目前有normal、contact_profile、single_chat_tools、group_chat_tools、chat_attachment
                let entry = res.entry;
                _this.$setStorage('entry', entry);
                if (entry == 'single_chat_tools') {
                  jWeixin.invoke('getCurExternalContact', {}, function(CurExternal) {
                    // _this.$setStorage('getCurExternalContact', CurExternal);
                    if (CurExternal.err_msg == "getCurExternalContact:ok") {
                      getApp().globalData.userId = CurExternal.userId;
                      // _this.$setStorage('CurExternal', CurExternal);
                    } else {
                      // _this.$setStorage('CurExternal1', CurExternal);
                    };
                  });
                };
              };
            });
          },
          fail: function(res) {
            
            if (res.errMsg.indexOf('function not exist') > -1) {
              alert('版本过低请升级')
            }
          }
        });
      });




安卓:


PC:


IOS:

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

1 个回答

  • Meet you
    Meet you
    2021-07-29

    已经找出问题所在,在IOS端中不能使用jWeixin对象

    2021-07-29
    有用 1
    回复 2
登录 后发表内容