2.1 KiB
2.1 KiB
TODO
日期:2026-05-11
第一阶段
- 统一端口管理器
- 明确保留哪一套端口管理器作为唯一实现
- 替换重启链路里的端口获取逻辑
- 校验
fire_leave、fire_check、测温端口关系 - 清理废弃实现和重复状态
- 修复
service.confschema
- 明确
service.conf的唯一 schema - 增加
DeviceData -> ServiceConfig转换 - 重写
SaveServiceConfig()/SaveSingleServiceConfig() - 检查已有启动流程兼容性
- 修复
fire_leave参数映射
- 明确
fire_leave运行时依赖字段 - 补齐
param.fire_leave到运行字段的映射 - 清理主流程里对默认值的隐式依赖
- 复核
confidence是否要区分双模型
第二阶段
- 接入
/dhlr/forbid_time到fire_leave暂停上报
- 明确
/dhlr/forbid_time最终字段语义 - 增加
fire_leave暂停状态存储 - 在
fire_leave主判断前接入暂停窗口检查 - 清理或降级
reporter中不再适用的事件周期逻辑
- 调整 GPIO 按钮逻辑
- 确认按钮最终由谁决定暂停时长
- 确认按钮是本地触发还是必须等待上层下发
- 移除与“事件周期切换”强耦合的旧逻辑
第三阶段
- 改造 WebSocket 协议层为 protobuf binary frame
- 引入
service.proto对应的 Go 类型 - 重写 websocket 读写帧逻辑
- 重写 request/reply 关联逻辑
- 重写下行
topic_event分发逻辑 - 重写上行
metric_data发送逻辑
- 保留主动 ping 和失败重连
- 在新协议层中保留 ping loop
- 保留 ping 失败即重连逻辑
- 复核重连后 register 和 subscribe 恢复是否完整
暂不处理
- 业务上报 ACK
- 暂不增加业务 ACK
- 协议改造时保留现有单向上报模式
- 作为已知风险保留在
整改计划.md
- 运行中配置热更新链路
- 判断当前业务是否真的需要运行中热更新
- 如果需要,后续再设计完整消费链路
- 如果不需要,后续再移除误导性代码
收尾
- 增加最小验证
- 增加协议层编解码基础测试
- 增加配置映射测试
- 增加报警暂停窗口逻辑测试
- 条件允许时补最小集成测试