Files
qnc-webview-v3/src/utils/vehicleReportNormalize.js
2026-06-04 18:04:21 +08:00

45 lines
1.0 KiB
JavaScript

import { unwrapVehiclePayload } from './vehiclePayload'
/**
* 规范 query_data 单项,供 BaseReport 使用:{ data: { apiID, data: 业务体 } }
*/
export function normalizeVehicleReportItem(item) {
if (!item || typeof item !== 'object')
return item
const outer = item.data
if (outer == null)
return item
let apiID = ''
let payload = outer
if (typeof outer === 'object' && !Array.isArray(outer)) {
apiID = String(outer.apiID ?? outer.apiId ?? '')
if ('data' in outer)
payload = outer.data
}
payload = unwrapVehiclePayload(payload)
if (!apiID && payload && typeof payload === 'object' && !Array.isArray(payload)) {
apiID = String(payload.apiID ?? payload.apiId ?? '')
if (apiID && 'data' in payload)
payload = unwrapVehiclePayload(payload.data)
}
return {
...item,
data: {
apiID: apiID || '',
data: payload,
},
}
}
export function normalizeVehicleReportData(items) {
if (!Array.isArray(items))
return []
return items.map(normalizeVehicleReportItem)
}