diff --git a/README.md b/README.md index 581a439..2eb89f2 100644 --- a/README.md +++ b/README.md @@ -170,6 +170,7 @@ uv run python app.py serve --preview --config data/preview/config.json - 榜单支持综合热度、七项单项、互动率、播放增量/播放增速,以及 UP 聚合榜;UP 榜默认按**平均播放**排序,总播放和视频数放在排序项末尾;服务端筛选、排序和分页; - 视频详情提供七项指标、单指标趋势、快照表和同 UP 对比;UP 页提供聚合趋势与单视频对比; - 粉丝页只绘制粉丝曲线,不叠加视频数据; +- 前端使用 History API 的干净路径路由(`/rank`、`/video/{aid}`、`/up/{mid}`),不使用 `#/` hash;服务端对未知非静态路径回退 `index.html`; - 候选池和系统状态只读展示,操作入口指向 Telegram/CLI; - 本地回环地址默认免登录;配置 `web.auth_token` 后启用登录页和 HttpOnly Cookie;非回环地址且未配置 token 时拒绝启动; - 所有业务接口只接受 GET,写方法返回 `405`。 diff --git a/project.md b/project.md index c73969a..bc1bfb3 100644 --- a/project.md +++ b/project.md @@ -680,6 +680,8 @@ fan_delta_cum = follower(d) - follower(首日) ### 9.2 技术 - 单 `index.html` + 原生 ES Module,无构建链; +- History API 路径路由(`/rank`、`/video/{aid}`、`/up/{mid}`),服务端对无扩展名的非静态路径回退 `index.html`; +- 排序、筛选和趋势指标切换用 `replaceState` 更新 URL 并重新取数,保留滚动位置,不整页刷新; - 图表本地 vendored ECharts(Apache-2.0,离线); - `/api/*` JSON,前端只渲染; - 移动端优先,底部 5 项导航;桌面端左侧导航;