Files
chisup/docs/current-state.md
T

70 lines
3.0 KiB
Markdown
Raw Normal View History

2026-07-04 22:17:05 +08:00
# 当前实现状态
> 本文是可覆盖的当前快照,记录代码与任务看板的现实状态。历史执行流水追加到 [../progress.md](../progress.md)。
## 当前快照
- 日期:2026-07-04
- 阶段:MVP 起步 / 文档与逆向资料整理
2026-07-04 22:46:26 +08:00
- 技术栈:目标为当前系统 Python 3.8、Flask 3.0.3、Redis;代码尚未初始化;不创建虚拟环境
2026-07-04 22:17:05 +08:00
- 生产代码:暂无
- 测试:暂无
- 数据 / 资料:`reverse_file/` 下已有 CHIS HAR、前端脚本和 schema;`D:\hans\chupd\chis\login_client_v2.py` 可作为登录链路参考
- 标准启动路径:待 T-001 初始化后补齐
- 标准验证路径:当前仅文档文件检查
- 当前 blocker:无硬阻塞;后续实现需要把 Django 登录代码迁移为 Flask 版本,并通过配置提供 CHIS public key
## 当前目录要点
| 路径 | 状态 | 说明 |
| --- | --- | --- |
| `docs/` | 已有 | 项目规范化文档 |
| `reverse_file/` | 已有 | CHIS 逆向资料,当前重要事实来源 |
| `reverse_file/20260704_query_health_check.har` | 已有 | 体检详情只读查询 HAR,包含 `getHMNIListOfHTML` 和 `getCheckInfoDetail` |
| `D:\hans\chupd\chis\login_client_v2.py` | 外部参考 | CHIS 登录、SM2 加密、角色选择、cookie 拼接、`getLanderInfo` 会话验证 |
| `app/` | 待建 | Flask 应用代码 |
| `tests/` | 待建 | 测试目录 |
| `requirements.txt` | 待建 | Python 依赖 |
## 任务看板状态
任务状态以 [06-tasks.md](06-tasks.md) 为准。
- 已完成:DOC-001 建立 harness coding 项目文档。
- 正在进行:无。
- 下一个可领取任务:T-001 初始化 Flask 项目骨架。
## 已确认技术事实
- CHIS public key 可通过配置文件或环境变量提供。
2026-07-04 22:46:26 +08:00
- 使用当前系统 Python 3.8 环境,不创建虚拟环境;T-001 创建 `requirements.txt` 固定依赖。
2026-07-04 22:17:05 +08:00
- 登录链路参考 `login_client_v2.py`:`myRoles` -> 选择 `责任医生助理` / `责任医生` -> `myApps` -> 拼接 cookie。
- SM2 加密参考 `hans_chis.sm2.sm2_encrypt`:`gmssl.sm2.CryptSM2(mode=0)`,返回带 `04` 前缀密文。
- 会话验证可用 `chis.myPageService / getLanderInfo`。
- 体检详情查询第一版可用 `healthCheck + phrId + idCard` 调 `getHMNIListOfHTML`,用 `idCard + checkDate` 调 `getCheckInfoDetail`。
- 当前不能证明只传 `healthCheck` 就能查完整详情。
## 当前可运行内容
```powershell
Get-ChildItem -Recurse -File
```
## 开始编码前检查
1. 读 [../AGENTS.md](../AGENTS.md)。
2. 读 [00-ai-start-here.md](00-ai-start-here.md)。
3. 读 [05-coding-rules.md](05-coding-rules.md)。
4. 从 [06-tasks.md](06-tasks.md) 领取第一个 `TODO` 且依赖均完成的任务。
5. 将该任务状态改为 `DOING` 后再改代码。
## 维护规则
当实际代码状态发生变化时,同步更新本文件:
- 新增或移动入口文件。
- 初始化框架或模块。
- 任务从 `TODO` 进入 `DOING` 或 `DONE`。
- 新增可运行命令。
- 发现文档和代码现实不一致。