Files
fe.ems.vue3/src/views/dashboard/overview/hooks/useUEEvent.ts
2024-01-29 15:20:10 +08:00

55 lines
1.2 KiB
TypeScript

import { ref } from 'vue';
/**事件数据 */
export const ueEventData = ref<Record<string, any>[]>([]);
/**事件总量 */
export const ueEventTotal = ref<number>(0);
/**事件推送id */
export const ueEventId = ref<string>('');
/**ueEvent UE会话事件 数据解析 */
export function ueEventParse(item: Record<string, any>) {
let evData: Record<string, any> = item.eventJSON;
if (typeof evData === 'string') {
try {
evData = JSON.parse(evData);
} catch (error) {
console.error(error);
}
}
if (item.eventType === 'auth-result') {
return {
id: item.id || item.timestamp,
type: item.eventType,
time: evData.authTime,
imsi: evData.imsi,
msg: `${evData.authMessage}`,
};
}
if (item.eventType === 'detach') {
return {
id: item.id || item.timestamp,
type: item.eventType,
time: evData.detachTime,
imsi: evData.imsi,
msg: `${evData.detachResult}`,
};
}
if (item.eventType === 'cm-state') {
return {
id: item.id || item.timestamp,
type: item.eventType,
time: evData.changeTime,
imsi: evData.imsi,
msg: `${evData.onlineNumber}`,
};
}
return false;
}