feat: sync vehicle monitoring and accumulated platform updates

Add monitoring metrics, numeric sorting, report-time display, vehicle number labels, and map layout fixes. Include accumulated mileage, hydrogen, OneOS authentication, open platform, ingestion, deployment, and UI updates.

Exclude temporary files, generated reports, and credentials. Validate frontend 632 tests and production build, API packages, vehicle-map tests, and release installer tests. Gateway suite has one pre-existing date-sensitive identity throttling test failure reproduced on the parent commit.
This commit is contained in:
lingniu
2026-10-26 18:05:59 +08:00
parent 8b32ae2988
commit d6b957dfc8
290 changed files with 28238 additions and 1647 deletions
+2
View File
@@ -118,6 +118,8 @@ WAL 在分组 `fsync` 成功后才向协议处理线程返回接受成功,网
GB32960 登录密码在鉴权完成后会从 `parsed_fields` 删除,只保留 `password_present`;协议原始帧仍可能包含凭据,因此 RAW 查询接口和 TDengine `raw_hex` 必须按敏感数据控制访问。JT808 的 `0x0102` 会先匹配配置的公共鉴权码,再按规范化手机号匹配 `jt808_registration.auth_token` 的只读内存快照,全程不查询 MySQL;指标 `source=device` 表示命中终端历史鉴权码。强制模式拒绝的鉴权帧不会覆盖该可信鉴权码和最近鉴权成功时间。JT808 的 `enforce` 不会拒绝未发注册/认证、直接上报 `0x0200` 的兼容平台;这类来源继续通过身份缺口指标治理。
GB32960 的 `Feichi` 平台账号使用独立的 `0x80` 处理:按同一 TCP 连接的平台登录账号精确匹配 `Feichi`,以两字节大端声明长度读取整个自定义块,不套用广东演示扩展的固定字段含义。完整帧继续保存在 RAW `raw_hex`;各块保存为 `gb32960.feichi_custom_80.blocks.block_1.*`、`block_2.*` 等字段,包含 `declared_length`、`actual_length`、`length_hex`、`payload_hex` 和包含类型字节的 `raw_hex`。声明长度超出剩余报文或长度字节不完整时保留所有已收到字节,标记 `PARTIAL`,并在块内保存 `parse_error=truncated_payload/truncated_length`。`Hyundai`、`YueJin`、未登录及其他账号继续使用原解析;`Feichi` 的其他数据单元保持原解析。外部直推和本机 API 桥接都使用此账号,因此按账号生效,不按来源 IP 选择。
## 标准发布流程
Go 原生服务发布必须使用 Linux amd64 构建产物,不要直接上传本机默认 `go build` 结果。仓库提供统一脚本: