Skip to content

开发前须知

概述

企业微信JS-SDK包已被SDK包引入,无需在项目里重复安装。当前SDK支持企业微信JS-SDK包的方法。

企业微信官方文档:https://developer.work.weixin.qq.com/document/path/96914

以下SDK应用于代开发应用模式。

企业微信登录流程图

企业微信登录流程

流程说明

  1. 进入首页 - 用户访问应用首页
  2. 检查本地用户信息 - 判断是否有本地用户信息且是否过期
    • :直接进行企业微信账号登录
    • :请求获取授权网页
  3. 获取授权 - 通过 getAuthUrl 获取重定向URL,用户授权后获得code
  4. 获取用户信息 - 使用code调用 getUserInfo 获取userId和userTicket
  5. 企业注册 - 调用 wxRegister 进行企业身份注册
  6. 账号登录 - 调用 loginFromUserid 进行企业微信账号登录
  7. 登录结果处理
    • 成功:登录成功,进入应用
    • 失败:根据错误码处理
      • 错误码22006912:企业未绑定站点,需要先绑定站点
      • 其他错误:显示相应错误信息
  8. 站点绑定 - 如果企业未绑定站点,需要先进行站点绑定,然后重新登录

关键信息

  • 后台配置:corpId由后台配置并返回给前端
  • userTicket有效期:1800秒(30分钟)
  • 邀请码:由区中心运营平台生成

基础功能

1. 选择通讯录成员

企业微信JS-SDK原生写法:

javascript
ww.selectEnterpriseContact({
  fromDepartmentId: -1,
  mode: 'multi',
  type: ['department', 'user'],
  selectedDepartmentIds: ['2', '3'],
  selectedUserIds: ['lisi', 'lisi2']
})

鸿溟 SDK写法:

typescript
//! 注意,TS版本4^
import type { SelectEnterpriseContactReq } from '@homing/web'

homingClient.wxqy.selectEnterpriseContact({
  fromDepartmentId: -1,
  mode: 'multi',
  type: ['department', 'user'],
  selectedDepartmentIds: ['2', '3'],
  selectedUserIds: ['lisi', 'lisi2']
})

2. 获取当前页面打开场景

调用该接口可以判断用户是从哪个入口打开页面,从而决定是否可以调用客户联系相关的接口。

typescript
//! 注意,TS版本4^
import type { GetContextReq } from '@homing/web'

homingClient.wxqy.getContext({
    success: (res)=> {},
    fail: (res)=> {},
    cancel: (res)=> {},
    complete: (res)=>{}
})

安装和初始化

bash
# 安装企业微信SDK
npm install @homing/web
javascript
// 初始化企业微信客户端
import { HomingClient } from '@homing/web'

const homingClient = new HomingClient({
  // 配置参数
})

基于 MIT 许可证发布