Initial commit: HealthCarePregnant project documentation and platform
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# 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/ # 设计令牌与全局样式
|
||||
```
|
||||
|
||||
## 开发
|
||||
|
||||
```bash
|
||||
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`) 与领域类型可直接沿用。
|
||||
Reference in New Issue
Block a user