From 14c61815c663810493473133ad7d596a9bfbe70c Mon Sep 17 00:00:00 2001 From: MoeSnowyFox Date: Sun, 21 Sep 2025 00:13:26 +0800 Subject: [PATCH] =?UTF-8?q?fix(Scripts.vue):=20=E4=BC=98=E5=8C=96WebSocket?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复语法错误(但愿逻辑不要炸) --- frontend/src/views/Scripts.vue | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/frontend/src/views/Scripts.vue b/frontend/src/views/Scripts.vue index ef56274..21d39eb 100644 --- a/frontend/src/views/Scripts.vue +++ b/frontend/src/views/Scripts.vue @@ -257,7 +257,7 @@ import { TaskCreateIn } from '@/api/models/TaskCreateIn' import MarkdownIt from 'markdown-it' const router = useRouter() -const { addScript, deleteScript, getScriptsWithUsers, loading } = useScriptApi() +const { addScript, deleteScript, getScriptsWithUsers } = useScriptApi() const { updateUser, deleteUser } = useUserApi() const { subscribe, unsubscribe } = useWebSocket() const { getWebConfigTemplates, importScriptFromWeb } = useTemplateApi() @@ -543,17 +543,20 @@ const handleStartMAAConfig = async (script: Script) => { // 订阅WebSocket消息 subscribe(response.websocketId, { - onError: error => { - console.error(`脚本 ${script.name} 连接错误:`, error) - message.error(`MAA配置连接失败: ${error}`) - activeConnections.value.delete(script.id) - // 连接错误时隐藏遮罩 - showMAAConfigMask.value = false - currentConfigScript.value = null - }, - onResult: (data: any) => { + onMessage: (wsMessage: any) => { + // 处理错误消息 + if (wsMessage.type === 'error') { + console.error(`脚本 ${script.name} 连接错误:`, wsMessage.data) + message.error(`MAA配置连接失败: ${wsMessage.data}`) + activeConnections.value.delete(script.id) + // 连接错误时隐藏遮罩 + showMAAConfigMask.value = false + currentConfigScript.value = null + return + } + // 处理配置完成消息(兼容任何结构) - if (data.Accomplish) { + if (wsMessage.data && wsMessage.data.Accomplish) { message.success(`${script.name} 配置已完成`) activeConnections.value.delete(script.id) // 自动隐藏遮罩