Files
Nexus/docs/design/plans/2026-06-20-btpanel-module.md
T
r 82426b1941 feat(btpanel): 独立宝塔模块与 SSH 自动获取 API
新增侧栏「宝塔面板」菜单、代理 API 与连接配置页;通过 SSH 读写子机
api.json 自动写入凭据,5 分钟后台重试,含审计修复、检测缓存与并发锁。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-21 09:13:14 +08:00

35 lines
1.1 KiB
Markdown

# 宝塔面板独立模块 — 实施计划
## 涉及文件
### 后端(新增)
- `server/infrastructure/btpanel/credentials.py` — extra_attrs 读写与解密
- `server/infrastructure/btpanel/client.py` — 签名、Cookie、POST 代理
- `server/infrastructure/btpanel/ssh_login.py` — SSH 临时登录链接
- `server/application/services/btpanel_service.py` — 业务编排
- `server/api/btpanel.py` — HTTP 路由
- `server/api/btpanel_schemas.py` — Pydantic 模型
- `tests/test_btpanel_client.py` — 签名与凭据单测
### 后端(修改)
- `server/main.py` — 挂载 router
### 前端(新增)
- `frontend/src/pages/btpanel/*.vue` — 9 个子页
- `frontend/src/components/btpanel/BtPanelServerPicker.vue`
- `frontend/src/composables/btpanel/useBtPanelServer.ts`
- `frontend/src/api/btpanel.ts`
### 前端(修改)
- `frontend/src/router/index.ts`
- `frontend/src/App.vue` — 独立导航分组
- `frontend/src/constants/cachedPages.ts`
## 回滚
删除 `server/api/btpanel.py``server/infrastructure/btpanel/`,移除路由与菜单即可;`extra_attrs.bt_panel` 可保留无害。