瀏覽代碼

修改路由

yq 3 年之前
父節點
當前提交
3cf031d235

+ 1 - 1
fiveep-controller/src/main/java/com/bizmatics/controller/web/system/SysLoginController.java

@@ -91,6 +91,6 @@ public class SysLoginController
         // 用户信息
         SysUser user = loginUser.getUser();
         List<SysMenu> menus = menuService.selectMenuTreeByUserId(user.getUserId());
-        return ApiResult.success(menuService.buildMenus(menus));
+        return ApiResult.success(menuService.buildMenusNew(menus));
     }
 }

+ 10 - 25
fiveep-model/src/main/java/com/bizmatics/model/vo/MetaVo.java

@@ -22,14 +22,9 @@ public class MetaVo
     private String icon;
 
     /**
-     * 设置为true,则不会被 <keep-alive>缓存
-     */
-    private boolean noCache;
-
-    /**
-     * 内链地址(http(s)://开头)
-     */
-    private String link;
+     * 前端用
+      */
+    private Boolean affix;
 
     public MetaVo()
     {
@@ -45,36 +40,24 @@ public class MetaVo
     {
         this.title = title;
         this.icon = icon;
-        this.noCache = noCache;
     }
 
     public MetaVo(String title, String icon, String link)
     {
         this.title = title;
         this.icon = icon;
-        this.link = link;
     }
 
     public MetaVo(String title, String icon, boolean noCache, String link)
     {
         this.title = title;
         this.icon = icon;
-        this.noCache = noCache;
         if (StringUtils.startsWithAny(link, Constants.HTTP, Constants.HTTPS))
         {
-            this.link = link;
-        }
-    }
 
-    public boolean isNoCache()
-    {
-        return noCache;
+        }
     }
 
-    public void setNoCache(boolean noCache)
-    {
-        this.noCache = noCache;
-    }
 
     public String getTitle()
     {
@@ -96,13 +79,15 @@ public class MetaVo
         this.icon = icon;
     }
 
-    public String getLink()
+
+
+    public Boolean getAffix()
     {
-        return link;
+        return affix;
     }
 
-    public void setLink(String link)
+    public void setAffix(boolean affix)
     {
-        this.link = link;
+        this.affix = affix;
     }
 }

+ 3 - 0
fiveep-service/src/main/java/com/bizmatics/service/system/ISysMenuService.java

@@ -63,6 +63,9 @@ public interface ISysMenuService
      */
     public List<RouterVo> buildMenus(List<SysMenu> menus);
 
+
+    public List<RouterVo> buildMenusNew(List<SysMenu> menus);
+
     /**
      * 构建前端所需要树结构
      * 

+ 42 - 0
fiveep-service/src/main/java/com/bizmatics/service/system/impl/SysMenuServiceImpl.java

@@ -191,6 +191,48 @@ public class SysMenuServiceImpl implements ISysMenuService
         return routers;
     }
 
+    @Override
+    public List<RouterVo> buildMenusNew(List<SysMenu> menus) {
+        List<RouterVo> routers = new LinkedList<RouterVo>();
+        RouterVo routerOne;
+        for (SysMenu menu : menus)
+        {
+            List<RouterVo> routesList = new LinkedList<RouterVo>();
+            routerOne = checkParent(menu, menus.indexOf(menu), true);
+            RouterVo routerVo;
+            for (SysMenu sysMenu:menu.getChildren()) {
+                routerVo = checkParent(sysMenu,1,false);
+                routesList.add(routerVo);
+            }
+            routerOne.setChildren(routesList);
+            routers.add(routerOne);
+        }
+        return routers;
+    }
+
+    public RouterVo checkParent(SysMenu menu,Integer affix,Boolean isParent){
+        RouterVo router = new RouterVo();
+        MetaVo metaVo = new MetaVo();
+        router.setPath(menu.getPath());
+        List<SysMenu> cMenus = menu.getChildren();
+        if (isParent){
+            if (cMenus.size() == 1){
+                router.setRedirect(menu.getPath());
+            }else if (cMenus.size() > 1){
+                router.setRedirect(menu.getPath()+"/"+cMenus.get(0).getPath());
+            }
+
+            if (0 == affix){
+                metaVo.setAffix(true);
+            }
+        }
+        router.setComponent(menu.getComponent());
+        metaVo.setTitle(menu.getMenuName());
+        metaVo.setIcon(menu.getIcon());
+        router.setMeta(metaVo);
+        return router;
+    }
+
     /**
      * 构建前端所需要树结构
      *