From d619e3c2e68b8e98f51f3c01d83052d06e964b2a Mon Sep 17 00:00:00 2001 From: "Ray.Hao" <1490493387@qq.com> Date: Tue, 29 Apr 2025 23:46:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(websocket):=20:bug:=20=E5=AE=8C=E5=96=84Web?= =?UTF-8?q?Socket=E7=AB=AF=E7=82=B9=E9=85=8D=E7=BD=AE=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在所有WebSocket相关组件中添加对VITE_APP_WS_ENDPOINT的检查 确保未配置WebSocket端点时不会尝试建立连接 防止出现"brokerURL or webSocketFactory must be provided"错误 --- src/hooks/websocket/core/useStomp.ts | 12 ++++++++++++ src/hooks/websocket/services/useDictSync.ts | 7 +++++++ src/hooks/websocket/services/useOnlineCount.ts | 7 +++++++ 3 files changed, 26 insertions(+) diff --git a/src/hooks/websocket/core/useStomp.ts b/src/hooks/websocket/core/useStomp.ts index 74897755..a3874ff6 100644 --- a/src/hooks/websocket/core/useStomp.ts +++ b/src/hooks/websocket/core/useStomp.ts @@ -59,6 +59,12 @@ export function useStomp(options: UseStompOptions = {}) { return; } + // 检查WebSocket端点是否配置 + if (!brokerURL.value) { + console.error("WebSocket连接失败: 未配置WebSocket端点URL"); + return; + } + // 每次连接前重新获取最新令牌,不依赖之前的token值 const currentToken = getAccessToken(); @@ -190,6 +196,12 @@ export function useStomp(options: UseStompOptions = {}) { * 激活连接(如果已经连接或正在激活则直接返回) */ const connect = () => { + // 检查是否有配置WebSocket端点 + if (!brokerURL.value) { + console.error("WebSocket连接失败: 未配置WebSocket端点URL"); + return; + } + if (!client.value) { initializeClient(); } diff --git a/src/hooks/websocket/services/useDictSync.ts b/src/hooks/websocket/services/useDictSync.ts index fa2257f3..d89f867f 100644 --- a/src/hooks/websocket/services/useDictSync.ts +++ b/src/hooks/websocket/services/useDictSync.ts @@ -59,6 +59,13 @@ function createDictSyncHook() { */ const initWebSocket = async () => { try { + // 检查是否配置了WebSocket端点 + const wsEndpoint = import.meta.env.VITE_APP_WS_ENDPOINT; + if (!wsEndpoint) { + console.log("[WebSocket] 未配置WebSocket端点,跳过连接"); + return; + } + // 连接WebSocket connect(); diff --git a/src/hooks/websocket/services/useOnlineCount.ts b/src/hooks/websocket/services/useOnlineCount.ts index 4eae5471..be81365c 100644 --- a/src/hooks/websocket/services/useOnlineCount.ts +++ b/src/hooks/websocket/services/useOnlineCount.ts @@ -91,6 +91,13 @@ export function useOnlineCount() { const initWebSocket = () => { if (isConnecting.value) return; + // 检查WebSocket端点是否配置 + const wsEndpoint = import.meta.env.VITE_APP_WS_ENDPOINT; + if (!wsEndpoint) { + console.log("未配置WebSocket端点(VITE_APP_WS_ENDPOINT),跳过WebSocket连接"); + return; + } + // 检查是否有可用的令牌 const hasToken = !!getAccessToken(); if (!hasToken) {