Files
Nexus/docs/design/plans/2026-06-02-files-refactor-P2.md
T

28 lines
939 B
Markdown
Raw Normal View History

# 文件管理器重构 P2 — 拆分 Vue 组件
**日期**: 2026-06-02
**设计**: `docs/design/specs/2026-06-02-files-refactor-design.md` §3 P2
**前置**: P1 composable + Pinia store
## 目标
- 模板迁入 `frontend/src/components/files/*`
- `FilesPage.vue` ≤ 250 行(实际 ~45 行模板 + ~25 行 script
- 子组件通过 `provideFilesPage` / `useFilesPageContext` 共享状态,避免 props 爆炸
## 组件清单
| 组件 | 职责 |
|------|------|
| `FilesToolbar.vue` | 服务器、路径、筛选、操作按钮 |
| `FilesPermissionAlert.vue` | 权限横幅 + 一键 sudo |
| `FilesStatusBar.vue` | 目录统计、剪贴板提示 |
| `FilesBreadcrumb.vue` | 面包屑 + 批量操作条 |
| `FilesList.vue` | 表格、拖拽上传、右键菜单 |
| `FilesDialogs.vue` | 上传/新建/删除/重命名/压缩/预览等对话框 |
## 验证
- `npx vite build`
- 文件管理全功能回归(与 P1 相同)