3d26bffc99
新增“上传文件夹”入口,选择目录后先在浏览器端打包为 zip, 上传完成后自动触发远端解压并尝试清理临时压缩包。 同时重排文件右键菜单,补齐终端子菜单、复制文件名与绝对路径等操作, 并扩展上传任务状态展示。 同步前后端包版本到 1.0.0,并将设置页版本显示规范为 1.0
2.5 KiB
2.5 KiB
变更提案: file-context-menu-terminal-actions
元信息
类型: 功能增强
方案类型: implementation
优先级: P1
状态: 已完成
状态说明: 已按参考图重排文件右键菜单并补终端子菜单动作,前端构建通过
创建: 2026-03-26
1. 需求
背景
当前文件区已有右键菜单基础能力,但结构、顺序和终端相关动作与参考图差距较大,尤其缺少“执行 cd 命令到终端 / 新建终端到当前目录”这类直接联动终端的入口。
目标
- 将文件右键菜单按参考图重排为更接近资源管理器的结构。
- 补齐终端子菜单,支持发送
cd命令和新建终端到当前目录。 - 保留现有下载、权限、复制路径、删除、上传等文件动作。
约束条件
范围约束: 优先限制在 FileManager.vue、FileManagerContextMenu.vue 和 useFileManagerContextMenu.ts
交互约束: 菜单结构接近参考图,但仍复用现有文件动作和上下文选择逻辑
兼容约束: 空白处右键、多选右键和单文件右键保持可用
后端约束: 不新增后端接口
验收标准
- 单文件/目录右键菜单顺序与分组接近参考图
- 终端子菜单支持“执行 cd 命令到终端 / 新建终端到当前目录”
- 文件名和绝对路径可分别复制
- 前端构建通过
2. 方案
技术方案
在 useFileManagerContextMenu.ts 中扩展菜单项模型,支持图标、危险态和更明确的子菜单结构;重排单项右键菜单为“刷新 / 新建 / 重命名 / 下载 / 权限 / 终端 / 复制 / 删除 / 上传”顺序,并将终端子菜单动作通过 FileManager.vue 暴露的现有终端发送逻辑与新建会话逻辑实现。FileManagerContextMenu.vue 同步渲染图标、危险态和二级菜单样式。
影响范围
涉及模块:
- frontend: FileManager.vue
- frontend: FileManagerContextMenu.vue
- frontend: useFileManagerContextMenu.ts
预计变更文件: 3-6
风险评估
| 风险 | 等级 | 应对 |
|---|---|---|
新建终端后过早发送 cd 命令可能丢失 |
中 | 在新会话收到 ssh:connected 后再发送一次 cd |
| 单项菜单重排后与多选/空白处菜单的分组不一致 | 低 | 仅对单项菜单贴近参考图,多选和空白处菜单保留现有能力并做最小整理 |
| locale 新增文案可能与其他并行改动冲突 | 低 | 只做精确增量补丁,避免覆盖已有键 |