1.9 KiB
1.9 KiB
Tasks — nurse-app-flutter
1. 工程骨架
- 1.1 pubspec.yaml 加依赖:riverpod/flutter_riverpod、dio、sqflite、shared_preferences、go_router、path_provider、image_picker(拍照)、geolocator(定位)、crypto(md5)。
- 1.2 lib/core:api(dio 封装 + 统一响应解包 + token 拦截器)、db(sqflite 离线队列表)、router(go_router)、auth(token 存储)、theme。
2. 登录
- 2.1 登录页(租户/账号/密码)+
POST /auth/login+ token 落 shared_preferences + go_router 跳今日任务。
3. M1 今日任务 + M2 服务执行
- 3.1 今日任务页:
GET /order/today卡片列表(老人/时段/项目/状态),点卡片进服务执行。 - 3.2 服务执行页:签到
POST /record/checkin(定位 geolocator + 自动时间,不传 checkin_time)→ 项目勾选POST /record/item/save(默认全勾 done,exec_result 三态)→ 拍照POST /record/photo/upload(image_picker + 压缩 ≤500KB + 必拍强制 + 压疮标签 + 拒拍出路)→ 签退POST /record/checkout(必拍未拍前置校验 + 3001 提示)。
4. 异常上报 + 扑空
- 4.1 异常上报:9 宫格分类(必选)+ 描述/语音/照片(可选),
POST /abnormal。 - 4.2 扑空:未遇按钮 → 到访时间(自动)/定位(自动)/原因(必选下拉),
POST /abnormal(not_met)。
5. 离线队列
- 5.1 sqflite 离线队列表:签到/签退/勾项目/照片/异常本地落队 + client_md5(crypto)。
- 5.2 联网检测 + 自动补传
POST /record/offline/sync(md5 去重);照片本地暂存补传后保留 ≥7 天。
6. 验证
- 6.1
flutter analyze+flutter test通过。 - 6.2 用 nurse01/TY20261015 冒烟:登录 → 今日任务 → 签到勾项目拍照签退 → 留痕 submitted;异常/扑空;断网补传。