Xianfeng轻量级Java中间件平台:菜单管理

通过菜单管理,可以实现系统菜单的权限控制、用户个性化菜单功能等,当然很多系统支持在线开发,不用专门的开发工具编写代码,通过一些简单的设置就能开发出新的功能,有新功能增加到系统中,菜单管理功能也是必不可少的


平台为了给以后功能扩展留下接口,菜单管理功能包含菜单分类管理和菜单管理两块功能,菜单分类管理功能的引入,主要是为了实现个性化菜单功能打下基础


上周放端午节,开发进度没有跟上,不过大体的架子都已经做出来了,看看菜单分类管理功能的页面吧


整个页面风格都用LigerUI来布局,顶部LOGO区(后期会开发一些快捷链接大图标放在顶部),左侧导航区,右侧功能区


菜单的数据结构具有深度级联的特点,因此前台使用树来展现数据,效果更加直观一些


功能区左侧是菜单树,右侧是树节点编辑区,编辑区的表单没有使用LigerUI的默认的表单风格,而是进行了一些改造,整个表单使用table布局,这样能够适应一些复杂表单的布局,并且扩展实现了表单顶部工具栏(后期会贴图)、底部按钮栏的效果,顶部工具栏、底部按钮位置相对固定,不会随着页面滚动,方便操作


下面看看菜单树一些功能操作

根节点,只能增加、刷新,不能删除,不能删除是因为数据库本身没有保存根节点,根节点是虚拟节点,方便增加一级菜单,因此不能删除


子节点可以增加、删除、刷新,刷新的实现方法是先删除所有的子节点,然后重新加载所有的子节点


叶子节点只能删除,是否叶子节点是菜单的一个属性,通过是否叶子节点的判断,禁用其他右键按钮即可



菜单管理功能的开发,对树的操作遇到一些问题,主要是因为LigerUI的API文档不是很全面,很多API都是通过浏览器调试、查看源码的方式知道的,尽管如此,还是要感谢LigerUI的作者,毕竟很多复杂的功能都已经实现了,作为一个OpenSource来说,能做到如此,已经很ok了


后面还会继续完善Xianfeng平台的功能,最近主要是开发权限管理相关的功能,相对于之前做的那些业务组件开发,功能要复杂一些,页面展现形式也更加多样化


原文地址:https://www.cnblogs.com/wenlong/p/4070094.html