2.0 KiB
2.0 KiB
跨服务器传输独立页面
日期:2026-06-21
摘要
将「跨服务器文件直传 / 打包投递」从文件管理页内嵌对话框拆分为独立 SPA 页面 #/server-transfer,侧栏新增入口;文件页工具栏与右键改为跳转并预填源机与路径。
动机
- 传输流程涉及源机浏览、多选、目标机与模式选择,独立页比对话框更易操作与扩展。
- 与文件管理职责分离:文件页专注浏览编辑,传输页专注 A→B 编排。
涉及文件
| 路径 | 变更 |
|---|---|
frontend/src/pages/ServerTransferPage.vue |
新建完整页(源浏览 + 目标配置 + 执行) |
frontend/src/composables/useServerFileTransfer.ts |
新建页 composable;支持 query source/path/paths |
frontend/src/router/index.ts |
路由 /server-transfer |
frontend/src/App.vue |
侧栏「跨服务器传输」 |
frontend/src/composables/files/useFilesActions.ts |
移除内嵌传输逻辑,改为 goToServerTransfer |
frontend/src/composables/files/useFilesPage.ts |
导出 goToServerTransfer |
frontend/src/components/files/FilesToolbar.vue |
按钮跳转独立页 |
frontend/src/components/files/FilesDialogs.vue |
移除传输对话框 |
web/app/assets/ServerTransferPage-* |
Vite 构建产物 |
行为说明
- 文件页选中项后点「发送到其他服务器」→
#/server-transfer?source=&path=&paths=(路径|分隔)。 - 独立页可手动输入绝对路径、浏览源机目录、直传或打包投递;目标路径仍用
localStorage键nexus:file-transfer-dest:{mode}:{serverId}。 - 后端 API 不变:
POST /sync/server-transfer、POST /sync/server-transfer/deliver。
迁移 / 重启
- 仅前端静态资源更新,无需 DB 迁移。
- 部署:重新
vite build并同步web/app/。
验证
cd frontend && npx vite build
# 浏览器:侧栏「跨服务器传输」;文件页选中后跳转预填;直传/投递 smoke