- 实现 MIoT 客户端核心功能(MQTT 连接、设备管理、属性读写) - 支持云端 API 调用与局域网设备发现(mDNS) - 集成国际化(i18n)多语言支持 - 添加 MIoT 设备规约解析器(spec_parser) - 包含单元测试与使用示例
2.3 KiB
2.3 KiB
第一批审核结果
审核时间:2026-06-28 审核范围:P0 批 7 个任务
审核结论
| 文件 | 状态 | 说明 |
|---|---|---|
miot_error.go |
✅ 通过 | 13 种子类型,完全对齐 Python |
const.go |
✅ 通过 | 常量/变量/CA 证书,完全对齐 |
common.go |
✅ 通过 | 全部工具函数,完全对齐 |
miot_cloud.go |
✅ 通过 | OAuth + HTTP 客户端,33KB |
miot_storage.go |
✅ 通过 | SHA256 校验 + 异步,27KB |
miot_device.go |
✅ 通过 | 完整字段 + LoadFromCloud + SPEC |
miot_client.go |
✅ 通过 | 完整结构 + Init + 设备缓存 |
修复清单
修复 1:删除 errors.go(与 miot_error.go 冲突)
问题:errors.go 和 miot_error.go 都在 package miot,定义冲突的错误码和错误类型。新文件 miot_error.go 已完全对齐 Python,旧文件应删除。
操作:
- 删除
D:\miot\go-miot\errors.go - 检查旧文件引用(
miot_client_api.go、miot_client_prop.go、miot_client_sub.go),如有引用errors.go的类型名需改为miot_error.go的类型名
修复 2:删除 constants.go(与 const.go 重叠)
问题:const.go 已完全对齐 Python,constants.go 只含部分旧常量,且有值重复定义。
操作:
- 将
constants.go中仍在使用的常量迁入const.go:CtrlMode枚举类型和常量RefreshPropsDelay、RefreshPropsRetryMax、RefreshPropsRetryDelay等刷新常量TopicProp、TopicEvent、TopicState— 迁入miot_mips.go(或保留在 const.go)
- 检查是否有文件引用
constants.go的符号,更新引用为新位置 - 删除
D:\miot\go-miot\constants.go
修复 3:注释 mips_client.go 的错误 import
问题:mips_client.go:7:2: package zo-smart-backend-user/internal/xiaomihome/mips is not in std
操作:
- 注释掉错误的 import 行(P1 批移植 mips 后再恢复)
修复 4:注释 spec_parser.go 的错误 import
问题:spec_parser.go:6:2: package zo-smart-backend-user/internal/xiaomihome/spec is not in std
操作:
- 注释掉错误的 import 行(P1 批移植 spec 后再恢复)
验证方法
修复后执行:
cd D:\miot\go-miot && go vet ./...
预期:无错误输出。