1. CRITICAL: 前端路由权限守卫 — routePermissions 从 3 条扩展到 31 条, 覆盖全部 /health/* 路由;匹配逻辑从宽松模块级前缀改为精确权限码匹配 2. HIGH: health-data API 500 — jsonb_array_elements() 添加 CASE WHEN 类型守卫, 防止 items 字段为非数组 JSON 时崩溃 3. MEDIUM: Doctor 补充 ai.prompt.list、ai.usage.list、follow-up-templates 权限 4. Operator 清理 AI 分析、统计报表菜单关联 5. 更新 5 角色测试计划文档
5.8 KiB
5.8 KiB
R05 — Operator(运营人员)业务场景测试计划
角色: operator | 测试账号: operator_test / Admin@2026 | 菜单数: 24 | 重点: 内容运营与积分商城
1. 登录 & 仪表盘
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| 1.1 | 登录 | 输入 operator_test / Admin@2026 | 成功登录,左侧菜单 24 项 | ☐ |
| 1.2 | 运营仪表盘 | 查看首页 | 显示"运营仪表盘":运营洞察、积分动态(今日发放/消费)、内容矩阵(已发布/草稿)、今日待办 | ☐ |
| 1.3 | AI 摘要 | 查看顶部 AI 摘要 | 显示 AI 生成的运营重点摘要 | ☐ |
| 1.4 | 快捷操作 | 查看按钮 | 审核积分订单、发布新文章、推送活动提醒 | ☐ |
2. 场景 A — 患者与标签管理
业务链: 管理标签 → 查看患者(只读)
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| A.1 | 标签管理 | /health/tags → 新增"术后康复"标签 → 编辑 → 保存 | 标签 CRUD 正常(有 tags.manage) | ☐ |
| A.2 | 患者列表 | /health/patients → 查看列表 | 只读查看,确认新增按钮是否隐藏(有 patient.list 无 manage) | ☐ |
| A.3 | 患者搜索 | 搜索框输入 → 标签筛选 | 搜索和筛选正常 | ☐ |
交接点: 标签创建后,医护角色可在患者筛选中使用。
3. 场景 B — 内容发布链
业务链: 创建文章 → 编辑 → 提交审核 → 发布 → 验证已发布
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| B.1 | 创建文章 | /health/articles → 新增 → 填写标题/内容 → 保存草稿 | 文章状态 draft | ☐ |
| B.2 | 编辑文章 | 点击草稿 → 修改内容 → 保存 | 内容更新 | ☐ |
| B.3 | 发布文章 | 点击发布 | 状态 draft → published(有 articles.manage 和 articles.review) | ☐ |
| B.4 | 内容矩阵 | 回到运营仪表盘 → 查看内容矩阵 | 已发布/草稿数量更新 | ☐ |
交接点: 已发布文章患者端小程序可见。
4. 场景 C — 积分商城链
业务链: 配置积分规则 → 上架商品 → 查看订单
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| C.1 | 积分规则 | /health/points-rules → 查看 → 编辑规则 | 可管理积分规则 | ☐ |
| C.2 | 新增商品 | /health/points-products → 新增 → 填写名称/积分/库存 → 保存 | 商品出现在列表 | ☐ |
| C.3 | 订单管理 | /health/points-orders → 查看订单列表 | 显示兑换订单 | ☐ |
| C.4 | 积分动态 | 回到运营仪表盘 → 查看积分动态 | 今日发放/消费数据更新 | ☐ |
交接点: 商品上架后,患者端小程序积分商城可见可兑换。
5. 场景 D — 线下活动链
业务链: 创建活动 → 查看报名 → 管理
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| D.1 | 创建活动 | /health/offline-events → 新增 → 填写名称/时间/地点 → 保存 | 活动创建成功 | ☐ |
| D.2 | 查看活动 | 列表查看活动详情 | 显示报名人数、活动状态 | ☐ |
6. 场景 E — 设备与告警查看
业务链: 查看设备状态 → 查看告警统计
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| E.1 | 设备管理 | /health/devices → 查看列表 | 只读查看(无 devices.manage) | ☐ |
| E.2 | 告警仪表盘 | /health/alert-dashboard → 查看 | 只读查看(只有 alerts.list,确认操作按钮不可用) | ☐ |
7. 场景 F — AI 用量
业务链: 查看 AI 调用统计
| # | 步骤 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| F.1 | AI 用量 | /health/ai-usage → 查看 | 只读查看 AI 调用量 | ☐ |
8. 消息
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| 8.1 | 消息列表 | /messages → 查看 | 只读消息列表 | ☐ |
9. 权限边界验证
operator 不应访问的模块
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| 9.1 | 无用户管理 | 地址栏输入 /users | 403 | ☐ |
| 9.2 | 无医护管理 | 地址栏输入 /health/doctors | 403 | ☐ |
| 9.3 | 无随访管理 | 地址栏输入 /health/follow-up-tasks | 403 | ☐ |
| 9.4 | 无咨询管理 | 地址栏输入 /health/consultations | 403 | ☐ |
| 9.5 | 无诊断记录 | 地址栏输入 /health/diagnoses | 403 | ☐ |
| 9.6 | 无行动收件箱 | 地址栏输入 /health/action-inbox | 403 | ☐ |
| 9.7 | 无知情同意 | 地址栏输入 /health/consents | 403 | ☐ |
| 9.8 | 无 AI 分析 | 地址栏输入 /health/ai-analysis | 403 | ☐ |
| 9.9 | 无系统设置 | 地址栏输入 /settings | 403 | ☐ |
10. 跨角色协作验证
| # | 协作场景 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| X.1 | 标签共享 | 新建标签 → 用 doctor 账号验证 | doctor 可在患者筛选中使用新标签 | ☐ |
| X.2 | 内容发布同步 | 发布文章 → 验证患者端可见 | 小程序患者端可见已发布内容 | ☐ |
| X.3 | 积分订单联动 | 患者兑换商品 → 查看订单 | 订单出现在积分订单列表 | ☐ |
11. 小程序端(患者视角)
operator 不在医护列表中,以普通患者身份使用小程序
| # | 测试项 | 操作 | 预期结果 | 通过 |
|---|---|---|---|---|
| 11.1 | 登录跳转 | operator_test 登录小程序 | 跳转到患者首页(isMedicalStaff=false) | ☐ |
| 11.2 | 患者首页 | 查看首页 | 显示体征完成度、今日待办、快捷操作(普通患者视图) | ☐ |
测试结果
- 测试人: _________
- 测试日期: _________
- 通过数: ___ / 总数: ___
- 问题记录: