From 5dd3bade534ec0089e1cc016dfcff2a477894913 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Thu, 22 May 2025 11:47:31 +0800 Subject: [PATCH] fix: #1029 --- napcat.webui/src/pages/dashboard/terminal.tsx | 4 ++-- src/webui/src/api/Log.ts | 3 +++ src/webui/src/terminal/init-dynamic-dirname.ts | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/napcat.webui/src/pages/dashboard/terminal.tsx b/napcat.webui/src/pages/dashboard/terminal.tsx index 34c22c0d..0328ed6b 100644 --- a/napcat.webui/src/pages/dashboard/terminal.tsx +++ b/napcat.webui/src/pages/dashboard/terminal.tsx @@ -56,9 +56,9 @@ export default function TerminalPage() { setTabs((prev) => [...prev, newTab]) setSelectedTab(id) - } catch (error) { + } catch (error: unknown) { console.error('Failed to create terminal:', error) - toast.error('创建终端失败') + toast.error((error as Error).message) } } diff --git a/src/webui/src/api/Log.ts b/src/webui/src/api/Log.ts index 4e66ee3e..38913432 100644 --- a/src/webui/src/api/Log.ts +++ b/src/webui/src/api/Log.ts @@ -47,6 +47,9 @@ export const CreateTerminalHandler: RequestHandler = async (req, res) => { if (isMacOS) { return sendError(res, 'MacOS不支持终端'); } + if ((await WebUiConfig.GetWebUIConfig()).token === 'napcat') { + return sendError(res, '默认密码禁止创建终端'); + } try { const { cols, rows } = req.body; const { id } = terminalManager.createTerminal(cols, rows); diff --git a/src/webui/src/terminal/init-dynamic-dirname.ts b/src/webui/src/terminal/init-dynamic-dirname.ts index 9c6ee8d8..9b5b0008 100644 --- a/src/webui/src/terminal/init-dynamic-dirname.ts +++ b/src/webui/src/terminal/init-dynamic-dirname.ts @@ -9,7 +9,7 @@ Object.defineProperty(global, '__dirname', { // 注意:堆栈格式可能不同,请根据实际环境调整索引及正则表达式 for (const line of stack) { const match = line.match(/\((.*):\d+:\d+\)/); - if (match) { + if (match?.[1]) { callerFile = match[1]; if (!callerFile.includes('init-dynamic-dirname.ts')) { break;