diff --git a/src/apis/domains/device/diag-info/ndm-security-box-diag-info.ts b/src/apis/domains/device/diag-info/ndm-security-box-diag-info.ts index 9e0cdfb..e094d81 100644 --- a/src/apis/domains/device/diag-info/ndm-security-box-diag-info.ts +++ b/src/apis/domains/device/diag-info/ndm-security-box-diag-info.ts @@ -1,23 +1,24 @@ export interface NdmSecurityBoxDiagInfo { [key: string]: any; - info: [ + info?: [ { - addrCode: number; - circuits: NdmSecurityBoxCircuit[]; - fanSpeeds: number[]; - humidity: number; - switches: number[]; - temperature: number; + addrCode?: number; + circuits?: NdmSecurityBoxCircuit[]; + fanSpeeds?: number[]; + humidity?: number; + switches?: number[]; + temperature?: number; }, ]; - stCommonInfo: { - 内存使用率: string; - CPU使用率: string; + stCommonInfo?: { + [key: string]: any; + 内存使用率?: string; + CPU使用率?: string; }; } export interface NdmSecurityBoxCircuit { - current: number; - status: number; - voltage: number; + current?: number; + status?: number; + voltage?: number; } diff --git a/src/components/device-page/device-card/security-box-card.vue b/src/components/device-page/device-card/security-box-card.vue index 4092fee..e1dc3e2 100644 --- a/src/components/device-page/device-card/security-box-card.vue +++ b/src/components/device-page/device-card/security-box-card.vue @@ -23,14 +23,14 @@ const debugModeStore = useDebugModeStore(); const { stationCode, ndmSecurityBox } = toRefs(props); const lastDiagInfo = computed(() => { - const result = destr(ndmSecurityBox.value.lastDiagInfo); + const result = destr(ndmSecurityBox.value.lastDiagInfo); if (!result) return null; if (typeof result !== 'object') return null; - return result; + return result as NdmSecurityBoxDiagInfo; }); const commonInfo = computed | undefined>(() => { - const info = lastDiagInfo.value?.stCommonInfo; + const info = lastDiagInfo.value?.stCommonInfo ?? {}; if (info) { // eslint-disable-next-line @typescript-eslint/no-unused-vars const { CPU使用率, 内存使用率, ...rest } = info; @@ -39,15 +39,15 @@ const commonInfo = computed | undefined>(() => { return info; }); -const cpuUsage = computed(() => lastDiagInfo.value?.stCommonInfo.CPU使用率); -const memUsage = computed(() => lastDiagInfo.value?.stCommonInfo.内存使用率); +const cpuUsage = computed(() => lastDiagInfo.value?.stCommonInfo?.['CPU使用率']); +const memUsage = computed(() => lastDiagInfo.value?.stCommonInfo?.['内存使用率']); -const fanSpeeds = computed(() => lastDiagInfo.value?.info.at(0)?.fanSpeeds); -const temperature = computed(() => lastDiagInfo.value?.info.at(0)?.temperature); -const humidity = computed(() => lastDiagInfo.value?.info.at(0)?.humidity); -const switches = computed(() => lastDiagInfo.value?.info.at(0)?.switches); +const fanSpeeds = computed(() => lastDiagInfo.value?.info?.at(0)?.fanSpeeds); +const temperature = computed(() => lastDiagInfo.value?.info?.at(0)?.temperature); +const humidity = computed(() => lastDiagInfo.value?.info?.at(0)?.humidity); +const switches = computed(() => lastDiagInfo.value?.info?.at(0)?.switches); -const circuits = computed(() => lastDiagInfo.value?.info.at(0)?.circuits); +const circuits = computed(() => lastDiagInfo.value?.info?.at(0)?.circuits); const selectedTab = ref('设备状态');