2995840376 903b44c84b feat(L): 新增品类管理, 收口涂鸦设备写入的归属校验
品类管理: 新建 product_category 品类字典表(V25, 灌入 8 个预设品类并回填存量 product.category), 后端提供 ProductCategory 增删改查/启停/字典接口, 后台新增「品类管理」页面(设备管理组, 与产品管理同级), 产品管理的品类下拉改为读字典(失败回退内置枚举)。

孤儿设备根治: TuyaController.bindDevices 收口三道校验 —— 绑定门禁(本平台未绑定涂鸦账号直接拒绝)、归属白名单(上报设备须在该用户涂鸦账号真实清单内, 拉取失败降级放行)、owner 校验(他人名下设备不改写; 恢复已删设备时归属改到当前用户)。

兜底自愈: 新增 OrphanTuyaDeviceCleanupTask, 每天 04:30 回收无绑定记录用户的涂鸦设备与 AI 档案(逻辑删除, 可恢复)。

Android: 查看设备时的补同步先确认后端绑定状态, 未绑定不再写库; 同步被拒时记录原因而非静默失败。单测 TuyaControllerBindTest 5 用例覆盖门禁/白名单/owner/恢复归属。
2026-10-28 01:10:59 +08:00
..

IoT Platform Admin Frontend

物联网平台管理后台前端项目

技术栈

  • Vue 3 + TypeScript
  • Vite 5.x
  • Element Plus
  • Pinia
  • Vue Router
  • Axios
  • ECharts

安装依赖

npm install

开发模式

npm run dev

访问 http://localhost:3000

构建

npm run build

项目结构

src/
├── api/           # API接口
├── assets/        # 静态资源
├── components/    # 公共组件
├── layout/        # 布局组件
├── router/        # 路由配置
├── store/         # 状态管理
├── styles/        # 全局样式
├── views/         # 页面组件
├── App.vue        # 根组件
└── main.ts        # 入口文件

功能模块

  • 数据看板
  • 设备管理
  • 数据采集
  • 规则引擎
  • 告警管理
  • 告警规则