feat(platform): include identity resolution in vehicle detail

This commit is contained in:
lingniu
2026-07-04 01:09:35 +08:00
parent 703a7b112f
commit beb5034b9b
5 changed files with 84 additions and 61 deletions

View File

@@ -73,15 +73,16 @@ export function VehicleDetail({
const identity = detail?.identity;
const summary = detail?.realtimeSummary;
const latest = detail?.realtime[0];
const resolvedVIN = detail?.vin || summary?.vin || identity?.vin || latest?.vin || query.keyword;
const hasResolvedVIN = detail?.lookupResolved ?? isLikelyVIN(resolvedVIN);
const resolution = detail?.resolution;
const resolvedVIN = resolution?.vin || detail?.vin || summary?.vin || identity?.vin || latest?.vin || query.keyword;
const hasResolvedVIN = resolution?.resolved ?? detail?.lookupResolved ?? isLikelyVIN(resolvedVIN);
const displayVIN = hasResolvedVIN ? resolvedVIN : '-';
const displayLookupKey = detail?.lookupKey || query.keyword;
const protocols = useMemo(() => detail?.sources ?? [], [detail?.sources]);
const displayLookupKey = resolution?.lookupKey || detail?.lookupKey || query.keyword;
const protocols = useMemo(() => resolution?.protocols?.length ? resolution.protocols : detail?.sources ?? [], [detail?.sources, resolution?.protocols]);
const latestRaw = detail?.raw.items[0];
const qualityCount = detail?.quality.total ?? 0;
const online = summary?.online || identity?.online || false;
const lastSeen = summary?.lastSeen || latest?.lastSeen || '-';
const online = resolution?.online || summary?.online || identity?.online || false;
const lastSeen = resolution?.lastSeen || summary?.lastSeen || latest?.lastSeen || '-';
const formKey = `${query.keyword}-${query.protocol ?? ''}`;
const qualityTable = (
<Table
@@ -131,9 +132,9 @@ export function VehicleDetail({
{ key: '查询关键词', value: displayLookupKey },
{ key: 'VIN', value: displayVIN },
{ key: '解析状态', value: <Tag color={hasResolvedVIN ? 'green' : 'orange'}>{hasResolvedVIN ? '已解析 VIN' : '未解析到 VIN'}</Tag> },
{ key: '车牌', value: summary?.plate || identity?.plate || latest?.plate || '-' },
{ key: '手机号', value: summary?.phone || identity?.phone || '-' },
{ key: 'OEM', value: summary?.oem || identity?.oem || '-' },
{ key: '车牌', value: resolution?.plate || summary?.plate || identity?.plate || latest?.plate || '-' },
{ key: '手机号', value: resolution?.phone || summary?.phone || identity?.phone || '-' },
{ key: 'OEM', value: resolution?.oem || summary?.oem || identity?.oem || '-' },
{ key: '在线', value: <StatusTag status={online ? 'ok' : 'offline'} /> },
{
key: '数据来源',