bangumi / bangumi/server

[Feature Request]: 优化批量标记单集时的动态显示逻辑:支持区间显示 (e.g. ep.3 - ep.6)

Open
#994 1 comment 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.