| 
					
				 | 
			
			
				@@ -10,6 +10,7 @@ import java.util.Set; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.common.constant.Constants; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.constant.UserConstants; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.core.domain.TreeSelect; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ruoyi.common.core.domain.entity.SysMenu; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -150,7 +151,7 @@ public class SysMenuServiceImpl implements ISysMenuService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             router.setName(getRouteName(menu)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             router.setPath(getRouterPath(menu)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             router.setComponent(getComponent(menu)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<SysMenu> cMenus = menu.getChildren(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!cMenus.isEmpty() && cMenus.size() > 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -166,7 +167,21 @@ 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()))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                childrenList.add(children); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                router.setChildren(childrenList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else if (menu.getParentId().intValue() == 0 && isInnerLink(menu)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                router.setMeta(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                router.setPath("/inner"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                List<RouterVo> childrenList = new ArrayList<RouterVo>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RouterVo children = new RouterVo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String routerPath = StringUtils.replaceEach(menu.getPath(), new String[] { Constants.HTTP, Constants.HTTPS }, new String[] { "", "" }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                children.setPath(routerPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                children.setComponent(UserConstants.INNER_LINK); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                children.setName(StringUtils.capitalize(routerPath)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 childrenList.add(children); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 router.setChildren(childrenList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -338,6 +353,11 @@ public class SysMenuServiceImpl implements ISysMenuService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public String getRouterPath(SysMenu menu) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String routerPath = menu.getPath(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 内链打开外网方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (menu.getParentId().intValue() != 0 && isInnerLink(menu)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            routerPath = StringUtils.replaceEach(routerPath, new String[] { Constants.HTTP, Constants.HTTPS }, new String[] { "", "" }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 非外链并且是一级目录(类型为目录) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (0 == menu.getParentId().intValue() && UserConstants.TYPE_DIR.equals(menu.getMenuType()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 && UserConstants.NO_FRAME.equals(menu.getIsFrame())) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -365,6 +385,10 @@ public class SysMenuServiceImpl implements ISysMenuService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             component = menu.getComponent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else if (StringUtils.isEmpty(menu.getComponent()) && menu.getParentId().intValue() != 0 && isInnerLink(menu)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            component = UserConstants.INNER_LINK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else if (StringUtils.isEmpty(menu.getComponent()) && isParentView(menu)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             component = UserConstants.PARENT_VIEW; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -384,6 +408,17 @@ public class SysMenuServiceImpl implements ISysMenuService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 && menu.getIsFrame().equals(UserConstants.NO_FRAME); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 是否为内链组件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     *  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param menu 菜单信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public boolean isInnerLink(SysMenu menu) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return menu.getIsFrame().equals(UserConstants.NO_FRAME) && StringUtils.ishttp(menu.getPath()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 是否为parent_view组件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      *  
			 |