2026-05-12 15:45:50 +08:00

71 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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