55 lines
1.2 KiB
TypeScript
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;
|
|
}
|