From cf30e9f09c7e70ad830d793d6c7540fb1e2068af Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Fri, 26 Jan 2024 19:44:30 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20ws=E6=8E=A5=E6=94=B6=E4=BF=A1=E6=81=AFue?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/dashboard/cdr/index.vue | 20 +++++++++---- src/views/dashboard/overview/hooks/useWS.ts | 33 ++++++++++++--------- 2 files changed, 33 insertions(+), 20 deletions(-) diff --git a/src/views/dashboard/cdr/index.vue b/src/views/dashboard/cdr/index.vue index 1991c14f..b472e255 100644 --- a/src/views/dashboard/cdr/index.vue +++ b/src/views/dashboard/cdr/index.vue @@ -1,5 +1,5 @@ diff --git a/src/views/dashboard/overview/hooks/useWS.ts b/src/views/dashboard/overview/hooks/useWS.ts index 232d2287..09615167 100644 --- a/src/views/dashboard/overview/hooks/useWS.ts +++ b/src/views/dashboard/overview/hooks/useWS.ts @@ -18,7 +18,7 @@ export default function useWS() { /**接收数据后回调 */ function wsMessage(res: Record) { console.log(res); - const { code, requestId, groupId, data } = res; + const { code, requestId, data } = res; if (code === RESULT_CODE_ERROR) { console.warn(res.msg); return; @@ -44,8 +44,11 @@ export default function useWS() { break; } + if (!data?.groupId) { + return; + } // 订阅组信息 - switch (groupId) { + switch (data.groupId) { // ueEvent UE会话事件 case '1010': if (data.data) { @@ -76,17 +79,19 @@ export default function useWS() { /**ueEvent UE会话事件 数据解析 */ function ueEventParse(item: Record) { - let evData: Record = {}; - try { - evData = JSON.parse(item.eventJSON); - } catch (error) { - console.error(error); - return false; + let evData: Record = item.eventJSON; + if (typeof evData === 'string') { + try { + evData = JSON.parse(item.eventJSON); + } catch (error) { + console.error(error); + return false; + } } - if (Reflect.has(evData, 'authTime')) { + if (item.eventType === 'auth-result') { return { - id: item.id, + id: item.id || item.timestamp, type: item.eventType, time: evData.authTime, imsi: evData.imsi, @@ -94,9 +99,9 @@ export default function useWS() { }; } - if (Reflect.has(evData, 'detachTime')) { + if (item.eventType === 'detach') { return { - id: item.id, + id: item.id || item.timestamp, type: item.eventType, time: evData.detachTime, imsi: evData.imsi, @@ -104,9 +109,9 @@ export default function useWS() { }; } - if (Reflect.has(evData, 'changeTime')) { + if (item.eventType === 'cm-state') { return { - id: item.id, + id: item.id || item.timestamp, type: item.eventType, time: evData.changeTime, imsi: evData.imsi,