# 客户端收藏与观看历史分页 ## 目标 - `/app/favorites` 改为 `PageResult`,默认第 1 页、每页 20,最大 100。 - `/app/watch/recent` 默认返回 `PageResult`;请求带 `limit` 时保留一版旧 `List` 响应。 - 观看历史补充短剧标题、封面、集号和总集数,剧/集均批量查询。 ## 实现步骤 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,不影响历史记录返回。 - 不修改客户端、不改表结构、不启停服务、不操作真机。