模块说明
health 提供健康档案体系:会员侧登记健康档案(字段配置驱动 + 草稿令牌上传)、查看详情(含随访记录)、在允许时编辑;工作端(随访端)检索档案、查看详情、维护随访记录。
鉴权级别:会员侧全部必须登录;工作端必须员工身份(health 模块权限)。
接口一览
会员侧
| 方法 | URL | 鉴权 | 说明 |
|---|---|---|---|
| GET | /api/health |
公开 | 模块入口(占位,返回空数据) |
| GET | /api/user/health |
必须 | 我的档案列表 |
| GET | /api/user/health/apply |
必须 | 登记表单数据 |
| POST | /api/user/health/apply_post |
必须 | 提交登记 |
| GET | /api/user/health/{id} |
必须 | 档案详情(含随访) |
| GET | /api/user/health/{id}/edit |
必须 | 编辑表单数据 |
| POST | /api/user/health/edit_post |
必须 | 提交修改 |
工作端(work_required)
| 方法 | URL | 鉴权 | 说明 |
|---|---|---|---|
| GET | /api/health/work |
员工 | 档案列表(状态/关键词筛选) |
| GET | /api/health/work/{id} |
员工 | 档案详情(含随访) |
| POST | /api/health/work/followup_add |
员工 | 新增随访 |
| POST | /api/health/work/followup_update |
员工 | 修改随访(仅本人创建) |
| POST | /api/health/work/followup_delete |
员工 | 删除随访(仅本人创建) |
会员侧接口
档案列表 GET /api/user/health
参数 page;返回 title、health_list、pager。
登记表单 GET /api/user/health/apply
{
"code": "OK",
"message": "",
"data": {
"title": "健康登记",
"groups": [ { "name": "基本信息", "fields": [ { "slug": "name", "type": "text", "...": "" } ] } ],
"draft_token": "d1f2e3...",
"img_list": [ "...草稿图集..." ]
},
"errors": {},
"request_id": "9f2a5c8e1b3d7f40"
}
groups为分组字段配置(客户端据此动态渲染表单);- 图片类字段(
type=gallery)先行上传到draft_token草稿。
提交登记 POST /api/user/health/apply_post
| 参数 | 必填 | 说明 |
|---|---|---|
draft_token |
是 | 登记表单下发的草稿令牌 |
| 各字段 slug | 是 | 按 groups 配置以字段 slug 为键提交(数组值自动转逗号拼接) |
{
"code": "OK",
"message": "登记成功",
"data": { "id": 5 },
"errors": {},
"request_id": "9f2a5c8e1b3d7f40"
}
提交失败 → 422 BUSINESS_RULE_VIOLATION(health_apply_wrong)。
档案详情 GET /api/user/health/{id}
返回 title、health(档案数据)、followup_groups(随访记录分组)、edit_url(可编辑时的编辑地址,小程序形态)。
| 场景 | 响应 |
|---|---|
| 不存在或非本人 | 404 NOT_FOUND(health_no_permission) |
编辑 GET /api/user/health/{id}/edit + POST /api/user/health/edit_post
- 编辑表单仅在档案
allow_edit为真时可见,否则403 FORBIDDEN(health_edit_locked); - 提交修改参数:
id+ 各字段 slug(同登记);成功message=修改成功;allow_edit为假时403 FORBIDDEN。
工作端接口
- 列表
GET /api/health/work:筛选参数status、keyword、page;返回health_list、status_list、pager; - 详情
GET /api/health/work/{id}:返回health、followup_groups、current_user_id(当前员工 ID,用于前端标记"本人随访");不存在404 NOT_FOUND; - 新增随访
POST /api/health/work/followup_add:参数id(档案 ID)、stage、visit_date、wear_note(佩戴备注)、analysis(分析)、tech_action(技术措施);缺id/visit_date/analysis/tech_action→422 INVALID_PARAMS(health_followup_required);成功data.followup_id; - 修改随访
POST /api/health/work/followup_update:参数followup_id+ 随访字段;仅本人创建的随访可改,否则403 FORBIDDEN; - 删除随访
POST /api/health/work/followup_delete:参数followup_id;仅本人创建的随访可删,否则403 FORBIDDEN。
注意事项
- 登记表单为配置驱动:字段与分组来自服务端
groups,客户端应动态渲染,勿硬编码字段; - 图片字段走草稿令牌:先
apply拿draft_token→ 上传图片 →apply_post携带令牌提交; - 档案编辑受
allow_edit开关控制(业务侧设定可编辑窗口),被锁定统一403; - 随访修改/删除有归属限制(仅创建者本人),非本人操作返回
403 health_no_permission。