记企业微信调用wx.getContent判断进入H5页面的入口环境

首先引用所需要的js文件

<!-- config -->
<script src="//res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<!-- agentConfig -->
<script type="text/javascript" src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>

获取config的配置信息,配置成功后在调用你所需要调用企业微信的接口

注意:如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。

调用agentConfig(注入的是应用的身份与权限)时要在config(注入的是企业的身份与权限)信息配置成功后在配置(注意:从企业微信3.0.24及以后版本(可通过企业微信UA判断版本号),无须先调用wx.config,可直接wx.agentConfig.)

wx.agentConfig({
          beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
          // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
          // debug: true,
          // 必填,企业微信的corpid,必须与当前登录的企业一致
          corpid: data.wx_corpid,
          // 必填,公众号的唯一标识
          agentid: data.wx_agentid,
          // 必填,生成签名的时间戳
          timestamp: data.sign.timestamp,
          // 必填,生成签名的随机串
          nonceStr: data.sign.nonceStr,
          // 必填,签名
          signature: data.sign.signature,
          // 必填,需要使用的JS接口列表,所有JS接口列表
          jsApiList: ["checkJsApi", "getContext", "getCurExternalContact"],
          success: function(res) {
            _this.checkJsApi()
          }
        })

 checkJsApi:当前客户端版本是否支持指定JS接口

wx.checkJsApi({
    jsApiList: ['chooseImage'], // 需要检测的JS接口列表
    success: function(res) {
        // 以键值对的形式返回,可用的api值true,不可用为false
        // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
    }
});

成功后调用wx.getContext接口,获取进入的信息,通过wx.getCurExternalContact获取用户id获取数据,后面就根据业务逻辑写就好了

checkJsApi() {
      const _this = this
      wx.checkJsApi({
        jsApiList: [ "getContext", "getCurExternalContact"], // 需要检测的JS接口列表
        success: function (res) {
          // 以键值对的形式返回,可用的api值true,不可用为false
          // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
          let obj = res.checkResult;
          wx.invoke('getContext', {}, function(res){
            if(res.err_msg == "getContext:ok"){
              // single_kf_tools  客服工具栏进入
              // entry  = res.entry ; //返回进入H5页面的入口类型,目前有normal、contact_profile、single_chat_tools、group_chat_tools、chat_attachment
              if (res.entry === 'single_kf_tools') {
                _this.getUserId()
              }
            }else {
              //错误处理
              _this.$toast('请从微信客服端进入!')
            }
          });
        },
      });
    },
    getUserId() {
      const _this = this
      wx.invoke('getCurExternalContact', {}, function(res){
        if (res.err_msg == "getCurExternalContact:ok") {
          _this.userId  = res.userId ; //返回当前外部联系人userId
          const params = {
            company_id: localStorage.getItem("company_id") || Cookies.get('company_id'),
            weixin_id: _this.userId
          }
          _this.getData(params)
        } else {
          //错误处理
          console.log('getCurExternalContact:err')
          // window.alert(res)
        }
      });
    }

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值