消息模块
概述
基础的消息模块,各推送方式均基于这个模块进行扩展和管理。
可以建立多种类型的消息推送渠道和方式,消息推送以任务的形式进行管理。(可视化配置页可自行扩展)

数据库表
任务表
| 名称 | 含义 |
|---|---|
| _id | 任务id,系统自动生成 |
| name | 任务名 |
| type | 推送任务类型 |
| pushAddress | 推送地址 |
| triggerHook | 触发时机 |
| surveys | 绑定的问卷id,为空则通用 |
| ownerId | 任务创建者id |
任务Log表
| 名称 | 含义 |
|---|---|
| _id | 推送记录id,系统自动生成 |
| request | 推送的body数据 |
| response | 响应的数据 |
| status | http状态码 |
API
创建推送任务
POST /api/messagePushingTasks
Request
| 名称 | 含义 | 类型 | 是否必填 | 默认值 |
|---|---|---|---|---|
| name | 任务名称 | String | Y | |
| type | 任务类型 | String | Y | |
| pushAddress | 推送地址 | http | ... | Y | |
| triggerHook | 触发时机 | response_inserted | ... | Y | |
| surveys | 问卷IDs | String[] | N | [] |
Response
| 名称 | 含义 | 类型 |
|---|---|---|
| taskId | 任务ID | String |
示例
{
code: 200,
data: {
taskId: ...,
}
}
扩展
通信类型
1、类型定义
在 enums\messagePushing.ts 的 MESSAGE_PUSHING_TYPE 定义扩展的类型。
2、通信逻辑
在 utils 里扩展通信逻辑实现,如 utils/httpRequest.ts。
触点事件
1、类型定义
在 enums\messagePushing.ts 的 MESSAGE_PUSHING_HOOK 定义扩展的类型。
2、事件逻辑
在message模块实现逻辑,如 runResponseDataPush 供外部模块调用。