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,