功能状态
图例
| 图标 | 含义 |
|---|---|
| ✅ | 已完成 |
| 🔨 | 开发中 |
| 📋 | 已规划 |
| ⏳ | 待规划 |
后端 (yunstack-backend)
核心服务
| 功能 | 状态 | 版本 | 备注 |
|---|---|---|---|
| 项目框架搭建 | ✅ | v0.1 | NestJS + Prisma |
| 环境变量配置 | ✅ | v0.1 | Joi 校验 |
| 全局异常处理 | ✅ | v0.1 | HttpExceptionFilter |
| 响应格式统一 | ✅ | v0.1 | TransformInterceptor |
| 请求日志中间件 | ✅ | v0.1 | RequestLogger |
| 速率限制 | ✅ | v0.1 | ThrottlerGuard |
| Swagger 文档 | ✅ | v0.1 | @nestjs/swagger |
| EventEmitter | ✅ | v0.2 | MQTT 事件解耦 |
认证授权
| 功能 | 状态 | 版本 | 备注 |
|---|---|---|---|
| JWT 登录 | ✅ | v0.1 | Passport + JWT |
| Token 刷新 | ✅ | v0.1 | refreshToken |
| 图形验证码 | ✅ | v0.1 | svg-captcha |
| 微信小程序登录 | ✅ | v0.1 | code + 手机号 |
| RBAC 角色权限 | ✅ | v0.1 | RolesGuard |
| 登出 | ✅ | v0.1 |
用户与角色管理
| 功能 | 状态 | 版本 | 备注 |
|---|---|---|---|
| 用户 CRUD | ✅ | v0.1 | 含分页、搜索 |
| 角色 CRUD | ✅ | v0.1 | |
| 批量删除 | ✅ | v0.1 | |
| 用户状态管理 | ✅ | v0.1 | 启用/禁用 |
| 密码重置 | ✅ | v0.1 | admin 专用 |
| 个人资料修改 | ✅ | v0.1 | |
| 权限管理 | ✅ | v0.2 | CRUD + 权限树 |
IoT 核心功能
| 功能 | 状态 | 版本 | 备注 |
|---|---|---|---|
| 数据库标准化(12表) | ✅ | v0.2 | User/Role/Permission/UserRole/RolePermission/Product/Device/DeviceLog/Firmware/OtaTask/Organization/Room |
| MQTT 客户端 | ✅ | v0.1 | mqtt.js 封装 |
| MQTT 标准 Topic | ✅ | v0.2 | sys/{pid}/{did}/thing/... |
| 产品管理 | ✅ | v0.2 | CRUD + 物模型 JSON 校验 |
| 设备注册/管理 | ✅ | v0.2 | CRUD + 双ID体系 |
| 设备影子 | ✅ | v0.2 | Redis 热缓存 + PostgreSQL 权威存储 |
| 设备在线状态 | ✅ | v0.2 | 属性上报驱动 + Redis TTL 120s |
| 设备控制 | ✅ | v0.2 | MQTT 下发 + 命令超时追踪(Redis) |
| 设备日志 | ✅ | v0.2 | online/offline/report/control/ota |
| 时序数据存储 | ✅ | v0.2 | InfluxDB + Flux 查询 |
| WebSocket 实时推送 | ✅ | v0.2 | Socket.IO + JWT 认证 |
| 固件管理 | ✅ | v0.2 | 上传/版本/删除 |
| OTA 升级任务 | ✅ | v0.2 | 创建任务 + MQTT 通知下发 |
| 组织管理 | ✅ | v0.2 | CRUD + 房间管理 |
| 设备认证对接 EMQX | 📋 | v0.2 | PostgreSQL 直连认证 |
| EMQX Webhook | ✅ | v0.2 | 连接事件日志(在线状态已改为属性上报驱动) |
| 设备模拟器 | ✅ | v0.2 | 继电器 + 传感器模拟 |
| 告警规则引擎 | ⏳ | v0.5 | |
| 场景联动 | ⏳ | v0.5 |
文件与存储
| 功能 | 状态 | 版本 | 备注 |
|---|---|---|---|
| 文件上传 | ✅ | v0.1 | 本地/OSS |
| 文件删除 | ✅ | v0.1 | |
| 邮件服务 | ✅ | v0.1 | Nodemailer |
| Redis 缓存 | ✅ | v0.2 | 设备状态/命令追踪/系统状态 |
Web 管理后台 (yunstack-web)
基础框架
| 功能 | 状态 | 版本 | 备注 |
|---|---|---|---|
| 项目框架搭建 | ✅ | v0.1 | Vue3 + Vite |
| 路由系统 | ✅ | v0.1 | hash history |
| 权限路由 | ✅ | v0.1 | 角色过滤 |
| Pinia 状态管理 | ✅ | v0.1 | |
| Element Plus UI | ✅ | v0.1 | |
| UnoCSS | ✅ | v0.1 | |
| 多标签页 | ✅ | v0.1 | |
| 暗黑/亮色主题 | ✅ | v0.1 |
系统管理页面
| 功能 | 状态 | 版本 | 备注 |
|---|---|---|---|
| 登录/注册 | ✅ | v0.1 | |
| Dashboard | ✅ | v0.1 | 系统状态 + IoT 设备统计 |
| 个人中心 | ✅ | v0.1 | |
| 用户管理 | ✅ | v0.1 | |
| 角色管理 | ✅ | v0.1 |
IoT 业务页面
| 功能 | 状态 | 版本 | 备注 |
|---|---|---|---|
| 产品管理 | ✅ | v0.2 | CRUD + 物模型详情 |
| 设备列表 | ✅ | v0.2 | 筛选(关键字/产品/状态) |
| 设备详情 | ✅ | v0.2 | |
| 遥测数据看板 | ✅ | v0.2 | ECharts + 时间范围选择 |
| 固件管理 | ✅ | v0.2 | 上传/列表/删除 |
| 组织管理 | ✅ | v0.2 | 双面板:组织+房间 |
| 告警管理 | 📋 | v0.5 | |
| OTA 升级管理 | 📋 | v0.2 | 任务列表/进度页面 |
微信小程序 (yunstack-uniapp)
基础框架
| 功能 | 状态 | 版本 | 备注 |
|---|---|---|---|
| UniApp 项目搭建 | ✅ | v0.1 | Vue3 |
| TabBar 导航 | ✅ | v0.1 | 首页 + 我的 |
| 微信登录 | ✅ | v0.1 | 多种方式 |
| Pinia 状态管理 | ✅ | v0.1 | |
| Wot Design Uni | ✅ | v0.1 | |
| 主题切换 | ✅ | v0.1 |
业务页面
| 功能 | 状态 | 版本 | 备注 |
|---|---|---|---|
| 首页 | ✅ | v0.1 | |
| 个人资料 | ✅ | v0.1 | |
| 设置 | ✅ | v0.1 | |
| 关于 | ✅ | v0.1 | |
| 意见反馈 | ✅ | v0.1 |
IoT 业务页面
| 功能 | 状态 | 版本 | 备注 |
|---|---|---|---|
| 设备列表 | 📋 | v0.2 | |
| 设备控制 | 📋 | v0.2 | |
| 设备配网 | 📋 | v0.2 | |
| 实时状态 | 📋 | v0.2 | WebSocket |
| 数据历史 | 📋 | v0.5 |
硬件设备
| 设备 | 状态 | 版本 | 备注 |
|---|---|---|---|
| IHE-RM-04 四路继电器 | 🔨 | v2.0 | 固件 v2.0 完成 |
| EnvSense-Box 环境传感器 | ✅ | v1.0 | 设计+样机完成,串口输出,待集成 MQTT |
| 八路继电器模块 | 📋 | - | 规划中 |
四路继电器固件
| 功能 | 状态 | 备注 |
|---|---|---|
| WiFi 连接 | ✅ | |
| MQTT 通信 | ✅ | |
| 本地按键控制 | ✅ | |
| 断电状态记忆 | ✅ | |
| CH423 IO 扩展 | ✅ | |
| RS485/Modbus | 📋 | |
| BLE 配网 | 📋 | |
| OTA 升级 | 📋 | |
| ESPNOW 网关 | ⏳ | |
| Home Assistant 集成 | 📋 |
环境传感器固件
| 功能 | 状态 | 备注 |
|---|---|---|
| I2C 传感器驱动 (AHT20/BMP280/BH1750) | ✅ | |
| UART 传感器驱动 (SC8CO2 Modbus CRC16) | ✅ | |
| WS2812 状态指示 | ✅ | |
| JSON 串口输出 | ✅ | |
| WiFi 连接 | 📋 | 待集成 |
| MQTT 数据上报 | 📋 | 待对接 YunStack Topic |
| OTA 升级 | ⏳ |
文档
| 功能 | 状态 | 备注 |
|---|---|---|
| 架构设计文档 | ✅ | 12 份完整 |
| 物模型规范 | ✅ | |
| MQTT 协议 | ✅ | 含 Payload/Config/OTA |
| API 接口文档 | ✅ | |
| 编码规范 | ✅ | 含 C/ESP-IDF |
| 部署文档 | ✅ | |
| 设备接入指南 | ✅ | ESP-IDF 示例 |
| 软件部分文档 | ✅ | 后端+小程序+Web 共 11 份 |
| 硬件文档 | ✅ | 四路继电器+环境传感器 |
| 开发路线 | ✅ | 已移至开发进度目录 |
技术债务
| 问题 | 优先级 | 状态 | 备注 |
|---|---|---|---|
| MQTT Topic 规范不一致 | 高 | ✅ | 标准 Topic 已实现,待固件 v3.0 适配 |
| WebSocket 协议不兼容 | 高 | 📋 | 后端 socket.io vs 小程序 STOMP |
| Prisma Schema 缺 IoT 表 | 高 | ✅ | 12 表已全部创建并迁移 |
| UniApp 版本过旧 | 中 | 📋 | 3.0.0 预览版需升级 |
| 测试覆盖率低 | 中 | 🔨 | 新增 45 个单测(Org/Permission/OtaTask/Device),持续改进 |
| 前端无单元测试 | 低 | 📋 | Web/UniApp 均缺 |
| EMQX PostgreSQL 认证配置 | 高 | 📋 | 待配置 |
