From 772885de35e57e6a2c805ef9274ab0ec874f6d3c Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期六, 23 十二月 2023 19:49:17 +0800 Subject: [PATCH] update 优化 websocket 代码实现 --- src/utils/websocket.ts | 23 +++++++++++++++-------- 1 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/utils/websocket.ts b/src/utils/websocket.ts index 90e86bf..d4dd8a8 100644 --- a/src/utils/websocket.ts +++ b/src/utils/websocket.ts @@ -19,9 +19,8 @@ */ import { getToken } from '@/utils/auth'; +import { ElNotification } from 'element-plus'; import useNoticeStore from '@/store/modules/notice'; - -const { addNotice } = useNoticeStore(); let socketUrl: any = ''; // socket鍦板潃 let websocket: any = null; // websocket 瀹炰緥 @@ -32,6 +31,9 @@ // 鍒濆鍖杝ocket export const initWebSocket = (url: any) => { + if (import.meta.env.VITE_APP_WEBSOCKET === 'false') { + return; + } socketUrl = url; // 鍒濆鍖� websocket websocket = new WebSocket(url + '?Authorization=Bearer ' + getToken() + '&clientid=' + import.meta.env.VITE_APP_CLIENT_ID); @@ -115,18 +117,23 @@ // socket 鎺ユ敹鏁版嵁 export const websocketonmessage = () => { websocket.onmessage = function (e: any) { - const msg = JSON.parse(e.data) as any; - if (msg.type === 'heartbeat') { + if (e.data.indexOf('heartbeat') > 0) { resetHeart(); } - if (msg.type === 'ping') { + if (e.data.indexOf('ping') > 0) { return; } - addNotice({ - message: msg, + useNoticeStore().addNotice({ + message: e.data, read: false, time: new Date().toLocaleString() }); - return msg; + ElNotification({ + title: '娑堟伅', + message: e.data, + type: 'success', + duration: 3000 + }); + return e.data; }; }; -- Gitblit v1.9.3