易迅达广告机系统

我要开发同款
proginn09371554052022年08月07日
92阅读

作品详情

我负责项目的全部后台开发及上线部署。大概分为 首页、媒体库、广告管理、设备管理、客户账户管理、参数配置 模块。【首页】首页比较简单,有区域显示登录的客户及账号信息,主要的是相关的统计信息。素材 分类的各种个数及所占空间大小,设备 总数多少,在/离线、到期、未绑定数量,广告 广告、广告计划、滚动字幕个数。运营商超管账户登录后显示当前系统所有的统计信息。【媒体库】主要是对广告创建及发布所用到的素材进行管理,顶部有分类tab,点击不同的分可上传、删除、分组管理等相关操作。分组管理可以管理素材的分组信息,方便添加广告时候快速定位。在上传文件时启用了上传缓存,避免内存溢出及泄漏,同时读取参数配置信息进行上传限制。【广告管理】核心模块,分为 广告管理、广告计划、滚动字幕、广告编排、发布详情。广告管理 技术上就是一张对多对多的数据库操作,逻辑上是初始化一块画布,画布上可以新建各种区域,区域可以为不同的类型,如视频模块,图片模块,音频模块。广告发布时可选着想要发布播放的设备进行发布,即可完成广告播放功能。广告计划和广告类似,区别是广告可选多个,而且发布设备也包含在计划中。滚动字幕就和评审电视上的字幕类似,可以定制大小、速度、颜色、背景、播放位置。编排可搜索出设备,点击设备可以看到设备的播放计划信息。发布详情是记录每次广告发布的信息,包含设备的接收及播放情况,是通过设备收到socket命令后回馈信息记录实现。【设备管理】核心模块,设备通过socket连接到服务器,连接后即代表设备在线socket channel保存在hashtable中。连接后进入未绑定状态,首次连接后,服务端会发送获取设备信息命令,服务端收到后会分类保存在Redis中,存活周期为两个心跳周期,过期则代表设备下线,超时或断开连接的设备会从在线hashtable中移除,每次心跳会刷新存活周期。未绑定设备可由客户绑定,绑定时需要指定分组并输入序列号,序列号通过hash(设备唯一号)算法计算,会以文字及二维码的形式显示在设备上。绑定成功后从Redis删除该行,绑定后的设备进入已绑定列表,绑定后设备属于该客户,其他客户不可见,未绑定列表为全平台可见,也可通过权限进行控制不显示。组管理为自定义多级联动管理,最多四级。【客户账户管理】客户可以自己再新建下级客户及账号,也可以将设备再出售给下级客户。从而实现分销的业务线。模块中有独立且全套的客户、账号、权限、子账号体系,实现业务及权限控制。通过自定义注解的形式,在需要权限控制的接口上添加注解即可。技术上使用InterceptorAdapter切面拦截,扫描对应注解实现。通过在redis中存放token控制。Web单点登录,小程序子账号多端登录,web与小程序同时在线需求。【参数配置】客户管理员可配置当前客户的一些系统参数,如文件上传是否对大小进行控制,如果控制,具体多大等,也可以配置广告发布是否需要审核员审核。在业务中会实时读取这些配置从而实现配置的需求。
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论