拉取回放文件 GPS 轨迹(data/v1/gps)

验证状态:存在关键缺口,不可作为完整契约发布。Web 发布与应答消费已源码核验;采集服务器是 server/{采集服务器 deviceNo}/data/v1/gps 的最终消费者,其源码不在本工作区,应答权威 schema(NMEA 语句构成)与错误形态缺证。 适用基线:源码归纳 @ 2026-09-14

用途与场景

回放设备页播放某个文件时,按文件路径向其所属采集服务器查询该文件的 GPS 轨迹(NMEA 语句数组),经 onGpsData 上抛驱动轨迹地图(起始时间取第一条语句的时间字段)。文件切换时按新路径重查。本页是回放域该 topic 的唯一操作正本。

使用位置

页面/功能 角色或空间分支
视频回放播放器按文件路径查询 GPS 轨迹 登录用户;视频回放播放器
消费:data 非空 → onGpsData({startTime, nmeas})

对应 inventory operationId:mqtt-listfilegpsfn-server-var-data-v1-gps-8bfdcff5

端点

MQTT 请求 server/{serverDeviceNo}/data/v1/gps(Web → Broker → 采集服务器直连,应答按 reply topic 回流;中心网关不消费)— 按文件路径查询该回放文件的 GPS 轨迹(NMEA 语句数组)。

通道口径:该 topic 不在中心消费/发布点清单内(网关默认订阅清单无 server/+/data/#,见MQTT 主题清单 · 服务端订阅面);应答回流、凭据与 QoS 等 wire 约定见MQTT 连接与消息边界

请求形态 {id, reply, replyNumberMax:1, replyInterval:1, params:{path}}path 为文件行 fileUrl,reply topic 将其原样拼为 topic 段。

动线与完成判据

层级 判据
发布完成 publishAsync Promise 成功;仅代表 Broker 受理
应答到达 reply topic 应答 data 非空数组 → onGpsData 上抛
空结果 data 空/缺失 → 无回调、无错误文案,轨迹区表现为无数据
超时 无内置请求超时;切换文件(100ms 节流)触发重查,无失败终态

错误与边界

  • 本操作不经中心 HTTP 出口,错误响应差异总表的 HTTP 条目不适用;采集服务器业务错误形态缺证(待核验)。
  • reply topic 将 filePath 原样拼为 topic 段:fileUrl/ 时 topic 层级加深、含 +/#/空格 等字符时的 Broker 行为与采集服务器应答地址缺证;Web 分发按字符串精确匹配,不做通配。
  • NMEA 时间字段解析无容错:data[0] 格式异常时 startTime 为空串、nmeas 仍原样上抛。
  • 发布失败被 Promise 链记录后丢弃,无重试;断线由 MQTT 自动重连补偿。

调用关系与资源清理

  • 前置:文件清单应答行提供 fileUrl/deviceNo
  • 下游:onGpsData 上抛父级渲染轨迹地图;文件切换时旧轨迹被新应答替换。
  • 无订阅需取消;应答 topic 随全局订阅生命周期。

已知缺口

  1. 采集服务器是最终消费者:data 的 NMEA 语句类型全集、字段构成、坐标系与时间基准(UTC/本地)均缺证。
  2. filePath 含 MQTT 保留字符时的 topic 行为与采集服务器回包地址缺证。
  3. Broker ACL(server/{no}/data/v1/#)待部署核验;未执行真实联调。