Files

25 lines
1.1 KiB
Markdown
Raw Permalink Normal View History

# 文件管理页迭代(SPA #/files
## 背景
`FilesPage.vue` 已修复 browse 契约与面包屑;仍缺生产级文件管理体验(下载、预览、状态持久化、过滤等)。
## 目标
1. 下载:对接 `StreamingResponse`,浏览器真实保存文件
2. 预览:对话框展示文本(非 snackbar 全文)
3. 路由:`?server_id=&path=` 刷新可恢复
4. UX:状态栏、名称过滤、双击进目录、拖拽上传、符号链接展示
## 涉及文件
- `frontend/src/api/index.ts``http.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