feat(menu): 添加菜单样式属性支持
- 在 SysMenu 实体类中新增 style 字段用于存储菜单样式 - 在 MetaVo 类中添加 style 属性以传递样式信息 - 更新 SysMenuMapper.xml 映射文件中的字段映射和查询语句 - 修改 SysMenuServiceImpl 中的路由构建逻辑以设置菜单样式 - 为不同类型的菜单路由节点添加样式属性的赋值处理
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user