7cbddf5d48
Co-authored-by: Cursor <cursoragent@cursor.com>
1.5 KiB
1.5 KiB
文件管理器重构 P1 — 拆分 Composable
日期: 2026-06-02
设计: docs/design/specs/2026-06-02-files-refactor-design.md §3 P1
前置: P0 JWT 主动续期(已完成)
目标
- 将
FilesPage.vue业务逻辑迁入stores/files.ts+composables/files/* FilesPage.vue仅保留模板、筛选 UI 状态、组合 composable(目标 script < 400 行,P2 再压至 ≤250)- 引入 Pinia 单一真相 + 5s 目录缓存(P3 子集)
文件清单
| 路径 | 职责 |
|---|---|
frontend/src/stores/files.ts |
服务器/路径/列表/loading/权限/缓存 |
frontend/src/composables/files/constants.ts |
sessionStorage 键 |
frontend/src/composables/files/useFilesBrowse.ts |
browse、错误文案、emptyHint |
frontend/src/composables/files/useFilesNavigation.ts |
路由同步、面包屑、初始化、watch |
frontend/src/composables/files/useFilesPermissions.ts |
capability、横幅、一键 sudo |
frontend/src/composables/files/useFilesEditor.ts |
预览/编辑/保存回调 |
frontend/src/composables/files/useFilesActions.ts |
上传/删除/重命名/压缩等 |
frontend/src/composables/files/index.ts |
桶导出 |
frontend/src/pages/FilesPage.vue |
瘦身后页面 |
测试要点
npx vite build通过- 进目录仍 ≤1 次
/sync/browse(缓存命中 0 次) - 切换服务器、面包屑、粘贴、编辑、sudo 一键配置行为不变
回滚
git revert P1 commit;FilesPage.vue 单文件可独立回退。