28 lines
939 B
Markdown
28 lines
939 B
Markdown
|
|
# 文件管理器重构 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 相同)
|