Pre Merge pull request !150 from runphp/N/A

pull/150/MERGE
runphp 4 years ago committed by Gitee
commit d9c381146a

@ -154,6 +154,6 @@ public class SysMenuController extends BaseController
{ {
Long userId = SecurityUtils.getUserId(); Long userId = SecurityUtils.getUserId();
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId); List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
return AjaxResult.success(menuService.buildMenus(menus)); return AjaxResult.success(menuService.buildMenus(menus, null));
} }
} }

@ -56,11 +56,12 @@ public interface ISysMenuService
/** /**
* *
* *
* @param menus * @param menus
* @param parentRouter
* @return * @return
*/ */
public List<RouterVo> buildMenus(List<SysMenu> menus); public List<RouterVo> buildMenus(List<SysMenu> menus, RouterVo parentRouter);
/** /**
* *

@ -136,34 +136,35 @@ public class SysMenuServiceImpl implements ISysMenuService
/** /**
* *
* *
* @param menus * @param menus
* @param parentRouter
* @return * @return
*/ */
@Override @Override
public List<RouterVo> buildMenus(List<SysMenu> menus) public List<RouterVo> buildMenus(List<SysMenu> menus, RouterVo parentRouter)
{ {
List<RouterVo> routers = new LinkedList<RouterVo>(); List<RouterVo> routers = new LinkedList<>();
for (SysMenu menu : menus) for (SysMenu menu : menus)
{ {
RouterVo router = new RouterVo(); RouterVo router = new RouterVo();
router.setHidden("1".equals(menu.getVisible())); router.setHidden("1".equals(menu.getVisible()));
router.setName(getRouteName(menu)); router.setName(StringUtils.isNull(parentRouter)?getRouteName(menu):parentRouter.getName()+"_"+getRouteName(menu));
router.setPath(getRouterPath(menu)); router.setPath(getRouterPath(menu));
router.setComponent(getComponent(menu)); router.setComponent(getComponent(menu));
router.setQuery(menu.getQuery()); router.setQuery(menu.getQuery());
router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath())); router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath()));
List<SysMenu> cMenus = menu.getChildren(); List<SysMenu> cMenus = menu.getChildren();
if (!cMenus.isEmpty() && cMenus.size() > 0 && UserConstants.TYPE_DIR.equals(menu.getMenuType())) if (!cMenus.isEmpty() && UserConstants.TYPE_DIR.equals(menu.getMenuType()))
{ {
router.setAlwaysShow(true); router.setAlwaysShow(true);
router.setRedirect("noRedirect"); router.setRedirect("noRedirect");
router.setChildren(buildMenus(cMenus)); router.setChildren(buildMenus(cMenus, router));
} }
else if (isMenuFrame(menu)) else if (isMenuFrame(menu))
{ {
router.setMeta(null); router.setMeta(null);
List<RouterVo> childrenList = new ArrayList<RouterVo>(); List<RouterVo> childrenList = new ArrayList<>();
RouterVo children = new RouterVo(); RouterVo children = new RouterVo();
children.setPath(menu.getPath()); children.setPath(menu.getPath());
children.setComponent(menu.getComponent()); children.setComponent(menu.getComponent());
@ -177,7 +178,7 @@ public class SysMenuServiceImpl implements ISysMenuService
{ {
router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon())); router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon()));
router.setPath("/inner"); router.setPath("/inner");
List<RouterVo> childrenList = new ArrayList<RouterVo>(); List<RouterVo> childrenList = new ArrayList<>();
RouterVo children = new RouterVo(); RouterVo children = new RouterVo();
String routerPath = innerLinkReplaceEach(menu.getPath()); String routerPath = innerLinkReplaceEach(menu.getPath());
children.setPath(routerPath); children.setPath(routerPath);

Loading…
Cancel
Save