更新系统配置(server data sysconfig-update)

验证状态:存在关键缺口,不可作为完整契约发布。Web 发送与应答消费已源码核验;采集服务器侧 data/v1 服务源码不在本工作区,配置校验、持久化与失败语义缺证。 适用基线:源码归纳 @ 2026-09-14

用途与场景

整体更新采集服务器的系统配置,用于系统配置设置页的整表提交。本页是 server/{deviceNo}/data/v1/sysconfig-update 写命令的唯一操作正本;读取见读取系统配置

使用位置

页面/功能 角色或空间分支
系统配置设置页·提交(构造)、(参数组装) 当前 $spaceId$deviceNo 来自路由

对应 inventory operationId:mqtt-set-server-var-data-v1-sysconfig-update-20e1b902

端点

MQTT 发布 server/{deviceNo}/data/v1/sysconfig-update(Web → Broker → 采集服务器直连,应答按 reply topic 回流;中心网关不消费)— 整体更新采集服务器系统配置。

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

请求形态 JSON 对象 {id, reply, params}(无 sub 成员);Web 发送「上次读取的完整 sysconfig + 表单值」的全量覆盖合并对象,不是增量。

动线与完成判据

层级 判据
发布完成 publishAsync Promise 成功
请求关联 应答到达专用 reply topic 即消费;不校验 id 回显;无超时
业务完成 应答 status===200 后页面清空缓存并立即重读回显实际配置
服务器执行 配置是否即时生效(如端口变更)缺证;以重读结果为唯一确认手段

错误与边界

  • Web 只区分 status===200 与其他;失败原因字段缺证。
  • 无超时、无重试;提交后 UI 立即重读,失败时以回读值恢复表单。
  • 端口/域名写错可能导致服务器不可达;页面无预检,服务器侧回滚行为缺证。
  • MQTT 族公共边界见MQTT 连接与消息边界

调用关系与资源清理

  • 读取系统配置构成写读对:读取结果是提交负载的基线(全量合并)。
  • 无订阅资源;页面卸载清空本地发送队列,不撤销已发布更新。

已知缺口

  1. 采集服务器侧服务源码不在本工作区:服务器端字段校验、生效时机、失败应答形态(非 200 时的 error 结构)缺证。
  2. 提交负载包含读取到的未知键(全量回传),这些键的服务器语义缺证。
  3. Broker ACL、服务器订阅证据与部署环境一致性待部署核验。