From c1db17dd771f202647ec56898f6b09cf00947a26 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Tue, 26 May 2020 11:54:46 +0800
Subject: [PATCH] 限制外链地址必须以http(s)://开头
---
ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java | 34 +++++++++++++++++++++++++++++-----
1 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java
index 2b19546..d5aff8e 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java
@@ -15,6 +15,7 @@
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.web.domain.TreeSelect;
import com.ruoyi.project.system.domain.SysMenu;
+import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.domain.vo.MetaVo;
import com.ruoyi.project.system.domain.vo.RouterVo;
import com.ruoyi.project.system.mapper.SysMenuMapper;
@@ -38,15 +39,37 @@
private SysRoleMenuMapper roleMenuMapper;
/**
+ * 根据用户查询系统菜单列表
+ *
+ * @param userId 用户ID
+ * @return 菜单列表
+ */
+ @Override
+ public List<SysMenu> selectMenuList(Long userId)
+ {
+ return selectMenuList(new SysMenu(), userId);
+ }
+
+ /**
* 查询系统菜单列表
*
* @param menu 菜单信息
* @return 菜单列表
*/
@Override
- public List<SysMenu> selectMenuList(SysMenu menu)
+ public List<SysMenu> selectMenuList(SysMenu menu, Long userId)
{
- List<SysMenu> menuList = menuMapper.selectMenuList(menu);
+ List<SysMenu> menuList = null;
+ // 管理员显示所有菜单信息
+ if (SysUser.isAdmin(userId))
+ {
+ menuList = menuMapper.selectMenuList(menu);
+ }
+ else
+ {
+ menu.getParams().put("userId", userId);
+ menuList = menuMapper.selectMenuListByUserId(menu);
+ }
return menuList;
}
@@ -72,9 +95,9 @@
}
/**
- * 根据用户名称查询菜单
+ * 根据用户ID查询菜单
*
- * @param username 用户名称
+ * @param userId 用户名称
* @return 菜单列表
*/
@Override
@@ -116,6 +139,7 @@
for (SysMenu menu : menus)
{
RouterVo router = new RouterVo();
+ router.setHidden("1".equals(menu.getVisible()));
router.setName(StringUtils.capitalize(menu.getPath()));
router.setPath(getRouterPath(menu));
router.setComponent(StringUtils.isEmpty(menu.getComponent()) ? "Layout" : menu.getComponent());
@@ -274,7 +298,7 @@
{
String routerPath = menu.getPath();
// 非外链并且是一级目录
- if (0 == menu.getParentId() && "1".equals(menu.getIsFrame()))
+ if (0 == menu.getParentId() && UserConstants.NO_FRAME.equals(menu.getIsFrame()))
{
routerPath = "/" + menu.getPath();
}
--
Gitblit v1.9.2