35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
|
|
# 2026-06-07 推送页目标路径默认值与 per-server 回退
|
|||
|
|
|
|||
|
|
## 摘要
|
|||
|
|
|
|||
|
|
修复推送页无法使用「服务器管理」中各机 `target_path` 的问题;列表增加目标路径列与批量检测。
|
|||
|
|
|
|||
|
|
## 动机
|
|||
|
|
|
|||
|
|
- 设计与后端均支持:推送页 **留空** → 按每台 `servers.target_path`;**填写** → 统一覆盖
|
|||
|
|
- 此前误将推送页默认设为 `/www/wwwroot`,导致列表里配置的路径被全局覆盖、形同无效
|
|||
|
|
- 服务器列表无目标路径列,无法核对配置;后端已有 `POST /servers/batch/detect-path` 但前端无入口
|
|||
|
|
|
|||
|
|
## 涉及文件
|
|||
|
|
|
|||
|
|
- `frontend/src/composables/push/usePushForm.ts` — 默认留空,`effectiveTargetPath()`,留空校验
|
|||
|
|
- `frontend/src/composables/push/usePushProgress.ts` / `usePushPreview.ts` — API 传 `effectiveTargetPath()`
|
|||
|
|
- `frontend/src/components/push/PushToolbar.vue` — hint 说明留空/覆盖语义
|
|||
|
|
- `frontend/src/components/push/PushServerGrid.vue` — 展示各机路径(含「未配置」)
|
|||
|
|
- `frontend/src/pages/ServersPage.vue` — 列表列、详情面板、批量「检测目标路径」(见 [2026-06-07-servers-batch-detect-path-restore.md](./2026-06-07-servers-batch-detect-path-restore.md))
|
|||
|
|
- `frontend/src/composables/push/types.ts` — `PushServerItem.target_path`
|
|||
|
|
|
|||
|
|
## 迁移 / 重启
|
|||
|
|
|
|||
|
|
无。仅前端构建部署。
|
|||
|
|
|
|||
|
|
## 验证
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd frontend && npm run build
|
|||
|
|
# 服务器页:列表见目标路径列;编辑保存后刷新可见
|
|||
|
|
# 推送页:目标路径留空 + 选中已配置服务器 → 预览/推送成功
|
|||
|
|
# 推送页:填写 /other/path → 覆盖所有选中机
|
|||
|
|
# 批量选中 → 「检测目标路径」调用 detect-path
|
|||
|
|
```
|