docs: 更新接口接入与环境配置说明

This commit is contained in:
yelan
2026-09-01 10:14:23 +08:00
parent 40cd313786
commit 8b4b9d031d
4 changed files with 37 additions and 5 deletions

View File

@@ -8,7 +8,7 @@
- `clinical-web`:医护端布局、工作台、签署任务、文书库、报表和设置页面; - `clinical-web`:医护端布局、工作台、签署任务、文书库、报表和设置页面;
- `patient-h5`:签署入口、文书确认、签署人信息、手写签名和结果页面; - `patient-h5`:签署入口、文书确认、签署人信息、手写签名和结果页面;
- 当前页面使用演示数据,尚未接入真实后端接口 - 默认仍使用演示数据,但医护端已按 MEDISIGN 接口文档接入登录、患者/就诊、模板、签署任务、文件产物、投递、用户组织和模板权限等真实接口;患者 H5 已接入一次性 Token 消费和签名上传请求
- `packages` 目录暂时保留,等接口和公共类型稳定后再接入共享包。 - `packages` 目录暂时保留,等接口和公共类型稳定后再接入共享包。
## 项目定位 ## 项目定位

View File

@@ -84,7 +84,7 @@ TanStack Vue Query、PDF 预览、报表图表、自动化测试和签字板适
## 当前状态 ## 当前状态
已完成 Vite 基础初始化、路由、Pinia、原型主题 CSS、登录页、首页、签署工作台第一版 Mock 和文档库管理页面。报表、用户权限、文档权限和系统设置仍保留页面骨架。登录接口和签署工作台的患者就诊模板任务审计查询/部分任务操作已接入 MEDISIGN 后端;其余页面仍使用 Mock 或占位实现 已完成 Vite 基础初始化、路由、Pinia、原型主题 CSS、登录页、首页、签署工作台第一版 Mock 和文档库管理页面。登录、首页统计、签署工作台的患者/就诊/模板/任务/审计、签署文件下载、短信重发、模板创建/版本工作流、用户组织查询与用户创建编辑,以及按模板维护文档权限已经接入 MEDISIGN 后端;系统设置仍保留 Mock真实签字板/线上签名回调和打印服务仍需设备或后端能力
## 当前路由结构 ## 当前路由结构
@@ -119,10 +119,15 @@ API 模块与页面按业务域对应。工作台页面使用 `api/workbench`
- `api/workbench/home.ts` - `api/workbench/home.ts`
- `api/workbench/signing.ts` - `api/workbench/signing.ts`
- `api/workbench/artifacts.ts`
- `api/workbench/deliveries.ts`
- `api/management/documents.ts` - `api/management/documents.ts`
- `api/management/reports.ts` - `api/management/reports.ts`
- `api/management/users.ts` - `api/management/users.ts`
- `api/management/roles.ts`
- `api/management/organization.ts`
- `api/management/document-permissions.ts` - `api/management/document-permissions.ts`
- `api/management/audit.ts`
- `api/management/settings.ts` - `api/management/settings.ts`
所有接口统一使用 `utils/request.ts` 导出的单例请求实例。登录接口已接入 MEDISIGN 后端: 所有接口统一使用 `utils/request.ts` 导出的单例请求实例。登录接口已接入 MEDISIGN 后端:
@@ -142,10 +147,23 @@ API 模块与页面按业务域对应。工作台页面使用 `api/workbench`
- `POST /api/v1/sign-tasks/{id}/void``/resend``/reopen`:作废、短信重发和重新开启; - `POST /api/v1/sign-tasks/{id}/void``/resend``/reopen`:作废、短信重发和重新开启;
- `GET /api/v1/sign-tasks/{id}/events`:操作审计事件。 - `GET /api/v1/sign-tasks/{id}/events`:操作审计事件。
已接入或封装的扩展接口包括:
- `GET /api/v1/sign-artifacts/task/{taskId}``GET /api/v1/sign-artifacts/task/{taskId}/{artifactId}`:签署文件索引;
- `GET /api/v1/sign-artifacts/{artifactId}/download`:原始 PDF、签署后 PDF、签名原图下载
- `POST /api/v1/sign-deliveries/{taskId}/sms/resend`:短信重发,自动携带幂等键;
- `GET/POST /api/v1/templates``GET /api/v1/templates/{id}`:模板列表、详情;
- `GET/POST /api/v1/templates/{id}/versions`、版本工作流接口:版本查询、创建、送审、驳回、通过、发布、停用、归档;
- `GET /api/v1/users``GET /api/v1/roles``GET /api/v1/campuses``GET /api/v1/departments`:用户页真实查询及组织字典;
- `GET/POST/DELETE /api/v1/templates/{id}/permissions`:按模板查询和维护文档权限;
- `GET /api/v1/audit-logs`:全局审计日志查询 API。
报表页在真实模式下使用 `GET /api/v1/sign-tasks` 聚合当前任务数据并支持跳转任务和导出当前筛选结果MEDISIGN 文档中暂无独立的报表统计接口。首页同样从模板、院区和签署任务接口聚合工作台概览。
API 请求和响应类型按业务域放在 `api/workbench/types.ts``api/management/types.ts`;页面展示和交互类型放在对应 View 目录的 `types.ts`;全局复用类型放在 `types/common.ts`。页面提交模型会在 API 边界转换为后端 DTO不向后端发送患者快照、文档名称或明文手机号等页面字段。 API 请求和响应类型按业务域放在 `api/workbench/types.ts``api/management/types.ts`;页面展示和交互类型放在对应 View 目录的 `types.ts`;全局复用类型放在 `types/common.ts`。页面提交模型会在 API 边界转换为后端 DTO不向后端发送患者快照、文档名称或明文手机号等页面字段。
开发环境默认使用 `/api` 作为同源接口前缀Vite 会将 `/api` 转发到 `https://ipad.shenynet.com`,因此浏览器不会直接跨域请求后端。代理配置位于 `vite.config.ts`,不改写 `/api/v1/...` 路径。修改代理或环境变量后需要重启 Vite 开发服务。 开发环境默认使用 `/api` 作为同源接口前缀Vite 会将 `/api` 转发到 `https://ipad.shenynet.com`,因此浏览器不会直接跨域请求后端。代理配置位于 `vite.config.ts`,不改写 `/api/v1/...` 路径。修改代理或环境变量后需要重启 Vite 开发服务。
生产环境不会使用 Vite 的开发代理,需要在 Nginx 或其他网关中配置同样的 `/api` 反向代理。除登录外,当前业务 API 模块默认返回 Mock 数据,设置 `VITE_USE_MOCK=false` 后切换签署工作台及其他已实现 API 的真实接口。使用本地开发代理时,`VITE_API_BASE_URL` 应填写 `/api`;如果改为直连后端,则需要后端配置允许当前前端源的 CORS。 生产环境不会使用 Vite 的开发代理,需要在 Nginx 或其他网关中配置同样的 `/api` 反向代理。除登录外,当前业务 API 模块默认返回 Mock 数据,设置 `VITE_USE_MOCK=false` 后切换已实现的真实接口。使用本地开发代理时,`VITE_API_BASE_URL` 应填写 `/api`;如果改为直连后端,则需要后端配置允许当前前端源的 CORS。
当前尚未接入的签署能力包括手写板设备桥接、线上签署页面/签名回调、PDF 原件下载、签名原图下载和打印服务。真实接口模式下这些演示按钮会隐藏或提示待接入Mock 模式仍可用于演示完整交互 当前尚未接入的签署能力包括手写板设备桥接、线上签署页面/签名回调和打印服务。签署投递、一次性 Token 消费和真实 PNG 上传 API 已完成封装,但页面不能用 Canvas 演示数据冒充真实签名;需要接入设备适配器或患者 H5 回调后再启用。短信初次发送接口需要完整手机号,而患者查询只返回脱敏手机号,因此真实模式会要求当前操作人员确认完整投递地址;生产环境也可以改为由后端根据患者 ID 解析投递地址。默认 Mock 模式仍可用于演示完整交互,联调时设置 `VITE_USE_MOCK=false`

