tyt-api-nest/docs/frontend-api-integration.md
EL 64d1ad7896 新增主任范围校验:仅可操作同医院同科室的 DOCTOR 账号
限制主任变更:禁止将医生改为其他角色,禁止跨科室调整归属
新增 DIRECTOR_SCOPE_FORBIDDEN 统一错误文案
前端权限同步:主任可进入用户页,页面文案调整为“医生管理”
前端交互同步:主任创建/编辑时角色固定为医生,医院与科室范围锁定
仪表盘统计按角色收敛,主任视角展示本科室医生相关统计
补充 e2e 场景覆盖与接口文档说明"
2026-03-19 11:08:36 +08:00

3.5 KiB
Raw Blame History

前端接口接入说明(tyt-admin

1. 本次接入范围

  • 登录页:/auth/login,支持可选 hospitalId
  • 首页看板:按角色拉取组织与患者统计。
  • 设备页:新增管理员专用设备 CRUD复用真实设备接口。
  • 任务页:接入 publish/accept/complete/cancel 四个真实任务接口。
  • 用户页:修复用户列表响应结构、组织字段联动、工程师分配医院参数。
  • 患者页:接入真实患者字段与生命周期查询参数(phone + idCard 后端直接保存身份证号原文,不再做哈希转换。

2. 接口契约对齐点

  • GET /users 当前返回数组,前端已在 api/users.js 做本地分页与筛选适配。
  • PATCH /b/users/:id/assign-engineer-hospital 参数为单个 hospitalId,非数组。
  • GET /b/patients 返回数组,前端已改为本地分页与筛选。
  • GET /b/devices 已支持服务端分页与筛选,前端直接透传 page/pageSize
  • GET /c/patients/lifecycle 必须同时传 phoneidCard
  • 患者表单中的 idCard 字段直接传身份证号; 服务端只会做去空格与 x/X 标准化,不会转哈希。
  • 任务模块暂无任务列表接口,前端改为“表单操作 + 最近结果”模式。

3. 角色权限提示

  • 任务接口权限:
    • DOCTOR/DIRECTOR/LEADER:发布、取消(仅可取消自己创建的任务)
    • ENGINEER:接收、完成
  • 患者列表权限:
    • SYSTEM_ADMIN 查询时必须传 hospitalId
  • 用户管理接口:
    • SYSTEM_ADMIN/HOSPITAL_ADMIN/DIRECTOR 可访问列表与创建
    • DIRECTOR 页面语义调整为“医生管理”,仅管理本科室医生
    • 工程师绑定医院仅 SYSTEM_ADMIN
    • 删除:SYSTEM_ADMIN 可删除任意无关联用户;DIRECTOR 可删除本科室无关联医生

3.1 结构图页面交互调整

  • 医院管理员视角下,右侧下级列表会优先显示“人员”节点,再显示组织节点。
  • 选中人员节点时,右侧展示人员详情(角色、手机号、所属医院/科室/小组),不再显示空白占位。

3.2 后台页面路由权限(与后端 RBAC 对齐)

  • organization/treeorganization/departmentsorganization/groupsusers
    • organization/treeorganization/groups SYSTEM_ADMINHOSPITAL_ADMINDIRECTORLEADER 可访问
    • organization/departmentsSYSTEM_ADMINHOSPITAL_ADMIN 可访问
  • usersSYSTEM_ADMINHOSPITAL_ADMINDIRECTOR 可访问
  • devices:仅 SYSTEM_ADMINHOSPITAL_ADMIN 可访问
  • organization/hospitals
    • SYSTEM_ADMIN 可访问
  • tasks
    • DOCTORDIRECTORLEADERENGINEER 可访问
  • patients
    • SYSTEM_ADMINHOSPITAL_ADMINDIRECTORLEADERDOCTOR 可访问

前端已在路由守卫和侧边栏菜单同时做权限控制,无权限角色会被拦截并跳转到首页,避免进入页面后触发接口 403

3.3 主任/组长组织管理范围

  • DIRECTOR
    • 可查看组织架构、小组列表(限定本科室范围)
    • 可创建/编辑/删除本科室下小组
    • 可进入“医生管理”页,创建/维护本科室医生
  • LEADER
    • 可查看组织架构、小组列表(限定本科室/本小组范围)
    • 可编辑本小组名称
  • 主任/组长不再显示独立“科室管理”页面。
  • 负责人设置(设主任/设组长)入口仍仅 SYSTEM_ADMINHOSPITAL_ADMIN 显示。

4. 本地运行

tyt-admin 目录执行:

pnpm install
pnpm dev