From f9ef3d63c790dc3be647a28898ad48192815d9cb Mon Sep 17 00:00:00 2001 From: bietiaop <1527109126@qq.com> Date: Sun, 2 Feb 2025 11:57:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20id=E7=94=9F=E6=88=90=E4=BD=BF=E7=94=A8uu?= =?UTF-8?q?id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/webui/src/terminal/terminal_manager.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/webui/src/terminal/terminal_manager.ts b/src/webui/src/terminal/terminal_manager.ts index 4d467013..60d6309f 100644 --- a/src/webui/src/terminal/terminal_manager.ts +++ b/src/webui/src/terminal/terminal_manager.ts @@ -4,6 +4,7 @@ import { LogWrapper } from '@/common/log'; import { WebSocket, WebSocketServer } from 'ws'; import os from 'os'; import { IPty, spawn as ptySpawn } from 'node-pty'; +import { randomUUID } from 'crypto'; interface TerminalInstance { pty: IPty; // 改用 PTY 实例 @@ -94,7 +95,9 @@ class TerminalManager { }); } - createTerminal(id: string) { + // 修改:移除参数 id,使用 crypto.randomUUID 生成终端 id + createTerminal() { + const id = randomUUID(); const shell = os.platform() === 'win32' ? 'powershell.exe' : 'bash'; const pty = ptySpawn(shell, [], { name: 'xterm-256color', @@ -128,7 +131,8 @@ class TerminalManager { }); this.terminals.set(id, instance); - return instance; + // 返回生成的 id 及对应实例,方便后续通知客户端使用该 id + return { id, instance }; } closeTerminal(id: string) {