feat: 初始化小米 IoT (MIoT) 智能家居 Go 库

- 实现 MIoT 客户端核心功能(MQTT 连接、设备管理、属性读写)
- 支持云端 API 调用与局域网设备发现(mDNS)
- 集成国际化(i18n)多语言支持
- 添加 MIoT 设备规约解析器(spec_parser)
- 包含单元测试与使用示例
This commit is contained in:
2026-06-28 22:05:49 +08:00
parent ac442812b4
commit 3a44cb9e6a
118 changed files with 31630 additions and 0 deletions
+112
View File
@@ -0,0 +1,112 @@
# Go-MIoT 移植计划
> Python → Go 移植项目总索引 | R1✅ R2✅ R3✅
>
> 最后更新:2026-06-28
## 文件对照表
| 优先级 | Python 文件 | Go 文件 | 状态 | 子文档 |
|--------|------------|---------|------|--------|
| 🔴 P0 | `miot_error.py` (4815) | `miot_error.go` | ✅ 完成 | [07-miot-err.md](./migration/07-miot-err.md) |
| 🔴 P0 | `const.py` (6255) | `const.go` | ✅ 完成 | [08-miot-constant.md](./migration/08-miot-constant.md) |
| 🔴 P0 | `common.py` (7405) | `common.go` | ✅ 完成 | [06-miot-utils.md](./migration/06-miot-utils.md) |
| 🔴 P0 | `miot_storage.py` (31991) | `miot_storage.go` | ✅ 完成 | [05-miot-storage.md](./migration/05-miot-storage.md) |
| 🔴 P0 | `miot_cloud.py` (33922) | `miot_cloud.go` | ✅ 完成 | [03-miot-cloud.md](./migration/03-miot-cloud.md) |
| 🔴 P0 | `miot_client.py` (88963) | `miot_client.go` | ✅ 完成 | [01-miot-client.md](./migration/01-miot-client.md) |
| 🔴 P0 | `miot_device.py` (61669) | `miot_device.go` | ✅ 完成 | [02-miot-device.md](./migration/02-miot-device.md) |
| 🟡 P1 | `miot_spec.py` (67020) | `spec_parser.go` | ✅ 完成 | [09-miot-spec.md](./migration/09-miot-spec.md) |
| 🟡 P1 | `miot_mips.py` (61399) | `mips_client.go` | ✅ 完成 | [10-miot-mips.md](./migration/10-miot-mips.md) |
| 🟡 P1 | `miot_network.py` (14941) | `miot_network.go` | ✅ 完成 | - |
| 🟢 P2 | `miot_mdns.py` (10951) | `miot_mdns.go` | ✅ 完成 | [13-miot-mdns.md](./migration/13-miot-mdns.md) |
| 🟢 P2 | `miot_lan.py` (53181) | `miot_lan.go` | ✅ 完成 | [12-miot-lan.md](./migration/12-miot-lan.md) |
| 🟢 P3 | `miot_i18n.py` (4771) | `miot_i18n.go` | ✅ 完成 | - |
| 🟢 P3 | `web_pages.py` (3584) | `web_pages.go` | ✅ 完成 | - |
**说明**:
- 文件大小括号内为字节数
- OAuth 功能在 `miot_cloud.py` 的 `MIoTOauthClient` 类中(无独立文件)
- 无 `miot_entity.py`(已确认不存在于 Python 版本)
- 无 `miot_oauth.py`(已确认不存在于 Python 版本)
## 分批计划
### 第一批 (P0) — 基础架构 ✅
| 序号 | Python | Go | 状态 |
|------|--------|-----|------|
| 1 | `miot_error.py` | `miot_error.go` | ✅ |
| 2 | `const.py` | `const.go` | ✅ |
| 3 | `common.py` | `common.go` | ✅ |
| 4 | `miot_storage.py` | `miot_storage.go` | ✅ |
| 5 | `miot_cloud.py` | `miot_cloud.go` | ✅ |
| 6 | `miot_client.py` | `miot_client.go` | ✅ |
| 7 | `miot_device.py` | `miot_device.go` | ✅ |
审核 | [BATCH1_REVIEW.md](./BATCH1_REVIEW.md)
### 第二批 (P1) — 高级功能 ✅
| 序号 | Python | Go | 状态 |
|------|--------|-----|------|
| 8 | `miot_spec.py` | `spec_parser.go` | ✅ |
| 9 | `miot_mips.py` | `mips_client.go` | ✅ |
| 10 | `miot_network.py` | `miot_network.go` | ✅ |
审核 | [BATCH2_REVIEW.md](./BATCH2_REVIEW.md)
### 第三批 (P2) — LAN 控制 ✅
| 序号 | Python | Go | 状态 |
|------|--------|-----|------|
| 11 | `miot_mdns.py` | `miot_mdns.go` | ✅ |
| 12 | `miot_lan.py` | `miot_lan.go` | ✅ |
审核 | [BATCH3_REVIEW.md](./BATCH3_REVIEW.md)
### 第四批 (P3) — 附加功能 ✅
| 序号 | Python | Go | 状态 |
|------|--------|-----|------|
| 13 | `miot_i18n.py` | `miot_i18n.go` | ✅ |
| 14 | `web_pages.py` | `web_pages.go` | ✅ |
审核 | [BATCH4_REVIEW.md](./BATCH4_REVIEW.md)
## 进度跟踪
- [x] 第一批:基础架构 (7/7)
- [x] 第二批:高级功能 (3/3)
- [x] 第三批:LAN 控制 (2/2)
- [x] 第四批:附加功能 (2/2)
**总计:14/14 全部完成**
## 编译验证
```
go vet ./... → 无错误
go build ./... → 无错误
```
## 相关文档索引
```
go-miot/
├── MIGRATION_PLAN.md # 本文件(总索引)
├── BATCH1_TASKS.md # 第一批任务提示词
├── BATCH1_REVIEW.md # 第一批审核结果
├── BATCH2_TASKS.md # 第二批任务提示词
├── BATCH2_REVIEW.md # 第二批审核结果
├── BATCH3_TASKS.md # 第三批任务提示词
├── BATCH3_REVIEW.md # 第三批审核结果
├── BATCH4_TASKS.md # 第四批任务提示词
├── BATCH4_REVIEW.md # 第四批审核结果
├── ROUND2_PLAN.md # 第二轮审查计划(方法级对齐度)
├── ROUND2_TASKS.md # 第二轮任务提示词
├── ROUND2_REVIEW.md # 第二轮审核结果(14/14 ✅)
├── ROUND3_PLAN.md # 第三轮审查计划(MQTT 缓存同步)
├── ROUND3_TASKS.md # 第三轮任务提示词(10 项)
├── ROUND3_REVIEW.md # 第三轮审核结果(10/10 ✅)
├── EXAMPLES_PLAN.md # 示例计划(9个示例)
├── EXAMPLES_TASKS.md # 示例任务提示词
└── migration/ # 详细子文档
├── 01-~13-*.md (11个) # 第一轮子文档
└── R2-01~R2-14 (14个) # 第二轮子文档
```