Files
Nexus/docs/changelog/2026-07-09-btpanel-not-installed-hint.md
T

29 lines
1.0 KiB
Markdown
Raw Normal View History

# 宝塔未安装时一键登录友好提示
**日期**2026-07-09
## 摘要
未安装宝塔的子机点击「宝塔一键登录」时,不再抛出 Python `ModuleNotFoundError: public` 堆栈,改为明确中文:`该机未检测到宝塔面板…`
## 动机
运维误对无宝塔机器点登录,SSH 回退脚本 `import public` 失败,前端只显示晦涩 Traceback。
## 涉及文件
| 路径 | 说明 |
|------|------|
| `server/infrastructure/btpanel/ssh_login.py` | `BtPanelNotInstalledError``humanize_ssh_login_error`、SSH 前检测 `common.py` |
| `server/application/services/btpanel_service.py` | bootstrap `bt_not_installed` 不再回退 SSH |
| `server/api/btpanel.py` | 400 + 友好 `detail` |
| `tests/test_btpanel_ssh_login.py` | 未安装 / public 模块报错映射 |
## 验证
```bash
.venv/bin/pytest tests/test_btpanel_ssh_login.py tests/test_btpanel_temp_login_ttl.py -q
```
对未装宝塔机器 `POST /api/btpanel/servers/{id}/login-url` → HTTP 400,detail 含「未检测到宝塔面板」。