From 0e86d452888667b6ff14fb2de38c744e2146053b Mon Sep 17 00:00:00 2001 From: lingniu Date: Sun, 5 Jul 2026 12:05:43 +0800 Subject: [PATCH] feat(platform): refine realtime vehicle monitoring copy --- .../apps/web/src/pages/Realtime.tsx | 36 +++++++++---------- .../apps/web/src/test/App.test.tsx | 30 ++++++++-------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/vehicle-data-platform/apps/web/src/pages/Realtime.tsx b/vehicle-data-platform/apps/web/src/pages/Realtime.tsx index 781019cd..8b8274c2 100644 --- a/vehicle-data-platform/apps/web/src/pages/Realtime.tsx +++ b/vehicle-data-platform/apps/web/src/pages/Realtime.tsx @@ -154,8 +154,8 @@ const realtimeExportColumns: CsvColumn[] = [ { title: '车牌', value: (row) => row.plate }, { title: '手机号', value: (row) => row.phone }, { title: 'OEM', value: (row) => row.oem }, - { title: '主证据来源', value: (row) => row.primaryProtocol }, - { title: '证据通道', value: (row) => row.protocols?.join('|') }, + { title: '主要数据通道', value: (row) => row.primaryProtocol }, + { title: '数据通道', value: (row) => row.protocols?.join('|') }, { title: '在线', value: (row) => row.online ? '在线' : '离线' }, { title: '车辆服务状态', value: (row) => vehicleServiceStatus(row).label }, { title: '通道在线', value: (row) => sourceEvidenceText(row) }, @@ -187,7 +187,7 @@ function realtimeExportFileName(filters: Record) { function realtimeFilterSummary(filters: Record) { return [ filters.keyword ? `关键词:${filters.keyword}` : '', - filters.protocol ? `证据来源:${filters.protocol}` : '', + filters.protocol ? `数据通道:${filters.protocol}` : '', filters.online ? `在线:${onlineLabel[filters.online] ?? filters.online}` : '', filters.serviceStatus ? `服务状态:${serviceStatusLabel[filters.serviceStatus] ?? filters.serviceStatus}` : '' ].filter(Boolean); @@ -225,7 +225,7 @@ function realtimeOperationsSummaryText({ `当前筛选:${realtimeFilterSummary(filters).join(';') || '全部实时车辆'}`, `车辆总数:${total.toLocaleString()},当前页:${rows.length.toLocaleString()}`, `在线车辆:${onlineCount.toLocaleString()},定位有效:${locatedCount.toLocaleString()}`, - `需要关注:${degradedCount.toLocaleString()},证据通道:${sourceTypeCount.toLocaleString()}`, + `需要关注:${degradedCount.toLocaleString()},数据通道:${sourceTypeCount.toLocaleString()}`, `地图配置:${amapConfigured ? '已配置' : '未配置'}`, '重点车辆:', issueLines, @@ -271,7 +271,7 @@ function realtimeIssueAction(row: VehicleRealtimeRow) { return `确认${row.primaryProtocol || '实时数据'}是否持续上报,必要时查看告警事件`; } if (hasSourceIssue(row)) { - return '处理离线证据通道,确认车辆实时状态一致'; + return '处理离线数据通道,确认车辆实时状态一致'; } return issues === '暂无异常' ? '持续观察' : '结合车辆服务详情继续排查'; } @@ -367,7 +367,7 @@ function realtimeDutyHandoffText({ '【实时运营交接包】', `当前筛选:${realtimeFilterSummary(filters).join(';') || '全部实时车辆'}`, `页面车辆:${rows.length.toLocaleString()} / 总计 ${total.toLocaleString()};版本:${runtimeRelease || '未标记'}`, - `在线:${onlineCount.toLocaleString()};离线:${(rows.length - onlineCount).toLocaleString()};定位有效:${locatedCount.toLocaleString()};需要关注:${degradedCount.toLocaleString()};超时:${staleCount.toLocaleString()};证据通道:${sourceTypeCount.toLocaleString()}`, + `在线:${onlineCount.toLocaleString()};离线:${(rows.length - onlineCount).toLocaleString()};定位有效:${locatedCount.toLocaleString()};需要关注:${degradedCount.toLocaleString()};超时:${staleCount.toLocaleString()};数据通道:${sourceTypeCount.toLocaleString()}`, `地图:${amapConfigured ? '高德已配置' : '高德未配置'}`, `车辆覆盖:${sourceLines.length > 0 ? sourceLines.join(';') : '当前页暂无来源明细'}`, `实时入口:${appURL(buildAppHash({ page: 'realtime', protocol: filters.protocol, filters }))}`, @@ -916,12 +916,12 @@ export function Realtime({ secondaryDisabled: !selectedMapRow || !canOpenVehicle(selectedMapRow.vin) }, { - title: '数据交付', + title: '查询导出', value: `${rows.length.toLocaleString()} 辆当前页`, - detail: '导出当前车辆清单,或进入选中车辆的原始记录证据。', + detail: '导出当前车辆清单,或进入选中车辆的历史记录。', color: 'blue' as const, primaryAction: '导出当前页', - secondaryAction: '原始记录', + secondaryAction: '历史记录', onPrimary: exportRealtime, onSecondary: openSelectedVehicleRaw, disabled: false, @@ -956,7 +956,7 @@ export function Realtime({ { label: '选车复盘', value: selectedVehicleLabel, - detail: selectedMapRow ? `${vehicleServiceStatus(selectedMapRow).label},${dataFreshness(selectedMapRow).detail}` : '从地图或车辆列表选择一辆车后进入轨迹、里程和数据导出。', + detail: selectedMapRow ? `${vehicleServiceStatus(selectedMapRow).label},${dataFreshness(selectedMapRow).detail}` : '从地图或车辆列表选择一辆车后进入轨迹、里程和历史查询。', color: selectedMapRow ? vehicleServiceStatus(selectedMapRow).color : 'grey' as const, action: '轨迹回放', disabled: !selectedMapRow || !canOpenVehicle(selectedMapRow.vin), @@ -1063,7 +1063,7 @@ export function Realtime({ }, { step: '05', - title: '数据交付', + title: '查询导出', value: `${rows.length.toLocaleString()} 当前页`, detail: '导出当前实时车辆清单,用于客户问询和运营交接。', action: '导出 CSV', @@ -1082,7 +1082,7 @@ export function Realtime({ applyFilters(values as Record); }}> - + GB32960 JT808 YUTONG_MQTT @@ -1111,9 +1111,9 @@ export function Realtime({ {amapConfigured ? '高德地图可用' : '坐标预览'} 0 ? 'orange' : 'green'}>{mapAttentionRows.length.toLocaleString()} 辆关注 - 先判断车辆是否在线、是否有位置、是否有异常,再进入单车轨迹和数据交付。 + 先判断车辆是否在线、是否有位置、是否有异常,再进入单车轨迹和历史查询。 - 地图页面向客户展示车辆服务状态,协议来源只作为定位、在线和异常追溯证据。 + 地图页面向客户展示车辆服务状态,数据通道只作为定位、在线和异常追溯依据。 @@ -1400,7 +1400,7 @@ export function Realtime({ applyFilters(nextFilters); }} style={{ marginBottom: 12 }}> - + GB32960 JT808 YUTONG_MQTT @@ -1454,7 +1454,7 @@ export function Realtime({ { label: '定位有效', value: locatedCount, color: locatedCount > 0 ? 'blue' as const : 'orange' as const }, { label: '需要关注', value: degradedCount, color: degradedCount > 0 ? 'orange' as const : 'green' as const, action: () => applyFilters({ ...filters, serviceStatus: 'degraded' }) }, { label: '更新超时', value: staleCount, color: staleCount > 0 ? 'red' as const : 'green' as const }, - { label: '证据通道', value: primaryProtocols.size, color: 'blue' as const } + { label: '数据通道', value: primaryProtocols.size, color: 'blue' as const } ].map((item) => ( item.action ? (