websocket
申请连接token: /websocketTokens POST
返回示例:
{
"type": "CONSOLE_WEB",
"token": "626f3c0fbfc3bf3173a31389160c4664",
"visitorId": "6e105d89t96bbt4d0et9766t72f758231f85"
}
websocket链接地址:
- 开发环境:ws://websocket-dev.sumian.tech
- 测试环境:ws://websocket-test.sumian.tech
- 生产环境:ws://websocket.sumian.tech
websocket客户端连接采用socket.io-client (4.4.1)
websocket链接示例:
const socket = io(
`${websocketDomain}?token=${token}&type=${type}&visitorId=${visitorId}`,
{
transports: ['websocket'],
}
);
socket.on('connect', () => {
console.log('---connect-socket--');
});
socket.on('event', (data) => {
console.log(data);
});
socket.on('error', (error) => {
console.log('---error', error);
});
socket.on('connect_error', (error) => {
console.log(error);
});
socket.on(SocketEvent.OrderMsg, (msg) => {
console.log('-------socket', JSON.parse(msg));
});
websocket支持事件:
export enum SocketEvent {
DownLoadFile = 'DOWNLOAD_FILE',
// 开始同步企业微信部门
SyncWorkWechatDept = 'SYNC_WORK_WECHAT_DEPT',
// 开启同步企业微信部门响应事件
SyncWorkWechatDeptRes = 'SYNC_WORK_WECHAT_DEPT_RESPONSSE',
// 同步企微部门成功
SyncWorkWechatDeptSuccess = 'SYNC_WORK_WECHAT_DEPT_SUCCESS',
// 同步企微部门失败
SyncWorkWechatDeptFailed = 'SYNC_WORK_WECHAT_DEPT_FAILED',
// 开始同步企业微信用户
SyncWorkWechatUser = 'SYNC_WORK_WECHAT_USER',
// 开启同步企业微信用户的响应事件
SyncWorkWechatUserRes = 'SYNC_WORK_WECHAT_USER_RESPONSSE',
// 同步企微通讯录用户成功
SyncWorkWechatUserSuccess = 'SYNC_WORK_WECHAT_USER_SUCCESS',
// 同步企微通讯录用户失败
SyncWorkWechatUserFailed = 'SYNC_WORK_WECHAT_USER_FAILED',
// 生成PDF文件
GeneratePDF = 'GENERATE_PDF',
GeneratePDFRes = 'GENERATE_PDF_RES',
GeneratePDFSuccess = 'GENERATE_PDF_SUCCESS',
GeneratePDFFailed = 'GENERATE_PDF_FAILED',
}
对应事件的参数:
// GENERATE_PDF
{
"visitorId": "6e105d89t96bbt4d0et9766t72f758231f85", // 访问者id
"data": {
"memberEvaluationId": 1, // 患者测评id
"teamEvaluationId": 2 // 团队测评id
}
}
对应事件的返回参数
// SYNC_WORK_WECHAT_DEPT
{
"code": "ok",
"taskId": "0fed6fc5-1a4a-49ab-b3e8-5721d2c04126"
}
// SYNC_WORK_WECHAT_DEPT_SUCCESS
{
"code": "ok",
"taskId": "0fed6fc5-1a4a-49ab-b3e8-5721d2c04126", // 对应任务的id
"errorData": [], // 同步失败的数据
"successCounter": 0 // 同步成功的数据数量
}
// SYNC_WORK_WECHAT_DEPT_FAILED
{
"code": "UNKNOWN", // 根据业务流程返回不同错误码,详见Code对照表
"taskId": "0fed6fc5-1a4a-49ab-b3e8-5721d2c04126", // 对应任务的id
"message": "", // 失败描述
}
// SYNC_WORK_WECHAT_USER
{
"code": "ok",
"taskId": "0fed6fc5-1a4a-49ab-b3e8-5721d2c04126"
}
// SYNC_WORK_WECHAT_USER_SUCCESS
{
"code": "ok",
"taskId": "0fed6fc5-1a4a-49ab-b3e8-5721d2c04126", // 对应任务的id
"errorData": [], // 同步失败的数据
"successCounter": 0 // 同步成功的数据数量
}
// SYNC_WORK_WECHAT_USER_FAILED
{
"code": "UNKNOWN", // 根据业务流程返回不同错误码,详见Code对照表
"taskId": "0fed6fc5-1a4a-49ab-b3e8-5721d2c04126", // 对应任务的id
"message": "", // 失败描述
}