需求背景:作为服务商,为客户代开发企业微信内的应用。
服务商后台地址:https://open.work.weixin.qq.com/wwopen/developers/home
企业管理后台:https://work.weixin.qq.com/wework_admin/frame

创建应用(前期准备)

登录服务商后台地址,以服务商的身份创建一个代开发应用模板

img

创建好应用模版后,企业用户授权,就会在模板中生成一个代开发应用

img

进入应用的详情页修改了使用配置,就会将应用的应用状态修改为存在未上线版本

img
img

代开发应用上线入口,将应用上线

img
将刚刚修改的应用上线:
img

前端如何调用企微jssdk提供的接口

参考文档(服务商代开发-客户端API-JSSDK):https://developer.work.weixin.qq.com/document/path/96914
sdk的版本是2.3.3

安装jssdk

1
npm install @wecom/jssdk

接口鉴权

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import * as ww from '@wecom/jssdk'
// 企业身份注册
ww.register({
corpId: 'ww7ca4776b2a70000', // 必填,当前用户企业所属企业ID
agentId: 1000247, // 必填,当前应用的AgentID
jsApiList: ['getExternalContact'], // 必填,需要使用的JSAPI列表
getConfigSignature, // 必填,根据url生成企业签名的回调函数
getAgentConfigSignature // 必填,根据url生成应用签名的回调函数
})

async function getConfigSignature(url) {
// 根据 url 生成企业签名
// 生成方法参考 https://developer.work.weixin.qq.com/document/14924
// 调用后端接口,请求以下三个值
return { timestamp, nonceStr, signature }
}
async function getAgentConfigSignature(url) {
// 根据 url 生成应用签名,生成方法同上,但需要使用应用的 jsapi_ticket
return { timestamp, nonceStr, signature }
}

注册了应用签名的回调函数就不会执行企业签名的回调函数了,因为应用身份的注册就是在企业身份注册的基础上新增的企业身份。
注意:

  1. 在调用 JSAPI 前,需要先通过 ww.register 注册当前页面的身份信息
  2. corpId可以通过应用配置的地址参数传入
    1
    2
    3
    4
    ww.register({
    corpId: route.query.corpId as string, // 必填,当前用户企业所属企业ID
    ...
    })
  3. 参数中的回调函数调用时机由 JSSDK 自行控制,开发者无需关心具体调用顺序
  4. 用于生成签名的 jsapi_ticket 属于敏感信息,请在服务端完成签名操作

调用接口

1
2
// 获取当前客户id
ww.getCurExternalContact()

如何获取企微员工信息(Oauth授权)

这个文档在服务端API里,并不在客户端API https://developer.work.weixin.qq.com/document/path/96440
企业微信提供了OAuth的授权登录方式,可以让从企业微信终端打开的网页获取成员(企业微信账号的信息)的身份信息,从而免去登录的环节。

oauth2链接

1
https://open.weixin.qq.com/connect/oauth2/authorize?appid=变量&redirect_uri=变量&response_type=code&scope=snsapi_base&state=变量&agentid=变量#wechat_redirect

授权完会跳转回redirect_uri,返回code参数,利用code调用后端接口,后端去调用企微接口获取用户信息。

使用应用(后期运营方案)

在企业微信后台中从服务商后台切到企业管理后台
企业管理后台是每个企业管理自己内部员工及应用等的后台,注册了企业微信就有这个
服务商后台是可以为其他企业开发应用的服务商,需要再次注册。

在企业管理后台中管理应用

img

将应用配置到聊天工具栏中使用

  1. 选择客户与上下游-聊天工具栏管理
    img
  2. 选择应用
    img
  3. 填写页面地址
    img