[Feature Request]: 优化批量标记单集时的动态显示逻辑:支持区间显示 (e.g. ep.3 - ep.6)
- Dominant language
- Go
- Stars
- 679
- Forks
- 77
- Avg merge
- 12m
- Merged PRs (30d)
- 7
Description
**你想添加的新功能**
优化批量标记单集时的动态显示逻辑,支持区间展示(例如:ep.3 - ep.6)。
目前在连续标记多集(如 ep.3, 4, 5, 6)时,时间胶囊(时间线)的合并机制会导致最终仅保留最后一条动态(显示为“看过 ep.6”或“看到 ep.6”)。这使得时间线无法准确记录用户“本次补番”的跨度,仅仅起到了同步进度的作用。
场景 A(连续点击):用户在 5 分钟内先后点击了 ep.3, 4, 5, 6。系统会自动合并动态,最终只显示 “看过 ep.6”。
场景 B(批量操作):用户通过“看到”功能标记 ep.3-6。系统显示 “完成 6 of 13 话”。
**你希望的解决方案**
在后端处理进度更新或动态合并时,增加对连续章节的识别:
识别区间:当用户提交的章节 ID 列表是连续的(例如 3, 4, 5, 6),或者在短时间内(合并时间窗口内)连续标记了相邻章节,时间线应显示为:“看过 ep.3 - ep.6”。
**其他可能的替代方案**
保持现状:但用户如果想记录自己的补番轨迹,只能通过手动发带有吐槽的动态来实现。
**其他相关信息**
参考代码路径:bangumi/server 中的 internal/service/timeline 以及处理进度更新的 Controller 层。
动机:提升时间胶囊的“记录”属性,让补番或一口气看完多集的行为能在时间线上得到更有意义的展示。
Contributor guide
Research direction
Start in bangumi/server/internal/service/timeline and trace the Controller path that handles progress updates, including the existing timeline merge window. Add coverage for contiguous chapter lists and rapidly marked adjacent chapters; done means the timeline shows a range such as “ep.3 - ep.6” while preserving existing single-chapter behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100