文章内容
1.数据表定义
2.后端调整
3.前端调整
4.功能使用方式
5.实现管理界面
6.总结
1.数据表定义
由于Cboard原生的菜单项配置在Java代码中,通过static代码块初始化,要实现菜单配置功能,需要建立相关的数据库表来存储菜单信息;
1.1.dashboard_menu数据表定义(MySQL)
仅做参考
| 字段名 | 类型 | 字段含义 | 备注 |
|---|---|---|---|
| menu_id | bigint | 菜单ID | |
| parent_id | bigint | 父菜单ID | |
| menu_code | varchar | 菜单代码 | |
| menu_name_code | varchar | 菜单名称代码 | 对应语言文件代码 |
| menu_description | varchar | 功能描述 | |
| order_number | int | 菜单序号 | 用于菜单排序 |
| menu_icon | varchar | 菜单图标 | 存储图标样式 |
| menu_category | varchar | 菜单分组 | |
| layout_json | text | 菜单样式扩展字段 | 预留字段 |
2.将原菜单数据导入到数据库中
原生的菜单数据保存在MenuService(org/cboard/services/MenuService.java)中:
其中参数依次含义为:菜单ID,父菜单ID,菜单名称代码,菜单代码
menuList.add(new DashboardMenu(1, -1, "SIDEBAR.CONFIG", "config"));
menuList.add(new DashboardMenu(2, 1, "SIDEBAR.DATA_SOURCE", "config.datasource"));
menuList.add(new DashboardMenu(3, 1, "SIDEBAR.CUBE", "config.dataset"));
menuList.add(new DashboardMenu(4, 1, "SIDEBAR.WIDGET", "config.widget"));
menuList.add(new DashboardMenu(5, 1, "SIDEBAR.DASHBOARD", "config.board"));
menuList.add(new DashboardMenu(6, 1, "SIDEBAR.DASHBOARD_CATEGORY", "config.category"));
menuList.add(new DashboardMenu(7, -1, "SIDEBAR.ADMIN", "admin"));
menuList.add(new DashboardMenu(8, 7, "SIDEBAR.USER_ADMIN", "admin.user"));
menuList.add(new DashboardMenu(9, 1, "SIDEBAR.JOB", "config.job"));
menuList.add(new DashboardMenu(10, 1, "SIDEBAR.SHARE_RESOURCE", "config.role"));
menuList.add(new DashboardMenu(11, -1, "SIDEBAR.EXTEND", "extend"));

本文详细介绍了如何扩展CBoard框架的菜单配置功能,包括数据表定义、后端调整、前端修改、功能使用方式及菜单管理界面的实现。通过建立dashboard_menu数据表,使用mybatis-generator生成代码,调整Controller和Service,实现菜单增删改查,以及前端AngularJS的调整,最终实现了从数据库读取和管理菜单的功能。
3万+

被折叠的 条评论
为什么被折叠?



