@@ -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/signing.ts`
- `api/workbench/artifacts.ts`
- `api/workbench/deliveries.ts`
- `api/management/documents.ts`
- `api/management/reports.ts`
- `api/management/users.ts`
- `api/management/roles.ts`
- `api/management/organization.ts`
- `api/management/document-permissions.ts`
- `api/management/audit.ts`
- `api/management/settings.ts`
所有接口统一使用 `utils/request.ts` 导出的单例请求实例。登录接口已接入 MEDISIGN 后端:
@@ -142,10 +147,23 @@ API 模块与页面按业务域对应。工作台页面使用 `api/workbench`
- `POST /api/v1/sign-tasks/{id}/void` 、`/resend` 、`/reopen` :作废、短信重发和重新开启;
- `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` 作为同源接口前缀, 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` 。