Files
Nexus/docs/changelog/2026-06-21-server-transfer-page.md
2026-07-08 22:31:31 +08:00

2.0 KiB
Raw Permalink Blame History

跨服务器传输独立页面

日期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=(路径 | 分隔)。
  • 独立页可手动输入绝对路径、浏览源机目录、直传或打包投递;目标路径仍用 localStoragenexus:file-transfer-dest:{mode}:{serverId}
  • 后端 API 不变:POST /sync/server-transferPOST /sync/server-transfer/deliver

迁移 / 重启

  • 仅前端静态资源更新,无需 DB 迁移。
  • 部署:重新 vite build 并同步 web/app/

验证

cd frontend && npx vite build
# 浏览器:侧栏「跨服务器传输」;文件页选中后跳转预填;直传/投递 smoke