验证状态:存在关键缺口,不可作为完整契约发布。Web 发布与应答消费已源码核验;采集服务器是
server/{采集服务器 deviceNo}/data/v1/list-file-existence的最终消费者,其源码不在本工作区,应答权威 schema、错误形态与完成语义缺证。 适用基线:源码归纳 @ 2026-09-14
回放设备页(($lng).$spaceId.playback.$deviceNo)按所选月份查询目标设备"哪些天有文件、每天多少个",写入 dayFileTotalMap 驱动日历控件:无文件的日期禁用、有文件的日期显示角标。查询窗口固定为所选月份月末往前 180 天。本页是回放域该 topic 的唯一操作正本,覆盖 (视频回放)与 (最近记录)两个调用点;同族文件查询见文件清单 list-file-info与分类总数 list-file-category-total。
| 页面/功能 | 角色或空间分支 |
|---|---|
| 视频回放设备页按日查询文件存在性 | 登录用户;视频回放设备页 |
| 最近记录设备页按日查询(payload 与消费同构) | 登录用户;最近记录设备页 |
消费:{date,num} 写入 dayFileTotalMap,驱动日历禁用与角标 |
— |
对应 inventory operationId:mqtt-listfileexistencefn-server-var-data-v1-list-file-existence-5fda0d46。
MQTT 请求 server/{serverDeviceNo}/data/v1/list-file-existence(Web → Broker → 采集服务器直连,应答按 reply topic 回流;中心网关不消费)— 按所选月份查询目标设备「哪些天有文件、每天多少个」(查询窗口为月末往前 180 天)。
通道口径:该 topic 不在中心消费/发布点清单内(网关默认订阅清单无 server/+/data/#,见MQTT 主题清单 · 服务端订阅面);应答回流、凭据与 QoS 等 wire 约定见MQTT 连接与消息边界。
请求形态 {id, reply, replyNumberMax:3, replyInterval:3, params:{deviceNo, takenAtStrRangeStart, takenAtStrRangeEnd}};Web 声明 3 帧应答上限,采集服务器是否分帧缺证。
| 层级 | 判据 |
|---|---|
| 发布完成 | publishAsync Promise 成功;仅代表 Broker 受理 |
| 应答到达 | reply topic 收到应答且 data 可迭代,dayFileTotalMap 更新 |
| 空结果 | data 缺失 → 地图不更新(整月无文件表现为全部日期禁用) |
| 超时 | 无内置请求超时;切换月份/设备(100ms 节流)触发重发,无失败终态 |
YYYY-MM-DD 格式是 Web 构造值;采集服务器按其它边界解释时的行为缺证。dayFileTotalMap 随组件生命周期销毁。takenAtStrRangeEnd)、分帧语义与错误形态缺证。server/{no}/data/v1/#)待部署核验;未执行真实联调。