From c29f074eaed6ca55239b959f3084c69b5b3f74fc Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Sat, 27 Jun 2026 10:33:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(menu):=20=E6=B7=BB=E5=8A=A0=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E6=A0=B7=E5=BC=8F=E5=B1=9E=E6=80=A7=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 SysMenu 实体类中新增 style 字段用于存储菜单样式 - 在 MetaVo 类中添加 style 属性以传递样式信息 - 更新 SysMenuMapper.xml 映射文件中的字段映射和查询语句 - 修改 SysMenuServiceImpl 中的路由构建逻辑以设置菜单样式 - 为不同类型的菜单路由节点添加样式属性的赋值处理 --- .../klp/common/core/domain/entity/SysMenu.java | 5 +++++ .../java/com/klp/system/domain/vo/MetaVo.java | 5 +++++ .../system/service/impl/SysMenuServiceImpl.java | 16 ++++++++++++---- .../resources/mapper/system/SysMenuMapper.xml | 4 +++- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/klp-common/src/main/java/com/klp/common/core/domain/entity/SysMenu.java b/klp-common/src/main/java/com/klp/common/core/domain/entity/SysMenu.java index c72ad5b4a..c214dc446 100644 --- a/klp-common/src/main/java/com/klp/common/core/domain/entity/SysMenu.java +++ b/klp-common/src/main/java/com/klp/common/core/domain/entity/SysMenu.java @@ -96,6 +96,11 @@ public class SysMenu extends TreeEntity { */ private String icon; + /** + * 样式 + */ + private String style; + /** * 备注 */ diff --git a/klp-system/src/main/java/com/klp/system/domain/vo/MetaVo.java b/klp-system/src/main/java/com/klp/system/domain/vo/MetaVo.java index 6309c3517..4b9056d9b 100644 --- a/klp-system/src/main/java/com/klp/system/domain/vo/MetaVo.java +++ b/klp-system/src/main/java/com/klp/system/domain/vo/MetaVo.java @@ -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; diff --git a/klp-system/src/main/java/com/klp/system/service/impl/SysMenuServiceImpl.java b/klp-system/src/main/java/com/klp/system/service/impl/SysMenuServiceImpl.java index 889849b2b..acc1e8480 100644 --- a/klp-system/src/main/java/com/klp/system/service/impl/SysMenuServiceImpl.java +++ b/klp-system/src/main/java/com/klp/system/service/impl/SysMenuServiceImpl.java @@ -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 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 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); } diff --git a/klp-system/src/main/resources/mapper/system/SysMenuMapper.xml b/klp-system/src/main/resources/mapper/system/SysMenuMapper.xml index 33ec17b8a..9bebaee34 100644 --- a/klp-system/src/main/resources/mapper/system/SysMenuMapper.xml +++ b/klp-system/src/main/resources/mapper/system/SysMenuMapper.xml @@ -20,6 +20,7 @@ + @@ -29,7 +30,7 @@