// WebSocketService.js let socket = null; let messages = ''; export const initializeWebSocket = (socketUrl, messageHandler) => { if (typeof WebSocket === "undefined") { console.log("Your browser does not support WebSocket"); return null; } const socket = new WebSocket(socketUrl); socket.onopen = function () { console.log("WebSocket is now open"); }; socket.onmessage = (msg) => { if (!msg.data) { return; } const isLastChunk = msg.data.endsWith(''); //是否为最后一块消息 messages += msg.data; if(isLastChunk||msg.data.length<50000) { messages= messages.replace('', ''); const obj = JSON.parse(messages); // 调用消息处理函数,将数据传递给 Vue 组件 if (messageHandler) { messageHandler(obj); } messages=''; } }; return socket; }; export const closeWebSocket = (socket) => { if (socket && socket.readyState === WebSocket.OPEN) { socket.close(); console.log("WebSocket connection closed"); } };