feat(menu): 添加菜单样式属性支持
- 在 SysMenu 实体类中新增 style 字段用于存储菜单样式 - 在 MetaVo 类中添加 style 属性以传递样式信息 - 更新 SysMenuMapper.xml 映射文件中的字段映射和查询语句 - 修改 SysMenuServiceImpl 中的路由构建逻辑以设置菜单样式 - 为不同类型的菜单路由节点添加样式属性的赋值处理
This commit is contained in:
@@ -96,6 +96,11 @@ public class SysMenu extends TreeEntity<SysMenu> {
|
||||
*/
|
||||
private String icon;
|
||||
|
||||
/**
|
||||
* 样式
|
||||
*/
|
||||
private String style;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
|
||||
@@ -32,6 +32,11 @@ public class MetaVo {
|
||||
*/
|
||||
private String link;
|
||||
|
||||
/**
|
||||
* 菜单样式
|
||||
*/
|
||||
private String style;
|
||||
|
||||
public MetaVo(String title, String icon) {
|
||||
this.title = title;
|
||||
this.icon = icon;
|
||||
|
||||
@@ -161,7 +161,9 @@ public class SysMenuServiceImpl implements ISysMenuService {
|
||||
router.setPath(getRouterPath(menu));
|
||||
router.setComponent(getComponent(menu));
|
||||
router.setQuery(menu.getQueryParam());
|
||||
router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath()));
|
||||
MetaVo metaVo = new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath());
|
||||
metaVo.setStyle(menu.getStyle());
|
||||
router.setMeta(metaVo);
|
||||
List<SysMenu> cMenus = menu.getChildren();
|
||||
if (CollUtil.isNotEmpty(cMenus) && UserConstants.TYPE_DIR.equals(menu.getMenuType())) {
|
||||
router.setAlwaysShow(true);
|
||||
@@ -174,12 +176,16 @@ public class SysMenuServiceImpl implements ISysMenuService {
|
||||
children.setPath(menu.getPath());
|
||||
children.setComponent(menu.getComponent());
|
||||
children.setName(StringUtils.capitalize(menu.getPath()));
|
||||
children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath()));
|
||||
MetaVo childrenMetaVo = new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath());
|
||||
childrenMetaVo.setStyle(menu.getStyle());
|
||||
children.setMeta(childrenMetaVo);
|
||||
children.setQuery(menu.getQueryParam());
|
||||
childrenList.add(children);
|
||||
router.setChildren(childrenList);
|
||||
} else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) {
|
||||
router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon()));
|
||||
MetaVo innerMetaVo = new MetaVo(menu.getMenuName(), menu.getIcon());
|
||||
innerMetaVo.setStyle(menu.getStyle());
|
||||
router.setMeta(innerMetaVo);
|
||||
router.setPath("/");
|
||||
List<RouterVo> childrenList = new ArrayList<>();
|
||||
RouterVo children = new RouterVo();
|
||||
@@ -187,7 +193,9 @@ public class SysMenuServiceImpl implements ISysMenuService {
|
||||
children.setPath(routerPath);
|
||||
children.setComponent(UserConstants.INNER_LINK);
|
||||
children.setName(StringUtils.capitalize(routerPath));
|
||||
children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath()));
|
||||
MetaVo innerChildrenMetaVo = new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath());
|
||||
innerChildrenMetaVo.setStyle(menu.getStyle());
|
||||
children.setMeta(innerChildrenMetaVo);
|
||||
childrenList.add(children);
|
||||
router.setChildren(childrenList);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
<result property="status" column="status"/>
|
||||
<result property="perms" column="perms"/>
|
||||
<result property="icon" column="icon"/>
|
||||
<result property="style" column="style"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
@@ -29,7 +30,7 @@
|
||||
|
||||
<select id="selectMenuListByUserId" parameterType="SysMenu" resultMap="SysMenuResult">
|
||||
select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.query_param, m.visible, m.status,
|
||||
m.perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
|
||||
m.perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.style, m.order_num, m.create_time
|
||||
from sys_menu m
|
||||
left join sys_role_menu rm on m.menu_id = rm.menu_id
|
||||
left join sys_user_role sur on rm.role_id = sur.role_id
|
||||
@@ -51,6 +52,7 @@
|
||||
m.is_cache,
|
||||
m.menu_type,
|
||||
m.icon,
|
||||
m.style,
|
||||
m.order_num,
|
||||
m.create_time
|
||||
from sys_menu m
|
||||
|
||||
Reference in New Issue
Block a user