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

41 lines
1.6 KiB
Markdown
Raw Normal View History

# 2026-06-01 文件管理页迭代 v2
## 日期
2026-06-01
## 变更摘要
`#/files` 第二轮迭代:修复下载、预览对话框、URL 状态、筛选/拖拽上传、符号链接展示。
## 动机
- 下载 API 返回二进制流,原 `http.post` JSON 解析导致「下载已开始」但实际失败
- 预览用 snackbar 无法阅读;刷新丢失当前路径
- 对标历史 file-manager v2 规划中的状态栏、拖拽、筛选能力
## 涉及文件
- `frontend/src/api/index.ts``fetchAuthed` / `http.download`
- `frontend/src/utils/fileDownload.ts` — 浏览器保存 Blob
- `frontend/src/pages/FilesPage.vue` — UI/交互迭代
- `frontend/src/utils/remotePath.ts``validatePathSegment`
- `frontend/src/utils/fileBrowse.ts` / `types/api.ts` — symlink
- `server/api/sync_v2.py` — browse 返回 `symlink` + `link_target`
- `docs/design/plans/2026-06-01-files-page-iteration.md`
## 迁移 / 重启
- 前端构建部署至 `web/app/`
- 后端 `sync_v2.py` 需部署并 `supervisorctl restart nexus`symlink 字段)
## 追加(默认路径)
- 文件管理器初始/切换服务器时默认打开 `/www/wwwroot``DEFAULT_FILES_ROOT`
## 追加(交互)
- 进入目录/符号链接:单击行即可(不再要求双击)
- 普通文件:双击行打开 Monaco 编辑
## 验证方式
1. 选服务器进入子目录,URL 含 `?server_id=&path=`,刷新后位置保持
2. 双击目录进入;面包屑/上级可用
3. 下载文件可本地打开
4. 查看文本文件弹出预览对话框
5. 拖拽文件到列表区域触发上传
6. 筛选框过滤当前目录文件名