# 变更提案: workbench-file-folder-overview ## 元信息 ```yaml 类型: 功能调整 方案类型: implementation 优先级: P1 状态: 已完成 状态说明: 已改成多根目录常驻的文件夹总览视图,并通过前端构建验证 创建: 2026-03-26 ``` --- ## 1. 需求 ### 背景 上一轮把工作台文件区改成了“左侧多根目录树 + 右侧当前目录文件表格”,但实际使用上仍然是点击目录后切成某一个目录的单独视图,不符合参考图想要的“多根目录持续保留、同时浏览多个文件夹层级”的交互。 ### 目标 - 保留多根目录作为长期可见的浏览主体。 - 点击文件夹时不再把界面切成单目录文件表格。 - 右侧改成多根目录下的文件夹总览,持续显示不同目录层级。 ### 约束条件 ```yaml 范围约束: 优先只改 FileManager.vue,不改后端接口与 SFTP 协议 状态约束: 继续复用 favoritePaths 与 useSftpActions 的 fileTree/loadDirectory 交互约束: 文件区以目录浏览为主,不再横向展示当前目录下的具体文件列表 兼容约束: 路径输入、收藏路径、上传和新建动作仍依赖 currentPath 保持可用 ``` ### 验收标准 - [x] 左侧多根目录树持续可见 - [x] 点击文件夹后右侧不再变成单目录文件表格 - [x] 右侧改为多根目录下的文件夹总览,能同时显示不同目录层级 - [x] 前端构建通过 --- ## 2. 方案 ### 技术方案 继续以 `FileManager.vue` 为核心,保留左侧多根目录树,但树和右侧总览都只展示目录节点,不再渲染具体文件。右侧使用 `fileTree` 缓存派生出按根目录分组的文件夹总览卡片,点击目录只触发展开与目录聚焦,不再切换成单个目录的文件表格视图。 ### 影响范围 ```yaml 涉及模块: - frontend: FileManager.vue 预计变更文件: 1-4 ``` ### 风险评估 | 风险 | 等级 | 应对 | |------|------|------| | `loadDirectory(path)` 仍会更新 currentPath,导致操作目录与浏览目录耦合 | 中 | 将 currentPath 明确视为“当前操作目录”,界面主体不再依赖它切换视图 | | 去掉文件表格后,部分基于当前目录文件列表的交互入口暂时只剩路径输入和上传/新建 | 中 | 本轮先满足目录总览需求,不扩展新的文件级操作入口 | | 收藏路径存在父子重叠时,不同根目录区块会重复展示部分目录 | 低 | 保留重复,维持“每个根目录独立浏览”的用户心智 |