eab91174db
Co-Authored-By: Claude <noreply@anthropic.com>
2.6 KiB
2.6 KiB
PCM 孕妇端 (patient-app · T-8.1)
孕产个案管理平台 孕妇/家属端。移动优先 Web 应用,AI 对话优先,对接 backend 已完成的 REST API。
UI 依据 ../../3-ui-style-PCM.md(温暖、柔和、低焦虑),功能映射 ../../1-prd-PCM.md §3.2 / REQ-7、REQ-1、REQ-9 等。
技术栈
- Vite + React 18 + TypeScript
- react-router-dom 路由
- 原生 CSS + Design Tokens(
src/styles/tokens.css,双端可共享品牌色)
目录
src/
├── api/ # 后端契约类型 + fetch 客户端
├── auth/ # 会话/鉴权上下文与持久化
├── components/ # 底部导航、Toast、建档表单
├── lib/ # usePatient 钩子、格式化工具
├── pages/ # 登录/首页/聊天/数据/任务/我/知情同意
└── styles/ # 设计令牌与全局样式
开发
npm install
npm run dev # http://localhost:5173 ,/api 代理到后端 (默认 http://localhost:3000)
先启动后端:在 ../backend 执行 npm run start。
可用环境变量 PCM_API_TARGET 覆盖代理目标,生产构建用 VITE_API_BASE 指定网关地址。
脚本
npm run dev:开发服务器npm run build:类型检查 + 生产构建npm run lint:ESLint(零警告门槛)npm run preview:预览构建产物
已实现页面(T-8.1)
| 页面 | 说明 | 映射 |
|---|---|---|
| 登录/注册 | 含孕妇/家属知情同意签署(未签拒绝注册) | NFR-1、T-1.1 |
| 首页(助手) | 问候+孕周、聊天主入口、今日健康、意图卡片、更多功能 | REQ-7/10.1、UI §5 |
| 聊天页 | RAG 问答,气泡 + 强制溯源 citations,无依据明确提示就医 | REQ-7.2/7.3 |
| 数据页 | 手动录入指标 + 观测列表 + 可解释预警(含规则溯源) | REQ-1.1、REQ-3 |
| 任务/打卡页 | 提醒列表 + 打卡,高风险运动→休息自动调整提示 | REQ-9.1/9.2 |
| 我的页 | 档案/孕周/风险分层、知情同意与隐私、退出 | REQ-2、NFR-1 |
与后端对接的接口
POST /auth/register、/auth/login、POST/GET /patients、/patients/:id、
POST/GET /patients/:id/observations、GET /patients/:id/alerts、
GET /ai/ask、GET/POST /patients/:id/reminders。
迁移到微信小程序
本端按 4-arch-PCM.md 定位最终目标为微信小程序。当前以可运行、可验证的移动 Web 实现核心交互与设计;
生产可经 Taro(React 语法编译到小程序 + H5)迁移,复用本项目的 Design Token 与组件结构,
API 客户端 (src/api) 与领域类型可直接沿用。