(0);
/**事件推送id */
export const cdrEventId = ref('');
+
+/**cdrEvent CDR会话事件 数据解析 */
+export function cdrEventParse(item: Record) {
+ let evData: Record = item.cdrJSON || item.CDR;
+ if (typeof evData === 'string') {
+ try {
+ evData = JSON.parse(evData);
+ } catch (error) {
+ console.error(error);
+ return false;
+ }
+ }
+
+ if (evData.recordType === 'CALL') {
+ return {
+ id: item.id || item.timestamp,
+ type: evData.recordType,
+ time: evData.callDuration,
+ call: evData.callReference,
+ msg: `${evData.calledParty} -> ${evData.callerParty}`,
+ };
+ }
+}
diff --git a/src/views/dashboard/overview/hooks/useUEEvent.ts b/src/views/dashboard/overview/hooks/useUEEvent.ts
index 22655aab..7bbe4862 100644
--- a/src/views/dashboard/overview/hooks/useUEEvent.ts
+++ b/src/views/dashboard/overview/hooks/useUEEvent.ts
@@ -8,3 +8,47 @@ export const ueEventTotal = ref(0);
/**事件推送id */
export const ueEventId = ref('');
+
+/**ueEvent UE会话事件 数据解析 */
+export function ueEventParse(item: Record) {
+ let evData: Record = 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;
+}