629d8b3e26
路由注解 dict[str,str] 与 bootstrapped 布尔字段冲突,FastAPI 响应校验失败。
1.9 KiB
1.9 KiB
审计 — 2026-06-21 宝塔一键登录自动 bootstrap
Changelog: docs/changelog/2026-06-21-btpanel-login-auto-bootstrap.md
Step 3 规则扫描
| 文件 | 规则 | 结论 |
|---|---|---|
btpanel_service.py create_login_url |
未配置先 bootstrap,失败显式 ValueError;审计含 bootstrapped | PASS |
useBtPanelLogin.ts |
无静默吞错,成功提示区分 bootstrap | PASS |
BtPanelLoginPage.vue |
移除未配置拦截,与 servers 页一致 | PASS |
bootstrap_server |
复用既有锁与 immediate 源,无重复 SSH 逻辑 | PASS |
Closure
| 项 | 状态 | 说明 |
|---|---|---|
| 未配置仅 SSH 登录 | FIXED | login-url 先 immediate bootstrap |
| 前端需手动获取 API | FIXED | 一键登录单请求完成 |
| 宝塔页拦截未配置 | FIXED | 与 servers 行为统一 |
文件清单
server/application/services/btpanel_service.pyserver/infrastructure/btpanel/client.pyfrontend/src/App.vuefrontend/src/api/btpanel.tsfrontend/src/types/global.d.tsfrontend/src/composables/btpanel/useBtPanelLogin.tsfrontend/src/composables/btpanel/useBtPanelBatchBootstrap.tsfrontend/src/components/btpanel/BtPanelBatchBootstrapDialog.vuefrontend/src/components/servers/ServerBatchActionBar.vuefrontend/src/components/servers/ServerUnsetPathPanel.vuefrontend/src/pages/ServersPage.vuefrontend/src/pages/btpanel/BtPanelLoginPage.vuefrontend/src/pages/btpanel/BtPanelMonitorPage.vuetests/test_btpanel_login_url.pytests/test_btpanel_client.pytests/test_btpanel_login_url_route.pyserver/api/btpanel.pydocs/changelog/2026-06-21-btpanel-login-auto-bootstrap.md
DoD
#/servers一键登录未配置时自动获取 API 后打开面板- bootstrap 失败返回可读错误
pytest tests/test_btpanel_login_url.py通过- changelog 已写