25 lines
1.3 KiB
Markdown
25 lines
1.3 KiB
Markdown
# 客户端收藏与观看历史分页
|
|
|
|
## 目标
|
|
|
|
- `/app/favorites` 改为 `PageResult<AppDramaCardVO>`,默认第 1 页、每页 20,最大 100。
|
|
- `/app/watch/recent` 默认返回 `PageResult<ProgressRespVO>`;请求带 `limit` 时保留一版旧
|
|
`List<ProgressRespVO>` 响应。
|
|
- 观看历史补充短剧标题、封面、集号和总集数,剧/集均批量查询。
|
|
|
|
## 实现步骤
|
|
|
|
1. 收藏关系使用 `selectPage`,按 `created_at DESC, drama_id DESC` 稳定排序;
|
|
只统计已上线短剧收藏,再按当前页 ID 批量加载短剧。
|
|
2. 观看进度使用 `selectPage`,按 `updated_at DESC, drama_id DESC` 稳定排序。
|
|
3. 当前页的 dramaId / episodeId 去重排序后,分别执行一次 IN 查询并装配展示字段。
|
|
4. Controller 归一化 pageIndex/pageSize;观看历史根据是否传 `limit` 分流新旧响应。
|
|
5. 更新 API 契约 §1.5,补 service/controller 测试。
|
|
|
|
## 风险与约束
|
|
|
|
- `limit` 分支仅用于旧客户端兼容,新分页响应与旧 List 响应不能混用。
|
|
- 已下线短剧不计入收藏 total,也不出现在收藏页。
|
|
- 观看历史展示字段找不到对应剧或集时保持 null,不影响历史记录返回。
|
|
- 不修改客户端、不改表结构、不启停服务、不操作真机。
|