docs(plans): 记录 K2 实施与验收回执
This commit is contained in:
1 parent
4118efd0ca
commit
698bb78aeb
3 files changed
+633
-1
No files matched your search
+81
-1
@@ -20,7 +20,7 @@
|
||||
|
||||
---
|
||||
|
||||
## [待处理] 2026-10-17 | K2 客户端第二批:分类 + 观看记录 + 收藏列表 + 下载授权(A3/A5 剩余)+ UI
|
||||
## [已处理·待用户验收] 2026-10-17 | K2 客户端第二批:分类 + 观看记录 + 收藏列表 + 下载授权(A3/A5 剩余)+ UI
|
||||
|
||||
**用户指令(2026-10-17)**:「现在先做客户端 对接相关接口 及ui 严格执行specs 内的要求」。
|
||||
|
||||
@@ -149,6 +149,86 @@
|
||||
|
||||
> **用户裁定(2026-10-17)**:**先按现状契约执行,上述缺口后期再补**。本批不得因缺口停工,也不得临时改后端或自造接口;按第二节的降级方案实现,缺口留到后续批次。
|
||||
|
||||
### 七、Codex 回执(2026-10-17)
|
||||
|
||||
**状态**:K2-A/B/C/D 代码、自动化测试、Android debug 构建与 develop 推送已完成;
|
||||
真机/模拟器侧业务验证**未验证**,按红线交用户执行。K3/K4 未开始。
|
||||
|
||||
**提交**
|
||||
|
||||
```
|
||||
feature: cc4d7c5a9dc6a4f6f0565a32503cce5973af703c
|
||||
merge: 45f5f25640a274edb51bd90b3b5e52c43ba9d9cd
|
||||
branch: feature/flutter-k2-library -> develop(--no-ff,已 push,feature 已删除)
|
||||
main: 未改动
|
||||
```
|
||||
|
||||
**已接真实契约数据**
|
||||
|
||||
- 发现页分类:`GET /app/categories` + `GET /app/discover/feed`;
|
||||
服务端分类只匹配 `category-{id}`,无分区显示空态。
|
||||
- 独立观看记录页:`GET /app/watch/recent?limit=20`、按 dramaId 去重并发上限 4 补详情、
|
||||
`DELETE /app/watch/progress/{dramaId}`、`DELETE /app/watch/progress`。
|
||||
- 独立我的收藏页:`GET /app/favorites`、`POST /app/favorites/toggle`、
|
||||
`DELETE /app/favorites/{dramaId}`。
|
||||
- 我的下载页:§1.6 全部 8 个 `/app/downloads*` 接口;详情页/播放页下载入口调用
|
||||
`POST /app/downloads`,拒绝时直接展示后端 `message`。
|
||||
- 三页面均为加载 / 空 / 失败可重试三态;未登录显示登录引导。
|
||||
|
||||
**仍本地或未做**
|
||||
|
||||
- 搜索未做:契约没有搜索接口。
|
||||
- 文件分片落盘、断点续传、离线播放、`licenseKey` 本地校验未做;本批只交付授权与状态管理。
|
||||
- 点赞/评论仍沿用既有本地状态,属 K3,不在本批。
|
||||
- 发现 feed 当前只下发 `category-{id}`;若后端没有 `hot`/`new` 分区,保留的入口显示空态。
|
||||
- 收藏接口仍返回全量数组,本批未发送 `page/size`。
|
||||
|
||||
**门禁原始输出**
|
||||
|
||||
```
|
||||
$ dart analyze lib test
|
||||
Analyzing lib, test...
|
||||
No issues found!
|
||||
|
||||
$ flutter test
|
||||
00:11 +220 ~1: All tests passed!
|
||||
|
||||
$ flutter build apk --debug
|
||||
Running Gradle task 'assembleDebug'... 2,377ms
|
||||
✓ Built build/app/outputs/flutter-apk/app-debug.apk
|
||||
```
|
||||
|
||||
`~1` 是既有真实后端联调用例因本机 8081 服务未启动而按设计跳过,不是失败。
|
||||
首次冷构建也成功,耗时 `705.7s`;最终修复后缓存构建 `2,377ms`。
|
||||
|
||||
**用户验证步骤与预期**
|
||||
|
||||
1. 在 ReelShort 执行 `git checkout develop && git pull origin develop`,确认 HEAD 为
|
||||
`45f5f25`;后端 8081 已启动,手机与开发机在同一局域网。
|
||||
2. 取局域网地址并运行:`IP=$(ipconfig getifaddr en0)`,
|
||||
`flutter run -d <device-id> --dart-define=API_BASE_URL=http://$IP:8081`。
|
||||
预期:App 启动、首页/发现能加载;地址必须按当前网络重新获取。
|
||||
3. 打开发现页:分类条应出现 `/app/categories` 返回的分类。选择一个有内容分类,
|
||||
预期显示 discover feed 对应 `code=category-{id}` 的剧;选择无分区分类显示空态。
|
||||
4. 播放任意免费集约 10 秒后返回,进入“我的 → 观看记录”。
|
||||
预期:出现该剧封面/剧名/集号/进度/更新时间;即使该剧不在首页分区也能显示。
|
||||
单条删除先立即消失;断网重试删除时,记录应恢复并提示失败。清空应先弹二次确认。
|
||||
5. 在详情或播放页收藏一部剧,进入“我的 → 我的收藏”。
|
||||
预期:卡片来自服务端;点粉色收藏按钮取消后立即消失;断网取消应恢复卡片并提示失败。
|
||||
6. 登录后在详情页/播放页点下载入口。
|
||||
预期:成功时提示“下载授权已就绪”;付费、未解锁或配额满时,直接出现后端 `message`。
|
||||
进入“我的 → 下载”,预期策略卡显示剩余配额/授权天数/`expirePolicyText`;
|
||||
列表显示后端 `status`、`taskStatus`、`progressPercent`、到期时间;
|
||||
仅 Wi-Fi、清晰度、单删、清空可操作。
|
||||
7. 退出登录后分别进入观看记录、我的收藏、我的下载。
|
||||
预期:三页都显示登录引导,不显示网络错误或白屏。
|
||||
|
||||
**证据口径**
|
||||
|
||||
- 以上设备侧步骤尚未执行,因此真机/模拟器验证统一标记「未验证」。
|
||||
- 没有用开发机 `curl` 冒充设备可达证据。
|
||||
- 本批不包含实际文件下载,因此不能据此验收“离线播放”。
|
||||
|
||||
---
|
||||
|
||||
## [已处理] 2026-10-17 | 三库全量拉取 + `main` → `develop` 同步(Trae 执行,无代码改动)
|
||||
|
||||
Reference in new issue
Block a user