View File

@@ -1,2 +1,3 @@
VITE_APP_NAME=medical-sign-patient VITE_APP_NAME=medical-sign-patient
VITE_API_BASE_URL=/api VITE_API_BASE_URL=/api
VITE_USE_MOCK=true

View File

@@ -54,6 +54,19 @@ Vant、Zod、PDF 预览、第三方签名组件和自动化测试暂不接入;
患者端应采用移动优先设计,按钮、文字和签名区域需要适合老年患者使用。 患者端应采用移动优先设计,按钮、文字和签名区域需要适合老年患者使用。
## API 接入
开发环境默认使用 `/api`,由 `vite.config.ts` 代理到 `https://ipad.shenynet.com`;生产环境需要由 Nginx 或医院网关配置同路径反向代理。
已接入的真实接口:
- `POST /api/v1/sign-deliveries/token/consume`:消费短信/二维码一次性签署 Token
- `POST /api/v1/sign-deliveries/{taskId}/signature`:以 `multipart/form-data` 上传真实 PNG 签名和签署元数据。
真实流程会在进入页面时消费 Token并在提交时携带 `deliveryId``uploadToken` 和幂等键。Token 消费接口目前只返回投递凭证,不返回正式文书内容,因此真实模式会停在安全提示页,不会让患者在未阅读正式文书时提交签名。待后端提供患者端文书读取接口后,再接入 PDF/文书展示和正式提交闭环。
默认 `VITE_USE_MOCK=true` 时可以无 Token 演示完整页面交互;联调真实 Token 流程时设置 `VITE_USE_MOCK=false`,或直接使用带 `token`/`signToken`/`t` 查询参数的签署链接。
## 与医护端的关系 ## 与医护端的关系
医护端创建签署任务patient-h5 完成签署,后端统一保存结果: 医护端创建签署任务patient-h5 完成签署,后端统一保存结果:
@@ -67,4 +80,4 @@ patient-h5 不直接访问医院完整电子病历。
## 当前状态 ## 当前状态
已完成 Vite 基础初始化、路由、签署流程状态管理和第一版移动端页面骨架。当前流程使用演示数据,尚未接入真实 Token 校验、文书接口和签署提交接口 已完成 Vite 基础初始化、路由、签署流程状态管理和第一版移动端页面骨架。Mock 模式可以演示完整交互;真实模式已经接入一次性 Token 消费和 PNG 签名上传请求,并增加路由保护、重复提交保护和服务端结果展示。正式文书公开读取接口尚未提供,因此真实模式暂不会进入签署步骤