tyt-api-nest/docs/frontend-api-integration.md
EL 6ec2d0b0e0 新增 B 端设备模块(后端 CRUD、分页筛选、权限隔离)并接入前端设备管理页面与路由菜单
鉴权改为登录态回库校验,新增 tokenValidAfter 失效时间,支持密码变更与 seed 重置后旧 token 立即失效
患者字段由 idCardHash 统一迁移为 idCard,新增身份证标准化逻辑并同步 C 端生命周期查询参数
组织模块增加小组删除限制(有成员时返回 409)并补充中文错误消息
任务取消接口支持可选 reason 字段(先透传事件层)
补齐 Prisma 迁移、文档说明和 E2E 用例(含设备模块与 token 失效场景)
2026-03-18 20:23:55 +08:00

3.2 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 可访问列表与创建
    • 删除和工程师绑定医院仅 SYSTEM_ADMIN

3.1 结构图页面交互调整

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

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

  • organization/treeorganization/departmentsorganization/groupsusers
    • organization/treeorganization/departmentsorganization/groups SYSTEM_ADMINHOSPITAL_ADMINDIRECTORLEADER 可访问
  • users:仅 SYSTEM_ADMINHOSPITAL_ADMIN 可访问
  • 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