08a0157c95
调度页执行周期可视化/单次执行/分类选机/推送源对齐;登录 IP 门控与无缝导航; 服务器批量后台任务、执行记录、凭据合并、各页激活刷新与错误提示修复。 Co-authored-by: Cursor <cursoragent@cursor.com>
1.6 KiB
1.6 KiB
Changelog — 登录 IP 门禁 + SPA 无感切换(2026-06-08)
摘要
非白名单 IP 登录页仅展示提示卡(无表单);已登录 SPA 侧栏切页通过 keep-alive、数据缓存与预取减少白屏与重复请求。
动机
- 白名单开启时,非授权 IP 不应闪现用户名/密码表单。
- 登录成功与侧栏导航频繁 remount 导致白屏与重复拉数,影响 2000+ 子机运维体验。
涉及文件
| 区域 | 文件 |
|---|---|
| P0 后端 | server/utils/login_allowlist.py、server/api/auth.py、server/api/auth_jwt.py、server/application/services/auth_service.py |
| P0 前端 | frontend/src/pages/LoginPage.vue |
| P1 路由壳 | frontend/src/App.vue、frontend/src/constants/cachedPages.ts |
| P2 激活刷新 | frontend/src/composables/usePageActivateRefresh.ts、12 页 *Page.vue(排除 Terminal/Login) |
| P3 缓存 | frontend/src/composables/useCachedQuery.ts、useServerCategories.ts、DashboardPage.vue、ServersPage.vue |
| P4 预取/骨架 | frontend/src/composables/useRoutePrefetch.ts、DashboardPage.vue、ServersPage.vue |
| 测试 | tests/test_login_access.py |
迁移 / 重启
- 无 DB 迁移。
- 需重启 API;前端需
npm run build并部署web/app/。
验证
pytest tests/test_login_access.py
bash scripts/local_verify.sh
cd frontend && npm run build
bash deploy/pre_deploy_check.sh
浏览器:非白名单 IP 无登录表单;白名单登录;侧栏往返 5 页无白屏。
回滚
Revert 本批次 commit;P0 可独立 revert,不影响已登录会话。