7af8812e26
add memory and disk monitoring cards with richer server metrics and localized labels in the workspace status panel group ssh terminal tabs by server with per-group add actions to make multi-terminal relationships clearer sync helloagents archive and module documentation for the completed workspace updates
66 lines
3.3 KiB
Markdown
66 lines
3.3 KiB
Markdown
# 变更提案: connections-tree-toolbar-menu-polish
|
|
|
|
## 元信息
|
|
```yaml
|
|
类型: 功能增强
|
|
方案类型: implementation
|
|
优先级: P1
|
|
状态: 已完成
|
|
状态说明: 已完成连接管理页树工具栏与行内更多菜单整理,并完成构建及启动验证
|
|
创建: 2026-03-25
|
|
```
|
|
|
|
---
|
|
|
|
## 1. 需求
|
|
|
|
### 背景
|
|
连接管理页上一轮已经补上多级标签树、列头排序和基础版“更多”菜单,但和参考图相比,左侧树仍缺少操作性工具栏,展开/折叠控制也不够直接;右侧列表的行内操作区仍显得偏拥挤,没有真正形成“连接主按钮 + 次级动作入菜单”的层次。
|
|
|
|
### 目标
|
|
- 为左侧标签树补充更接近管理面板的树工具栏。
|
|
- 提供明确的展开全部 / 收起全部控制。
|
|
- 保留“连接”为主按钮,将编辑、测试、克隆、删除等操作整合进更完整的“更多”菜单。
|
|
|
|
### 约束条件
|
|
```yaml
|
|
范围约束: 优先限制在 ConnectionsView.vue,不改后端接口和 store 结构
|
|
兼容约束: 保留现有连接、编辑、测试、批量编辑和批量删除能力
|
|
交互约束: 行内主操作只保留“连接”,其余动作进入更多菜单
|
|
视觉约束: 延续当前黑绿主题和现有双栏管理台风格
|
|
```
|
|
|
|
### 验收标准
|
|
- [ ] 左侧树区域出现工具栏,并提供至少展开全部、收起全部两个控制
|
|
- [ ] 行内主按钮只保留“连接”,编辑、测试、克隆、删除统一纳入更多菜单
|
|
- [ ] 更多菜单在 SSH / 非 SSH 连接上都保持合理动作集合与禁用状态
|
|
- [ ] 前端构建通过
|
|
|
|
---
|
|
|
|
## 2. 方案
|
|
|
|
### 技术方案
|
|
在 `ConnectionsView.vue` 中补充树工具栏状态与辅助函数,基于现有 `tagTreeNodes` 统一派生全部可展开节点,实现展开全部/收起全部和范围清理;右侧结果区压缩主操作区,仅保留连接按钮,将测试、编辑、克隆、删除以受控下拉菜单方式集中呈现,并根据连接类型和批量模式控制可用性。
|
|
|
|
### 影响范围
|
|
```yaml
|
|
涉及模块:
|
|
- frontend: ConnectionsView.vue
|
|
预计变更文件: 1
|
|
```
|
|
|
|
### 风险评估
|
|
| 风险 | 等级 | 应对 |
|
|
|------|------|------|
|
|
| 树工具栏和现有折叠按钮语义重叠 | 低 | 保留面板级收起,新增树级展开/收起,职责区分为“区域显隐”与“树层级控制” |
|
|
| 菜单动作收拢后可发现性下降 | 中 | 保留醒目的“更多”按钮文案和图标,并把最常用动作排在菜单前部 |
|
|
| 批量模式下菜单误触发行选择 | 低 | 菜单按钮和菜单项统一 stopPropagation,并在批量模式下明确禁用 |
|
|
|
|
### 实施结果
|
|
- `ConnectionsView.vue` 已新增树工具栏,提供展开全部、收起全部和重置范围控制,并在工具栏中回显当前范围标题。
|
|
- 左侧树继续复用现有多级标签路径推导,同时把“区域显隐”和“层级展开控制”分开处理。
|
|
- 右侧行内操作区已压缩为“连接”主按钮加“更多”菜单;编辑、测试、克隆、删除均移入菜单,SSH 测试项按连接类型显示。
|
|
- `npm run build --workspace @nexus-terminal/frontend` 通过。
|
|
- 运行态验证已完成前端预览启动,应用可进入登录页;但当前本地环境的 `/api/v1/*` 接口均返回 500,无法进入已登录的连接管理页做带数据目视验收。
|