问题: V26 只按 code 修好了 8 条预设品类, V25 回填的 2210/4120 备注仍是乱码; 全库体检还发现 V22 迁移写入的 platform_type 字典表 8 条名称/备注全部双重编码。 修法: 用 CONVERT(CAST(CONVERT(col USING latin1) AS BINARY) USING utf8mb4) 把 latin1 误解后的字符转回原始字节再按 utf8mb4 重新解释; 仅对 HEX 含 C2xx/C3xx 特征的值生效, 修完不再命中, 因此幂等可重复执行; platform_type 表做存在性判断, 旧结构库也能整段跑完。 验证: 生产 remaining_mojibake=0; 品类接口返回字节为正确 UTF-8(照明=e785a7e6988e); platform_type 涂鸦智能=e6b682e9b8a6e699bae883bd。
物联网系统平台
项目简介
企业级物联网系统平台,支持万级设备接入,兼容涂鸦、小度、小米等第三方平台,预留Matter协议扩展接口。
技术栈
后端
- Java 17
- Spring Boot 3.2.x
- Spring Security (认证鉴权)
- MyBatis Plus (持久层)
- MySQL 8.0 (关系数据库)
- InfluxDB 2.x (时序数据库)
- Redis 7.x (缓存)
- RabbitMQ (消息队列)
- EMQX (MQTT Broker)
- XXL-Job (任务调度)
前端
- Vue 3 + TypeScript
- Vite 5.x
- Element Plus (UI组件库)
- Pinia (状态管理)
- Axios (HTTP客户端)
- ECharts (数据可视化)
- UniApp (移动端)
项目结构
iotsaas/
├── backend/ # 后端项目
│ ├── iot-common/ # 公共模块
│ ├── iot-auth/ # 认证服务
│ ├── iot-gateway/ # API网关
│ ├── iot-device/ # 设备管理服务
│ ├── iot-data/ # 数据采集服务
│ ├── iot-rule/ # 规则引擎服务
│ ├── iot-alarm/ # 告警服务
│ └── iot-adapter/ # 设备适配器模块
│ ├── tuya/ # 涂鸦适配器
│ ├── dueros/ # 小度适配器
│ ├── miot/ # 小米适配器
│ └── matter/ # Matter适配器
├── frontend/ # 前端项目
│ ├── admin/ # Web管理后台
│ └── mobile/ # 移动端APP
├── docs/ # 文档
├── docker/ # Docker配置
├── scripts/ # 脚本工具
└── deploy/ # 部署配置
快速开始
环境要求
- JDK 17+
- Node.js 18+
- MySQL 8.0+
- Redis 7.x
- Docker & Docker Compose
后端启动
cd backend
mvn clean install
mvn spring-boot:run
前端启动
cd frontend/admin
npm install
npm run dev
Docker一键启动
docker-compose up -d
核心功能
- 设备管理与监控
- 实时数据采集
- 规则引擎与联动
- 告警服务
- 多平台设备适配
- 数据可视化看板
- 用户权限管理
开发文档
详细开发文档请参考 docs/ 目录。
许可证
Copyright © 2026 IoT Platform
Description
Languages
Java
75.6%
Vue
18.7%
TypeScript
4.3%
Batchfile
0.9%
JavaScript
0.3%
Other
0.1%