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();
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 parentRouter
* @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 parentRouter
* @return
*/
@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)
{
RouterVo router = new RouterVo();
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.setComponent(getComponent(menu));
router.setQuery(menu.getQuery());
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()))
if (!cMenus.isEmpty() && UserConstants.TYPE_DIR.equals(menu.getMenuType()))
{
router.setAlwaysShow(true);
router.setRedirect("noRedirect");
router.setChildren(buildMenus(cMenus));
router.setChildren(buildMenus(cMenus, router));
}
else if (isMenuFrame(menu))
{
router.setMeta(null);
List<RouterVo> childrenList = new ArrayList<RouterVo>();
List<RouterVo> childrenList = new ArrayList<>();
RouterVo children = new RouterVo();
children.setPath(menu.getPath());
children.setComponent(menu.getComponent());
@ -177,7 +178,7 @@ public class SysMenuServiceImpl implements ISysMenuService
{
router.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon()));
router.setPath("/inner");
List<RouterVo> childrenList = new ArrayList<RouterVo>();
List<RouterVo> childrenList = new ArrayList<>();
RouterVo children = new RouterVo();
String routerPath = innerLinkReplaceEach(menu.getPath());
children.setPath(routerPath);

Loading…
Cancel
Save