From 7d73684052b03ce5dcc702a599ce5a04c10637e4 Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Tue, 31 May 2022 12:16:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../route/IndexRouteController.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/login-base/src/main/java/ink/wgink/login/base/controller/route/IndexRouteController.java b/login-base/src/main/java/ink/wgink/login/base/controller/route/IndexRouteController.java index 96e6f2fc..1ecf420f 100644 --- a/login-base/src/main/java/ink/wgink/login/base/controller/route/IndexRouteController.java +++ b/login-base/src/main/java/ink/wgink/login/base/controller/route/IndexRouteController.java @@ -64,8 +64,8 @@ public class IndexRouteController { } - @GetMapping("default-main/{rootMenuId}") - public ModelAndView defaultMain(@PathVariable("rootMenuId") String rootMenuId) { + @GetMapping("default-main/{menuIdAndDefaultHome}") + public ModelAndView defaultMain(@PathVariable("menuIdAndDefaultHome") String menuIdAndDefaultHome) { ModelAndView mv = new ModelAndView("default-main"); UserInfoBO userInfoBO = securityComponent.getCurrentUser(); mv.addObject("userUsername", userInfoBO.getUserUsername()); @@ -89,9 +89,15 @@ public class IndexRouteController { if (!StringUtils.isBlank(config.get(IUserCenterConst.MENU_MODE))) { mv.addObject(IUserCenterConst.MENU_MODE, config.get(IUserCenterConst.MENU_MODE)); } + + // 得到根节点菜单ID与默认home页面 + String[] menuIdAndDefaultHomeArray = menuIdAndDefaultHome.split(SYSTEM_HOME_SPLIT); + String rootMenuId = menuIdAndDefaultHomeArray[0]; + + // 处理系统菜单 if (menuBaseService != null) { - // 所有系统菜单 - List systems = menuBaseService.listByParentId("0"); + // 查询所有系统菜单 + List systemsRootMenus = menuBaseService.listByParentId("0"); List menus; if (securityComponent.isAdmin()) { // 管理员 @@ -99,10 +105,10 @@ public class IndexRouteController { if (menuIds.isEmpty()) { menus = menuBaseService.listSystemMenu(rootMenuId); // 移除菜单中的第一个斜杠,保证跳转正常 - systems = MenuUtil.listSystems(systems); + systemsRootMenus = MenuUtil.listSystems(systemsRootMenus); } else { menus = menuBaseService.listSystemMenu(rootMenuId, menuIds); - systems = MenuUtil.listSystems(systems, menuIds); + systemsRootMenus = MenuUtil.listSystems(systemsRootMenus, menuIds); } } else { // 普通用户 @@ -117,16 +123,17 @@ public class IndexRouteController { List menuIds = roleMenuBaseService.listMenuId(roleIds); menus = menuBaseService.listSystemMenu(rootMenuId, menuIds); // 去除多余的系统 - systems = MenuUtil.listSystems(systems, menuIds); + systemsRootMenus = MenuUtil.listSystems(systemsRootMenus, menuIds); } } mv.addObject("menus", menus); - mv.addObject("systems", systems.isEmpty() ? null : systems); + mv.addObject("systems", systemsRootMenus.isEmpty() ? null : systemsRootMenus); } + // 默认home页面 String defaultHome = "default-home"; // 含有系统首页分隔符,并且有内容 - if (rootMenuId.contains(SYSTEM_HOME_SPLIT) && !rootMenuId.endsWith(SYSTEM_HOME_SPLIT)) { + if (menuIdAndDefaultHomeArray.length > 1) { String systemHomeUrl = rootMenuId.split(SYSTEM_HOME_SPLIT)[1]; if (!StringUtils.isBlank(systemHomeUrl)) { defaultHome = systemHomeUrl;