6253b90151
为 SSH 顶部服务器标签和内部终端标签补充 `%` 运行中提示, 并基于发送命令、shell prompt、断连与错误链路派生运行态。
56 lines
2.8 KiB
Markdown
56 lines
2.8 KiB
Markdown
# 任务清单: terminal-running-indicator
|
|
|
|
> **@status:** completed | 2026-04-19 21:31
|
|
|
|
```yaml
|
|
@feature: terminal-running-indicator
|
|
@created: 2026-04-19
|
|
@status: completed
|
|
@mode: R2
|
|
```
|
|
|
|
## 进度概览
|
|
|
|
| 完成 | 失败 | 跳过 | 总数 |
|
|
|------|------|------|------|
|
|
| 6 | 0 | 0 | 6 |
|
|
|
|
---
|
|
|
|
## 任务列表
|
|
|
|
### 1. 运行态链路补齐
|
|
|
|
- [√] 1.1 在 `packages/frontend/src/stores/session/types.ts` 与 `packages/frontend/src/stores/session/actions/sessionActions.ts` 中为 SSH 会话补充命令运行态与终端输入缓存字段,并完成新会话初始化 | depends_on: []
|
|
- [√] 1.2 在 `packages/frontend/src/stores/session/getters.ts` 与 `packages/frontend/src/composables/useSshTerminal.ts` 中接入“发送非空命令置位、prompt/中断/断连清除”的派生逻辑 | depends_on: [1.1]
|
|
|
|
### 2. 标签 UI 展示
|
|
|
|
- [√] 2.1 在 `packages/frontend/src/components/TerminalTabBar.vue` 中为 SSH 顶部服务器标签补充按连接聚合的 `%` 运行中提示 | depends_on: [1.2]
|
|
- [√] 2.2 在 `packages/frontend/src/components/LayoutRenderer.vue` 中为当前服务器内部终端标签补充逐终端 `%` 运行中提示 | depends_on: [1.2]
|
|
- [√] 2.3 在 `packages/frontend/src/locales/zh-CN.json`、`packages/frontend/src/locales/en-US.json` 与 `packages/frontend/src/locales/ja-JP.json` 中补充运行态 tooltip 文案 | depends_on: [2.1, 2.2]
|
|
|
|
### 3. 验证与同步
|
|
|
|
- [√] 3.1 运行 `npm --workspace @nexus-terminal/frontend run build` 验证编译通过,并同步知识库与方案状态 | depends_on: [2.3]
|
|
|
|
---
|
|
|
|
## 执行日志
|
|
|
|
| 时间 | 任务 | 状态 | 备注 |
|
|
|------|------|------|------|
|
|
| 2026-04-19 21:06 | 方案包创建 | 完成 | 已创建 `202604192106_terminal-running-indicator`,按 R2 流程进入开发实施 |
|
|
| 2026-04-19 21:19 | 1.1 / 1.2 | 完成 | 已为 SSH 会话补充 `isCommandRunning` 与 `terminalInputBuffer`,并在 `useSshTerminal.ts` 中接入发送置位、prompt/中断/断连清除逻辑 |
|
|
| 2026-04-19 21:23 | 2.1 / 2.2 / 2.3 | 完成 | 顶部服务器标签与服务器内终端标签已显示 `%` 运行态提示,并补齐中英日 tooltip 文案 |
|
|
| 2026-04-19 21:30 | 3.1 | 完成 | `npm --workspace @nexus-terminal/frontend run build` 通过,并同步 `frontend.md` 与 `CHANGELOG.md` |
|
|
|
|
---
|
|
|
|
## 执行备注
|
|
|
|
- 本轮范围限制在 `packages/frontend`,不改 backend WebSocket 协议与 SSH session 模型。
|
|
- 运行态以前端派生值为准,允许在无法识别 prompt 的极少数 shell 场景中退化为“中断/新输入/断连清除”。
|
|
- 顶部服务器标签只做按连接聚合展示,内部终端标签负责表达具体哪一个终端仍在运行。
|
|
- 方案设计时预估会在 `WorkspaceView.vue` 接入运行态,但最终为了覆盖文件管理器等直接调用 `terminalManager.sendData()` 的链路,将输入跟踪统一收口到了 `useSshTerminal.ts`。
|