1.2 KiB
1.2 KiB
Context
C3 后端 record/abnormal/order.today 已就绪。护理员 APP(Flutter)是录入主战场。技术栈 Riverpod+dio+sqflite+go_router。
Goals / Non-Goals
Goals: 登录、M1 今日任务、M2 服务执行、拍照分档、异常上报、扑空、离线队列。
Non-Goals: 家属端、质控/派单、结算金额。
Decisions
- 技术栈 Riverpod+dio+sqflite+go_router,token 落 shared_preferences。
- feature-first 目录:core/(api/db/router/theme/auth)+ features/{auth,today,service,abnormal}/。
- API base 可配置(--dart-define);统一响应 {code,message,data};token Authorization: Bearer。
- 离线队列 sqflite + client_md5 + POST /record/offline/sync。
- 签到/签退时间不传(服务器取时);定位失败不阻塞;必拍未拍 3001 双保险(前端签退前置 + 后端硬拒)。
数据流
登录 → GET /order/today → POST /record/checkin → item/save → photo/upload → checkout;POST /abnormal(异常/扑空);离线 sync。
Risks
离线幂等(client_md5);必拍未拍双保险;照片压缩 ≤500KB。
验收
nurse01 登录 → 今日任务 → 签到勾项目拍照签退 → 留痕 submitted;异常/扑空落库;断网补传。