使用企业微信的jsdk调用企业微信api--前端

引入配置信息

  1. 接口获取配置信息
api.getWxConfigParams({
   corpId: Config.corpId,
   ticketType: 2,
   url: encodeURIComponent(window.location.href.split('#')[0]),
   f: 1// 游客态可以查询
}).then(res => {
    if (res.code === 0) {
      const { appId, nonceStr, signature, timeStamp } = res.data
    //执行第二步
    } else {
      console.error(res.msg)
    }
})
  1. 配置需要使用的功能
// 企业级注入
const data = {
  beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
  debug: false,
  appId,
  nonceStr,
  signature,
  timestamp,
  jsApiList: [...jsApiList] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
}
wx.config(data)

// 应用级注入
const data = {
  corpid: corpId, // 必填,企业微信的corpid,必须与当前登录的企业一致
  agentid: agentId + '', // 必填,企业微信的应用id (e.g. 1000247)
  timestamp, // 必填,生成签名的时间戳
  nonceStr, // 必填,生成签名的随机串
  signature, // 必填,签名,见附录-JS-SDK使用权限签名算法
  jsApiList: [...agentJsApiList], // 必填
  success: function (res) {
    console.warn('injectAgentConfig success', res)
    success && success()
  },
  fail: function (res) {
    console.error('injectAgentConfig fail', res)
    fail && fail()
  }
}
wx.agentConfig(data)
  1. 隐藏微信自带菜单项
wx.ready(function() {
  wx.hideMenuItems({
      menuList: ["menuItem:copyUrl","menuItem:editTag","menuItem:delete","menuItem:originPage","menuItem:readMode", "menuItem:openWithQQBrowser", "menuItem:openWithSafari","menuItem:share:email","menuItem:share:brand","menuItem:share:qq","menuItem:share:QZone"] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮
  });
});

// 传播类
// 发送给朋友: "menuItem:share:appMessage"
// 分享到朋友圈: "menuItem:share:timeline"
// 分享到QQ: "menuItem:share:qq"
// 分享到Weibo: "menuItem:share:weiboApp"
// 收藏: "menuItem:favorite"
// 分享到FB: "menuItem:share:facebook"
// 分享到 QQ 空间/menuItem:share:QZone

// 保护类
// 编辑标签: "menuItem:editTag"
// 删除: "menuItem:delete"
// 复制链接: "menuItem:copyUrl"
// 原网页: "menuItem:originPage"
// 阅读模式: "menuItem:readMode"
// 在QQ浏览器中打开: "menuItem:openWithQQBrowser"
// 在Safari中打开: "menuItem:openWithSafari"
// 邮件: "menuItem:share:email"
  1. 注意点
// 1. 应用级注入要保证已经注入了企业级,并且agentConfig是企业级jsApiList中的一种功能,需要添加,一般企业级的功能和微信差不多,这里就不描述了,具体可以查看开发文档
// 2. 应用级的jsApiList中有 将H5页面通过个人群发发送给客户(shareToExternalContact)、聊天工具栏分享消息到会话(sendChatMessage)、打开添加客户页面(navigateToAddCustomer)等功能,使用时可以对应文档添加(注:企微开发文档中提供的api记得查看是在那个注入下,使用时添加到对应的jsApiList下)
// 3. 企业微信的api不是每一个都需要使用agentConfig,需注意每个接口的说明
// 4. jsdk开发文档中没有提供失败的回调,那么一般来说就没有失败的回调,文档中对回调事件中指定的if判断可能不准确
// 5. jsdk文件最好是入口文件引入,如果企业微信端和微信端都有,建议分包,不用js逻辑进入,不然会由于js异步(网络加载慢时)导致页面加载是使用wx报错

注: 同一个页面不能重复引入配置信息,回导致配置失效;禁用企业微信右上角三个点的时候,一般要先在配置信息里隐藏再显示,且配置只适合当前操作页面,跳转后如果需要隐藏需要重新配置

具体功能可以参考企业微信开发文档企业微信jsdk-api-dome文档

企业微信开发本地代理–charles

1.下载安装charles
在马可波罗上下载对应的安装包,解压后会看见一个 SN.rtf 文件里面有注册号,安装提示需要填入注册号的时候填入即可,下载地址如下:mac破解版下载
2.charles代理配置
配置代理接收设置----配置代理地址----开启本地代理
抓取http/https配置
配置代理地址
开启本地代理
设置好对应的代理地址,打开对应的企业微信内置应用,就能把企业微信代理到电脑本地进行开发调试了.由于没有使用微信开发者工具开发企业微信,所以前期会先使用mock登录的方式开发联调,基本通了之后会上测试环境进行调测,这个时候就要使用上述方式进行修改,特别是一些只运行在企微环境的api
3.手机代理本地
手机代理本地需要下载对应的证书,先保证手机运行的环境和电脑在同一个局域网下,一般保证同一个Wi-Fi即可,选中对应的wifi之后打开手动代理,修改代理的ip和端口,如下图大码的部分即为需要修改的ip,端口一般都是8888.点击代理之后charles会弹出一个是否允许代理的弹框,点击allow即可.证书的下载地址为图下红框标注的地方,以小编红米手机为例,用非手机自带浏览器打开即可安装,如果不能安装可以先把证书下载到本地,之后使用 从SD卡安装 安装,安装好中后配置对应的手机代理即可.如果所有都检查之后发现还是没有代理到,可以多在手机上刷新几次.
手机代理本地
下载证书到电脑

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值