~/Jaycee
← 返回作品列表

LightApp 管理平台

基于 Vue 3 微前端的 IoT 设备管理平台:智能联动编排、能耗分析、数据大屏与完整权限体系。

LightApp 管理平台 的封面图

项目背景

EBL 智能家居生态的设备规模增长后,运营与管理侧需要一个统一的后台:设备接入与运维、空间归属、联动策略、能耗统计、告警处置、人员权限,分散在各处无法支撑运营。LightApp 管理平台是这个 IoT 生态的管理端(基于开源联犀 IoT 平台二次开发),采用微前端架构承接多业务模块,从 v1 迭代到 v2 页面体系,持续演进两年。

核心功能

  • 设备管理:设备接入、分组、状态监控与远程控制,对接联犀平台 Things 模型的全部接口
  • 智能联动:场景的可视化编排——一键场景与自动场景(触发器 / 条件 / 动作规则),基于流程画布拖拽搭建联动策略
  • 空间管理:区域 / 空间与设备的归属关系维护,配合 Canvas 平面图做空间可视化
  • 能耗分析:ECharts 多维度能耗统计与趋势分析,支持 Excel 报表导入导出
  • 告警管理:设备告警的接收、处置与追溯
  • 权限体系:用户 / 角色 / 菜单级的权限管理,配套系统管理与消息通知
  • 数据大屏:运营数据的可视化大屏展示

技术架构

  • 微前端架构:基于京东 micro-app(Web Component 式接入,自定义元素 micro-*)承载子应用;自研 @ebelong-lib/micro 通信库封装 MicroAppSetData / MicroAppDispatch,实现 Vue 主应用与跨框架子应用间的数据传递,用于智能联动、权限管理等模块的微应用集成
  • 全链路类型安全:自研 @ebelong-lib/lianxi-openapi 提供后端全量接口的 TypeScript 类型定义(SchemaCore / SchemaThings),配合 openapi-fetch 构建请求客户端,接口变更在编译期暴露
  • 可视化能力组合:Vue Flow 流程画布(联动编排)、butterfly-dag、jsmind 思维导图、fabric Canvas(空间平面图)、ECharts(能耗与大屏)——按场景选型而非单库通吃
  • 文件式路由:unplugin-vue-router 生成带类型提示的 typed-router,路由即文件
  • 状态管理:Pinia + pinia-plugin-persistedstate,菜单 / 布局 / 用户状态模块化拆分,v1/v2 双版本渐进迁移
  • 工程化:Vite + unplugin-vue-components 按需引入(Ant Design Vue Resolver)、vue-i18n 10 中英双语、vitest 单测(核心 hooks 覆盖覆盖率统计)、Tailwind CSS

本项目为商业项目,仓库不公开;与《ebelong智能家居APP》《ebelong配网工具》同属一个智能家居产品生态,本平台面向运营与管理侧。