feat(web): move candidates/system nav to topbar, free mobile bottom nav

This commit is contained in:
kairee committed 2026-11-01 17:43:42 +08:00
1 parent 4253779501
commit 3cb9b92361
6 files changed
+59 -20

No files matched your search

+1 -1
View File
@@ -179,7 +179,7 @@ uv run python app.py serve --preview --config data/preview/config.json
- 候选池和系统状态只读展示,操作入口指向 Telegram/CLI;
- 系统状态页展示访问统计(近 30 天每日 PV/UV 与 Top 页面):前端在整页加载与站内路由切换时通过 `navigator.sendBeacon("/api/visit")` 上报,服务端按客户端 IP 与归一化路由聚合,先写内存缓冲、每分钟批量落库(详见 [访问统计与真实来源 IP](#访问统计与真实来源-ip));
- 首页、视频榜、UP 主榜、视频/UP 详情、粉丝页和数据说明页对访客可见;
- 配置 `web.auth_token` 后,“候选”和“系统”页面及其接口需要登录,启用登录页和 HttpOnly Cookie;访客的底部导航只显示公开页面;
- 配置 `web.auth_token` 后,“候选”和“系统”页面及其接口需要登录,启用登录页和 HttpOnly Cookie;这两个入口放在顶栏右侧:未登录显示「登录」,登录后显示「候选 | 系统」(从底部主导航移出,避免移动端底部拥挤);
- 本地回环地址且未配置 token 时视为无鉴权,全部页面可见;非回环地址且未配置 token 时拒绝启动;
- 所有业务接口只接受 GET,写方法返回 `405`;仅显式放行 `POST /api/visit`(访问统计埋点)与 `POST /login`(会话),其余 POST/PUT/PATCH/DELETE 仍统一 `405`;
- 首页/榜单聚合结果缓存 1 小时,粉丝结果缓存 24 小时;快照、发现、入库/忽略/拉黑、候选清理和粉丝 CSV 导入会立即让对应缓存失效。