Files
Nexus/docs/design/plans/2026-06-01-files-page-iteration.md
T

1.1 KiB
Raw Blame History

文件管理页迭代(SPA #/files

背景

FilesPage.vue 已修复 browse 契约与面包屑;仍缺生产级文件管理体验(下载、预览、状态持久化、过滤等)。

目标

  1. 下载:对接 StreamingResponse,浏览器真实保存文件
  2. 预览:对话框展示文本(非 snackbar 全文)
  3. 路由:?server_id=&path= 刷新可恢复
  4. UX:状态栏、名称过滤、双击进目录、拖拽上传、符号链接展示

涉及文件

  • frontend/src/api/index.tshttp.download
  • frontend/src/utils/fileDownload.ts — 触发浏览器保存
  • frontend/src/utils/fileBrowse.ts / types/api.ts — symlink 类型
  • server/api/sync_v2.py — browse 返回 symlink + link_target
  • frontend/src/pages/FilesPage.vue — UI 迭代

验收

  • 点击下载得到本地文件且可打开
  • 预览大文件在对话框内滚动,不超过 read-file 限制
  • 刷新页面保留服务器与路径(query
  • 面包屑/上级/双击目录行为一致
  • 空目录显示「暂无文件」且状态栏计数为 0