立项原因:传统的信息发布系统(如数字标牌、广告机)多依赖人工通过U盘拷贝更新,存在更新滞后、设备状态不明、故障排查难等痛点。特别是在大型园区中,上百块屏幕分散在不同楼栋,一旦遇到台风、火灾等突发事件,无法做到第一时间全网通报。
行业场景:本项目面向智慧园区、智慧楼宇、连锁门店、政务大厅等拥有大量分布式智能屏幕的物联网(IoT)场景。旨在打造一套集硬件设备监控、多媒体内容管理、可视化排版编排、以及统一下发调度于一体的现代化信息发布中枢。
点击空白处退出提示
立项原因:传统的信息发布系统(如数字标牌、广告机)多依赖人工通过U盘拷贝更新,存在更新滞后、设备状态不明、故障排查难等痛点。特别是在大型园区中,上百块屏幕分散在不同楼栋,一旦遇到台风、火灾等突发事件,无法做到第一时间全网通报。
行业场景:本项目面向智慧园区、智慧楼宇、连锁门店、政务大厅等拥有大量分布式智能屏幕的物联网(IoT)场景。旨在打造一套集硬件设备监控、多媒体内容管理、可视化排版编排、以及统一下发调度于一体的现代化信息发布中枢。
可视化排版:内置基于 Canvas 引擎的拖拽式画布编辑器,支持自由划分屏幕区域,拖拽图片、视频、时钟、天气等控件,所见即所得地生成节目排版。
节目与排期调度:支持日常循环、定时任务等多种排期规则。提供直观的日历周视图,内置排期冲突检测与优先级机制。
紧急插播与预案:遇到突发事件,支持一键强制打断原有排期,全屏播放紧急通知;支持预设节假日专属预案,到期自动切换。
终端设备管控:通过心跳保活机制实时监控设备在线状态、CPU/存储等硬件指标,支持远程截屏、控制、批量重启。
运营与告警大盘:实时监控大屏,提供内容曝光统计、设备健康度排行,并自动生成设备离线、存储不足等多维度告警。
个人职责:担任全栈开发/主力前端,负责系统整体架构设计、数据库建模、核心业务接口开发,以及前端可视化画布引擎的核心逻辑实现。
技术栈:前端 Vue3 + Vben5 + Ant Design Vue + Fabric.js/Konva.js;后端 Java + Spring Boot + MyBatis-Plus + MySQL + Redis + WebSocket。
实现亮点与难点:
海量数据与心跳风暴:面对数百台终端每30秒一次的心跳上报,采用 Redis 缓存设备最新状态,并通过定时任务进行延迟下线判定,极大降低了数据库压力。
画布数据结构化:将用户在画布上复杂的拖拽、缩放操作,序列化为高度结构化的 JSON 数据,并设计了模板继承与素材联动机制,实现了一套代码兼容“节目制作”与“屏幕模板”双业务。
复杂的时间排期引擎:通过解析复杂的 JSON 时间规则(包含周期、时段),结合设备优先级,精准计算当下时刻终端应该播放的画面内容。



评论