liuyun ff3b6c5042 docs(openspec): 护理员 APP Flutter change 提案
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-15 08:42:15 +08:00

1.2 KiB
Raw Blame History

Context

C3 后端 record/abnormal/order.today 已就绪。护理员 APP(Flutter)是录入主战场。技术栈 Riverpod+dio+sqflite+go_router。

Goals / Non-Goals

Goals: 登录、M1 今日任务、M2 服务执行、拍照分档、异常上报、扑空、离线队列。

Non-Goals: 家属端、质控/派单、结算金额。

Decisions

  1. 技术栈 Riverpod+dio+sqflite+go_router,token 落 shared_preferences。
  2. feature-first 目录:core/(api/db/router/theme/auth)+ features/{auth,today,service,abnormal}/。
  3. API base 可配置(--dart-define);统一响应 {code,message,data};token Authorization: Bearer。
  4. 离线队列 sqflite + client_md5 + POST /record/offline/sync。
  5. 签到/签退时间不传(服务器取时);定位失败不阻塞;必拍未拍 3001 双保险(前端签退前置 + 后端硬拒)。

数据流

登录 → GET /order/today → POST /record/checkin → item/save → photo/upload → checkout;POST /abnormal(异常/扑空);离线 sync。

Risks

离线幂等(client_md5);必拍未拍双保险;照片压缩 ≤500KB。

验收

nurse01 登录 → 今日任务 → 签到勾项目拍照签退 → 留痕 submitted;异常/扑空落库;断网补传。