08a0157c95
调度页执行周期可视化/单次执行/分类选机/推送源对齐;登录 IP 门控与无缝导航; 服务器批量后台任务、执行记录、凭据合并、各页激活刷新与错误提示修复。 Co-authored-by: Cursor <cursoragent@cursor.com>
2.0 KiB
2.0 KiB
2026-06-08 登录 IP 门禁 + SPA 无感切换 — 验证报告
自动化验证(Agent)
| 检查 | 结果 | 证据 |
|---|---|---|
pytest tests/test_login_access.py |
PASS | 7/7 |
bash scripts/local_verify.sh |
PASS | smoke + test_api 26/26 + ruff |
cd frontend && npm run build |
PASS | vue-tsc + vite |
bash deploy/pre_deploy_check.sh |
PASS | 7/7 gates |
功能点核对
| ID | 验收项 | 本地 | 生产 |
|---|---|---|---|
| P0-1 | 白名单开启 + 非名单 IP → 无登录表单 | 代码 + 单测 | API 可访问 |
| P0-2 | 白名单 IP / 白名单关闭 → 正常表单 | 单测 | 待浏览器 |
| P1-1 | 登录成功 router.replace |
代码审查 | 待浏览器 |
| P2-1 | 侧栏切页 keep-alive 命中 | 代码审查 | 待浏览器 |
| P2-2 | 再激活 silent 刷新 | 代码审查 | 待浏览器 |
| P3-1 | Dashboard/Servers stats 共享缓存 key | 代码审查 | — |
| P4-1 | 侧栏 hover 200ms 预取 chunk | 代码审查 | Network 面板 |
| P4-2 | Dashboard/Servers 首次 loading 骨架屏 | 代码审查 | 待浏览器 |
生产部署
| 项 | 值 |
|---|---|
| 方式 | tar + scp 同步代码(Gitea 500 绕过)+ docker compose build nexus |
| 时间 | 2026-06-08 |
| 远程健康 | /health → ok · /app/ → 200 |
| 外网 | https://api.synaglobal.vip/health → ok |
用户终验清单
- 非白名单 IP(或临时关闭本机 IP):打开
/app/#/login— 仅提示卡 + 客户端 IP,无用户名/密码/TOTP/登录按钮。 - 白名单 IP 登录:正常表单 → 登录成功跳转仪表盘,无明显白屏。
- 侧栏往返:Dashboard → Servers → Scripts → Push → Files → Dashboard,观察 DOM 保留与无全屏 blocking overlay。
- ScriptRuns 详情:从脚本页进入执行详情,返回列表再进另一详情,数据正确切换。
回滚
git revert <commit>
bash deploy/deploy-production.sh
P0 单独 revert 不影响已登录 JWT 会话。