docs: document read-only dashboard and preview workflow
This commit is contained in:
1 parent
cbba405271
commit
d18ebbfb2f
3 files changed
+122
-51
No files matched your search
+26
-19
@@ -1,7 +1,7 @@
|
||||
# 咻咻满 Reaction 视频数据看板 —— 可行性分析与技术路线
|
||||
|
||||
> 状态:**设计定稿;P0(数据底座与收藏夹同步)、P1(每日快照与粉丝追踪)、P3(Telegram 与一键加入)已实施;P2 待开始**
|
||||
> 最后更新:2026-10-31(第 7 轮:P3 落地)
|
||||
> 状态:**设计定稿;P0(数据底座与收藏夹同步)、P1(每日快照与粉丝追踪)、P2(只读本地看板)、P3(Telegram 与一键加入)已实施**
|
||||
> 最后更新:2026-10-31(第 8 轮:P2 只读看板与预览数据落地)
|
||||
> B 站探测均为只读(GET),尚未调用 `fav/resource/deal`、`fav/resource/sort`
|
||||
|
||||
---
|
||||
@@ -666,25 +666,28 @@ fan_delta_cum = follower(d) - follower(首日)
|
||||
|
||||
| 页面 | 内容 |
|
||||
|---|---|
|
||||
| 总览 | 库内视频数、活跃 UP 数、今日新增、今日总播放/增量、**收藏夹容量条**(664/1000)、昨日采集成功率 |
|
||||
| 榜单 | Tab:综合热度/播放/点赞/硬币/收藏/转发/评论/弹幕/增长最快/互动率;筛选 UP、搜标题、导出 CSV |
|
||||
| 视频详情 | 元数据 + 7 项趋势 + 同 UP 对比 + 快照表(含失败标记)+ 「加入收藏夹」按钮 |
|
||||
| UP 页 | 该 UP 全部视频、聚合趋势、平均互动率 |
|
||||
| 首页 | 最新动态优先:今日增量、最新入库、最近发布、增长动态、热度速览、收藏夹容量、采集状态 |
|
||||
| 榜单 | Tab:综合热度/播放/点赞/投币/收藏/转发/评论/弹幕/互动率/增长/增速;视频与 UP 范围切换;筛选、搜索、导出 CSV |
|
||||
| 视频详情 | 元数据 + 七项指标 + 单指标趋势(7/30/90/全部)+ 同 UP 对比 + 快照表(含失败标记) |
|
||||
| UP 页 | 该 UP 全部视频、聚合趋势、单视频对比、平均互动率 |
|
||||
| **粉丝页** | 咻咻满粉丝数曲线 + 每日/7 日净增 + 累计增长(只画粉丝,不叠加视频数据) |
|
||||
| **候选池** | 未达通知阈值 / 未决策的候选(7 天后自动删除),支持收藏/忽略/拉黑 |
|
||||
| **系统状态** | 最近扫描、采集成功率、收藏夹同步时间、下次任务时间、错误日志 |
|
||||
| **候选池** | 候选、得分、通知时间、剩余 TTL;只读展示,操作指向 Telegram/CLI |
|
||||
| **系统状态** | 最近任务、采集成功率、收藏夹同步时间、下次任务、备份、鉴权、黑名单 |
|
||||
|
||||
### 9.2 技术
|
||||
|
||||
- 单 `index.html` + 原生 JS,无构建链;
|
||||
- 图表 **vendored ECharts**(Apache-2.0,离线);
|
||||
- 单 `index.html` + 原生 ES Module,无构建链;
|
||||
- 图表本地 vendored ECharts(Apache-2.0,离线);
|
||||
- `/api/*` JSON,前端只渲染;
|
||||
- 移动端优先(通知点进来多为手机)。
|
||||
- 移动端优先,底部 5 项导航;桌面端左侧导航;
|
||||
- 首页增长榜在不足 2 天快照时显示空态,不伪造 0。
|
||||
|
||||
### 9.3 鉴权
|
||||
### 9.3 只读边界与鉴权
|
||||
|
||||
- 公网部署,默认开启:`Authorization: Bearer <token>` 或一次性登录换 HttpOnly cookie;
|
||||
- 写操作(加入/忽略)同样校验,CSRF 用签名 token;
|
||||
- P2 Web 业务接口只读,写方法统一 `405`;数据管理继续通过 Telegram/CLI/数据库;
|
||||
- 本地回环地址且未配置 `web.auth_token` 时免登录;
|
||||
- 配置 token 后启用登录页 + HttpOnly Cookie,或使用 `Authorization: Bearer <token>`;
|
||||
- 非回环地址且未配置 token 时拒绝启动;
|
||||
- 不做多用户(YAGNI)。
|
||||
|
||||
---
|
||||
@@ -792,6 +795,9 @@ storage:SQLite WAL,单写线程
|
||||
| 31 | **P3 真实发现** | 4 次 WBI 搜索、168 条结果、161 已入库、6 条超时间窗、1 条候选(score=6) |
|
||||
| 32 | **P3 Telegram 通知** | 真实 Bot 发送成功;发现重复结果后已修复按 aid 去重,离线测试覆盖 |
|
||||
| 33 | **P3 同步联动** | 候选被人工加入收藏夹后,同步识别 1 条新增并当天补采快照;候选行自动删除 |
|
||||
| 34 | **P2 预览数据** | 复制真实库回填 7 天:796 条视频、4,606 条合成快照、3 条失败、4 条候选、1 条预览黑名单 |
|
||||
| 35 | **P2 只读页面** | 首页/榜单/视频/UP/粉丝/候选/系统 7 个页面在 390px 与 1280px 下无脚本错误 |
|
||||
| 36 | **P2 只读边界** | 业务 POST/PUT/PATCH/DELETE 均返回 405,请求前后数据库行数不变 |
|
||||
|
||||
**未验证(需授权或外部配合)**:
|
||||
|
||||
@@ -806,11 +812,12 @@ storage:SQLite WAL,单写线程
|
||||
|
||||
## 14. 下一步
|
||||
|
||||
P0、P1、P3 已实施。下一步是 **P2 本地看板**:
|
||||
P0、P1、P2、P3 已实施。P2 交付了只读本地看板与可重复生成的 7 天预览数据:
|
||||
|
||||
1. 总览、榜单、视频/UP 详情、粉丝曲线、候选池和系统状态页面;
|
||||
2. 原生前端 + ECharts,本机默认绑定 `127.0.0.1:8080`;
|
||||
3. 复用现有 SQLite 查询与状态机,不在前端复制业务判断;
|
||||
4. P3 的真实 `deal` / `sort` 待用户点击 Telegram 按钮或授权测试视频后补充验证记录。
|
||||
1. 首页、榜单、视频/UP 详情、粉丝曲线、候选池和系统状态页面;
|
||||
2. 原生 ES Module + 本地 ECharts,本机默认绑定 `127.0.0.1:8080`;
|
||||
3. 查询、热度、增长和互动率全部在服务端计算,前端只渲染;
|
||||
4. Web 不提供业务写操作,数据管理继续通过 Telegram/CLI/数据库;
|
||||
5. P3 的真实 `deal` / `sort` 待用户点击 Telegram 按钮或授权测试视频后补充验证记录。
|
||||
|
||||
> P4(容器化 + 反代)继续保持可选。
|
||||
Reference in new issue
Block a user