验证状态:存在关键缺口,不可作为完整契约发布。Web 发送、会话订阅与应答消费已源码核验;设备固件是最终消费者,其源码不在本工作区,struct 完整字段、类型与错误行为缺证。 适用基线:源码归纳 @ 2026-09-14
按 struct 名称批量读取设备的运行信息与配置,用于设备远控的"设备信息"页和各设置页的初始回显。本页是 device/{deviceNo}/iot/configs/v1 上 sub:"get" 读取命令的唯一操作正本;相同 topic 上 sub:"set" 写配置见修改设备配置,sub:"bcplus" 原始指令见发送设备 BC+ 原始指令。本页不承诺设备在线、不承诺设备对未知 struct 的行为。
| 页面/功能 | 请求 structs |
|---|---|
| 远控设置·录制回显 | RECORD_CFG_S |
| 远控设置·直播编码回显 | SLAVEENC_CFG_S |
| 远控设置·视频编码回显 | MASTERENC_CFG_S |
| 远控设置·声音回显 | AUDIO_CFG_S、UINOTIFY_CFG_S、VOLUME_CFG_S |
| 远控设置·时间回显 | TIME_CFG_S |
| 远控设置·安全回显 | GUDISK_CFG_S、USER_CFG_S |
| 远控设置·移动网络回显 | MOBILENET_CFG_S |
| 远控设置·设备用户回显 | ZFYGB_CFG_S |
| 远控设置·抓拍回显 | JPEG_CFG_S |
| 远控设置·WiFi 开关回显 | WIFIDEV_CFG_S |
| 远控设置·WiFi 客户端列表 | WIFICLI_CFG_S、WIFI_INFO_S、WIFIAPLIST_INFO_S |
| 远控信息·通用 | BATTERY_INFO_S、SYS_STAT_S、DEVINFO_S、DISK_INFO_S、TIME_CFG_S |
以上页面路由均以 $deviceNo 提供设备编号;useMqttRequest 包装页(settings.*)与直接 publishAsync 页(information、wifi-1、single-live-video)发送同一命令形态,仅 reply topic 命名空间不同。对应 inventory operationId。
MQTT 请求 device/{deviceNo}/iot/configs/v1(Web → Broker → 设备直发,中心网关不消费;QoS/retain 等 wire 细节见业务页)— 按 struct 名称批量读取设备的运行信息与配置(sub:"get")。
设备直连 configs 通道的清单口径见MQTT 主题清单 · 服务端订阅面(网关默认订阅清单无 device/+/+/configs/#,该 topic 不在中心消费/发布点清单内);通道业务语义见设备业务 · mqtt-bridge 设备消息链。
载荷形态 {sub:"get", id, reply, params:{structs:[]}},应答按 reply topic 回流、data 以请求的 struct 名为键。
| 层级 | 判据 |
|---|---|
| 发布完成 | publishAsync Promise 成功、run 返回 {published:true};仅代表 Broker 发布调用完成 |
| 请求关联 | 应答按专用 reply topic 到达即被消费;Web 不校验应答中的 id 是否回显;同页同 reply topic 的并发请求共用同一处理器 |
| 设备执行 | 不可观测:设备是否应用/返回了配置无法由 Web 区分,只能以"收到含所请求 struct 的 data"作为间接信号 |
| 业务完成 | Web 惯例:应答 data 非空即认为读取成功并停止 3 秒重试(如) |
toast.success);设备侧错误应答形态、错误码与 status 语义缺证,不能假设设备失败时 data 为空或含错误键。user/{username}/web/{sessionId}/#,页面级 useEmitterOn 只挂接/摘除处理器,不产生额外 MQTT 订阅;页面卸载清空本地发送队列(各页 outputQueue.clear),但不撤销已发布命令。GPS_INFO_S/USER_CFG_S 应答后会把数据转发到中心 server/center-server/iot/v1/report-category-info,该链路属实时监看/共享域正本。iot/configs/v1 的 sub 分支处理、struct 权威字段表、字段类型/单位/取值范围、错误应答形态均无法逐字段核验;上表枚举均为 Web 消费侧观察。structs、非法字段值的行为缺证。device/+/iot/configs/v1 的证据、部署环境实际订阅清单与默认配置的一致性待部署核验。mqtt.topics 需重新核验。