Files
Nexus/docs/design/plans/2026-06-02-files-refactor-P1.md
T
2026-06-02 05:05:26 +08:00

1.5 KiB
Raw Blame History

文件管理器重构 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 commitFilesPage.vue 单文件可独立回退。