企业微信sdk调用流程

企业微信JS-SDK 流程图

企微sdk调用

企业微信JS-SDK使用
  1. 创建需要调用企业微信的api列表

所有js接口列表
https://work.weixin.qq.com/api/doc/90001/90144/90540

const jsApiList = [
  "hideMenuItems",            // 批量隐藏功能按钮
  "showMenuItems",            // 批量显示功能按钮
  "hideAllNonBaseMenuItem",   // 隐藏所有非基础按钮
  "showAllNonBaseMenuItem",   // 显示所有功能按钮
  "showOptionMenu",           // 显示菜单项
  "scanQRCode",               // 扫描二维码
  "getLocation"               // 获取经纬度
]

  1. 调用后台api获取配置参数,然后config接口注入权限验证配置
const wxConfig = app_identifier => {
  Api.getConfig({
    identifier: app_identifier,
    url: window.location.href
  }).then(res => {
    if (res.data) {
      wx.config({
        beta: true,
        debug: false,
        appId: res.data.appid,
        timestamp: res.data.timestamp,
        nonceStr: res.data.noncestr,
        signature: res.data.signature,
        jsApiList: jsApiList
      })
      wx.ready(() => {
        console.log("微信sdk成功")
      })
      wx.error(res => {
        console.log(res)
      })
    }
  })
}
  1. 调用agentConfig(看具体情况是否需要)
  1. config注入的是企业的身份与权限,而agentConfig注入的是应用的身份与权限。尤其是当调用者为第三方服务商时,通过config无法准确区分出调用者是哪个第三方应用,而在部分场景下,又必须严谨区分出第三方应用的身份,此时即需要通过agentConfig来注入应用的身份信息。
  2. 调用wx.agentConfig之前,必须确保先成功调用wx.config. 注意:从企业微信3.0.24及以后版本(可通过企业微信UA判断版本号),无须先调用wx.config,可直接wx.agentConfig
    <script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>
    
    wx.agentConfig({
        corpid: '', // 必填,企业微信的corpid,必须与当前登录的企业一致
        agentid: '', // 必填,企业微信的应用id (e.g. 1000247)
        timestamp: , // 必填,生成签名的时间戳
        nonceStr: '', // 必填,生成签名的随机串
        signature: '',// 必填,签名,见附录-JS-SDK使用权限签名算法
        jsApiList: ['selectExternalContact'], //必填
        success: function(res) {
            // 回调
        },
        fail: function(res) {
            if(res.errMsg.indexOf('function not exist') > -1){
                alert('版本过低请升级')
            }
        }
    });
  1. 在router文件调用

同一个url仅需调用一次,对于变化url的可在每次url变化时进行调用,即在路由钩子函数调用

    // 全局后置钩子
router.afterEach(() => {
 
  // 需要 sdk 的地方才需要
  if (to.meta.need_wx_sdk) {
    wxConfig(app_identifier)
  }
})

企业微信文档链接:
https://work.weixin.qq.com/api/doc/90001/90144/90547

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值