feat(snapshot): refresh API video metadata; keep removed visible #9

Merged
kairee merged 2 commits from auto/refresh-meta-removed-1103 into main 2026-11-03 23:59:01 +08:00

产品规则

  1. 接口字段跟刷:入库、小时近新片(run_recent_videos)、全量快照成功时,库中由接口获取的字段以当次 view_detail 为准覆盖(title / duration / pages / cover / bvid / up_mid / up_name / up_face / pubdate 等),七项指标照旧写 snapshot。
  2. 原站失效:仅标记 status=removed;不删行、不用空值覆盖元数据/历史快照;站内列表与详情继续展示;日常与全量快照仍跳过 removed。
  3. 站内展示/统计口径:凡原先只用 TRACKED(active,unfaved) 做展示与统计的地方,改为与主列表一致纳入 removed(VISIBLE)。含热度门槛榜、UP 列表、总览 tracked/active_ups/初导入计数、说明页粉丝覆盖、黑名单视频数等。采集队列仍只 active/unfaved。
  4. 失效后再入库:ingest_video 允许将 removed 复活为 active(现有行为,保持)。
  5. UI:失效视频封面右上角感叹号徽标;点击/tap 提示「该视频已失效」。

实现摘要

  • 新增 Repository.refresh_video_metadata(空值不冲掉旧值,不改 status)
  • SnapshotService 成功路径改 view_detail + _apply_detail
  • 候选「已在库」路径亦刷新元数据
  • Web 查询层:列表/热度/UP/总览/说明页/黑名单统一 VISIBLE;采集侧仍 TRACKED
  • 封面徽标:removedCoverMark + .cover-removed-mark;app.js 捕获点击 toast

测试

uv run python tests/test_snapshot.py / test_web_queries.py / test_repository.py / test_library.py / test_removed_cover_mark.py 通过。

## 产品规则 1. **接口字段跟刷**:入库、小时近新片(`run_recent_videos`)、全量快照成功时,库中由接口获取的字段以当次 `view_detail` 为准覆盖(title / duration / pages / cover / bvid / up_mid / up_name / up_face / pubdate 等),七项指标照旧写 snapshot。 2. **原站失效**:仅标记 `status=removed`;不删行、不用空值覆盖元数据/历史快照;站内列表与详情继续展示;日常与全量快照仍跳过 removed。 3. **站内展示/统计口径**:凡原先只用 TRACKED(`active`,`unfaved`) 做展示与统计的地方,改为与主列表一致纳入 removed(`VISIBLE`)。含热度门槛榜、UP 列表、总览 tracked/`active_ups`/初导入计数、说明页粉丝覆盖、黑名单视频数等。**采集队列仍只** `active`/`unfaved`。 4. **失效后再入库**:`ingest_video` 允许将 removed 复活为 `active`(现有行为,保持)。 5. **UI**:失效视频封面右上角感叹号徽标;点击/tap 提示「该视频已失效」。 ## 实现摘要 - 新增 `Repository.refresh_video_metadata`(空值不冲掉旧值,不改 status) - `SnapshotService` 成功路径改 `view_detail` + `_apply_detail` - 候选「已在库」路径亦刷新元数据 - Web 查询层:列表/热度/UP/总览/说明页/黑名单统一 `VISIBLE`;采集侧仍 `TRACKED` - 封面徽标:`removedCoverMark` + `.cover-removed-mark`;`app.js` 捕获点击 toast ## 测试 `uv run python tests/test_snapshot.py` / `test_web_queries.py` / `test_repository.py` / `test_library.py` / `test_removed_cover_mark.py` 通过。
bot-ci Bot added 1 commit 2026-11-03 23:01:41 +08:00
入库 / 小时近新片 / 全量快照成功时以 view_detail 覆盖 title、duration、
pages、cover、bvid、up_*、pubdate 等接口字段,并照旧写七项快照。
原站失效仅标 removed,不删行、不空写元数据;列表与详情继续展示,
快照队列仍跳过 removed。
bot-ci Bot added 1 commit 2026-11-03 23:45:50 +08:00
站内展示/统计统一 VISIBLE(含 removed):热度、UP 列表、总览
active_ups/初导入计数、说明页粉丝覆盖、黑名单视频数。采集队列仍
只 active/unfaved。失效片封面右上角感叹号徽标,点击/tap 提示
「该视频已失效」;手动/候选入库仍可复活 removed→active。
kairee merged commit bffd0c0183 into main 2026-11-03 23:59:01 +08:00
kairee deleted branch auto/refresh-meta-removed-1103 2026-11-04 00:10:25 +08:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kcloud/re-xxm#9