LightApp 管理平台
基于 Vue 3 微前端的 IoT 设备管理平台:智能联动编排、能耗分析、数据大屏与完整权限体系。
项目背景
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配网工具》同属一个智能家居产品生态,本平台面向运营与管理侧。