Files
xiaomihome/miot/BATCH1_REVIEW.md
T
4566704 3a44cb9e6a feat: 初始化小米 IoT (MIoT) 智能家居 Go 库
- 实现 MIoT 客户端核心功能(MQTT 连接、设备管理、属性读写)
- 支持云端 API 调用与局域网设备发现(mDNS)
- 集成国际化(i18n)多语言支持
- 添加 MIoT 设备规约解析器(spec_parser)
- 包含单元测试与使用示例
2026-06-28 22:05:49 +08:00

2.3 KiB
Raw Blame History

第一批审核结果

审核时间: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,旧文件应删除。

操作:

  1. 删除 D:\miot\go-miot\errors.go
  2. 检查旧文件引用(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 只含部分旧常量,且有值重复定义。

操作:

  1. 将 constants.go 中仍在使用的常量迁入 const.go:
    • CtrlMode 枚举类型和常量
    • RefreshPropsDelay、RefreshPropsRetryMax、RefreshPropsRetryDelay 等刷新常量
    • TopicProp、TopicEvent、TopicState — 迁入 miot_mips.go(或保留在 const.go)
  2. 检查是否有文件引用 constants.go 的符号,更新引用为新位置
  3. 删除 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 ./...

预期:无错误输出。