文档库--菜单中英文

This commit is contained in:
zhn
2022-03-03 11:06:34 +08:00
parent 265cb484fc
commit 0b5d8d38f0
3 changed files with 67 additions and 48 deletions
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.constant.enums.CutEnum;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresRoles; import org.apache.shiro.authz.annotation.RequiresRoles;
@@ -54,7 +55,7 @@ public class SysPermissionController {
/** /**
* 加载数据节点 * 加载数据节点
* *
* @return * @return
*/ */
@RequestMapping(value = "/page", method = RequestMethod.GET) @RequestMapping(value = "/page", method = RequestMethod.GET)
@@ -173,7 +174,7 @@ public class SysPermissionController {
// /** // /**
// * 查询用户拥有的菜单权限和按钮权限(根据用户账号) // * 查询用户拥有的菜单权限和按钮权限(根据用户账号)
// * // *
// * @return // * @return
// */ // */
// @RequestMapping(value = "/queryByUser", method = RequestMethod.GET) // @RequestMapping(value = "/queryByUser", method = RequestMethod.GET)
@@ -195,11 +196,11 @@ public class SysPermissionController {
/** /**
* 查询用户拥有的菜单权限和按钮权限 * 查询用户拥有的菜单权限和按钮权限
* *
* @return * @return
*/ */
@RequestMapping(value = "/getUserPermissionByToken", method = RequestMethod.GET) @RequestMapping(value = "/getUserPermissionByToken", method = RequestMethod.GET)
public Result<?> getUserPermissionByToken() { public Result<?> getUserPermissionByToken(String cut) {
Result<JSONObject> result = new Result<JSONObject>(); Result<JSONObject> result = new Result<JSONObject>();
try { try {
//直接获取当前用户不适用前端token //直接获取当前用户不适用前端token
@@ -217,7 +218,7 @@ public class SysPermissionController {
//update-end-author:taoyan date:20200211 for: TASK #3368 【路由缓存】首页的缓存设置有问题,需要根据后台的路由配置来实现是否缓存 //update-end-author:taoyan date:20200211 for: TASK #3368 【路由缓存】首页的缓存设置有问题,需要根据后台的路由配置来实现是否缓存
JSONObject json = new JSONObject(); JSONObject json = new JSONObject();
JSONArray menujsonArray = new JSONArray(); JSONArray menujsonArray = new JSONArray();
this.getPermissionJsonArray(menujsonArray, metaList, null); this.getPermissionJsonArray(menujsonArray, metaList, null,cut);
JSONArray authjsonArray = new JSONArray(); JSONArray authjsonArray = new JSONArray();
this.getAuthJsonArray(authjsonArray, metaList); this.getAuthJsonArray(authjsonArray, metaList);
//查询所有的权限 //查询所有的权限
@@ -237,7 +238,7 @@ public class SysPermissionController {
result.setResult(json); result.setResult(json);
result.success("查询成功"); result.success("查询成功");
} catch (Exception e) { } catch (Exception e) {
result.error500("查询失败:" + e.getMessage()); result.error500("查询失败:" + e.getMessage());
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
} }
return result; return result;
@@ -328,7 +329,7 @@ public class SysPermissionController {
/** /**
* 获取全部的权限树 * 获取全部的权限树
* *
* @return * @return
*/ */
@RequestMapping(value = "/queryTreeList", method = RequestMethod.GET) @RequestMapping(value = "/queryTreeList", method = RequestMethod.GET)
@@ -360,7 +361,7 @@ public class SysPermissionController {
/** /**
* 异步加载数据节点 * 异步加载数据节点
* *
* @return * @return
*/ */
@RequestMapping(value = "/queryListAsync", method = RequestMethod.GET) @RequestMapping(value = "/queryListAsync", method = RequestMethod.GET)
@@ -383,7 +384,7 @@ public class SysPermissionController {
/** /**
* 查询角色授权 * 查询角色授权
* *
* @return * @return
*/ */
@RequestMapping(value = "/queryRolePermission", method = RequestMethod.GET) @RequestMapping(value = "/queryRolePermission", method = RequestMethod.GET)
@@ -401,7 +402,7 @@ public class SysPermissionController {
/** /**
* 保存角色授权 * 保存角色授权
* *
* @return * @return
*/ */
@RequestMapping(value = "/saveRolePermission", method = RequestMethod.POST) @RequestMapping(value = "/saveRolePermission", method = RequestMethod.POST)
@@ -460,7 +461,7 @@ public class SysPermissionController {
} }
} }
/** /**
* 获取权限JSON数组 * 获取权限JSON数组
* @param jsonArray * @param jsonArray
@@ -505,20 +506,20 @@ public class SysPermissionController {
* @param metaList * @param metaList
* @param parentJson * @param parentJson
*/ */
private void getPermissionJsonArray(JSONArray jsonArray, List<SysPermission> metaList, JSONObject parentJson) { private void getPermissionJsonArray(JSONArray jsonArray, List<SysPermission> metaList, JSONObject parentJson,String cut) {
for (SysPermission permission : metaList) { for (SysPermission permission : metaList) {
if (permission.getMenuType() == null) { if (permission.getMenuType() == null) {
continue; continue;
} }
String tempPid = permission.getParentId(); String tempPid = permission.getParentId();
JSONObject json = getPermissionJsonObject(permission); JSONObject json = getPermissionJsonObject(permission,cut);
if(json==null) { if(json==null) {
continue; continue;
} }
if (parentJson == null && oConvertUtils.isEmpty(tempPid)) { if (parentJson == null && oConvertUtils.isEmpty(tempPid)) {
jsonArray.add(json); jsonArray.add(json);
if (!permission.isLeaf()) { if (!permission.isLeaf()) {
getPermissionJsonArray(jsonArray, metaList, json); getPermissionJsonArray(jsonArray, metaList, json,cut);
} }
} else if (parentJson != null && oConvertUtils.isNotEmpty(tempPid) && tempPid.equals(parentJson.getString("id"))) { } else if (parentJson != null && oConvertUtils.isNotEmpty(tempPid) && tempPid.equals(parentJson.getString("id"))) {
// 类型( 0:一级菜单 1:子菜单 2:按钮 ) // 类型( 0:一级菜单 1:子菜单 2:按钮 )
@@ -542,7 +543,7 @@ public class SysPermissionController {
} }
if (!permission.isLeaf()) { if (!permission.isLeaf()) {
getPermissionJsonArray(jsonArray, metaList, json); getPermissionJsonArray(jsonArray, metaList, json,cut);
} }
} }
} }
@@ -555,7 +556,7 @@ public class SysPermissionController {
* @param permission * @param permission
* @return * @return
*/ */
private JSONObject getPermissionJsonObject(SysPermission permission) { private JSONObject getPermissionJsonObject(SysPermission permission,String cut) {
JSONObject json = new JSONObject(); JSONObject json = new JSONObject();
// 类型(0:一级菜单 1:子菜单 2:按钮) // 类型(0:一级菜单 1:子菜单 2:按钮)
if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_2)) { if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_2)) {
@@ -610,7 +611,11 @@ public class SysPermissionController {
} }
/* update_end author:wuxianquan date:20190908 for: 往菜单信息里添加外链菜单打开方式*/ /* update_end author:wuxianquan date:20190908 for: 往菜单信息里添加外链菜单打开方式*/
meta.put("title", permission.getName()); if(CutEnum.CN.getValue().equals(cut)){
meta.put("title", permission.getName());
}else{
meta.put("title", permission.getMenuEn());
}
//update-begin--Author:scott Date:20201015 for:路由缓存问题,关闭了tab页时再打开就不刷新 #842 //update-begin--Author:scott Date:20201015 for:路由缓存问题,关闭了tab页时再打开就不刷新 #842
String component = permission.getComponent(); String component = permission.getComponent();
@@ -642,7 +647,7 @@ public class SysPermissionController {
/** /**
* 判断是否外网URL 例如: http://localhost:8080/jero-boot/swagger-ui.html#/ 支持特殊格式: {{ * 判断是否外网URL 例如: http://localhost:8080/jero-boot/swagger-ui.html#/ 支持特殊格式: {{
* window._CONFIG['domianURL'] }}/druid/ {{ JS代码片段 }},前台解析会自动执行JS代码片段 * window._CONFIG['domianURL'] }}/druid/ {{ JS代码片段 }},前台解析会自动执行JS代码片段
* *
* @return * @return
*/ */
private boolean isWWWHttpUrl(String url) { private boolean isWWWHttpUrl(String url) {
@@ -655,7 +660,7 @@ public class SysPermissionController {
/** /**
* 通过URL生成路由name(去掉URL前缀斜杠,替换内容中的斜杠‘/’为-) 举例: URL = /isystem/role RouteName = * 通过URL生成路由name(去掉URL前缀斜杠,替换内容中的斜杠‘/’为-) 举例: URL = /isystem/role RouteName =
* isystem-role * isystem-role
* *
* @return * @return
*/ */
private String urlToRouteName(String url) { private String urlToRouteName(String url) {
@@ -675,7 +680,7 @@ public class SysPermissionController {
/** /**
* 根据菜单id来获取其对应的权限数据 * 根据菜单id来获取其对应的权限数据
* *
* @param sysPermissionDataRule * @param sysPermissionDataRule
* @return * @return
*/ */
@@ -690,7 +695,7 @@ public class SysPermissionController {
/** /**
* 添加菜单权限数据 * 添加菜单权限数据
* *
* @param sysPermissionDataRule * @param sysPermissionDataRule
* @return * @return
*/ */
@@ -725,7 +730,7 @@ public class SysPermissionController {
/** /**
* 删除菜单权限数据 * 删除菜单权限数据
* *
* @param id * @param id
* @return * @return
*/ */
@@ -745,7 +750,7 @@ public class SysPermissionController {
/** /**
* 查询菜单权限数据 * 查询菜单权限数据
* *
* @param sysPermissionDataRule * @param sysPermissionDataRule
* @return * @return
*/ */
@@ -42,6 +42,8 @@ public class SysPermission implements Serializable {
*/ */
private String name; private String name;
private String menuEn;
/** /**
* 菜单权限编码,例如:“sys:schedule:list,sys:schedule:info”,多个逗号隔开 * 菜单权限编码,例如:“sys:schedule:list,sys:schedule:info”,多个逗号隔开
*/ */
@@ -60,7 +62,7 @@ public class SysPermission implements Serializable {
* 组件 * 组件
*/ */
private String component; private String component;
/** /**
* 组件名字 * 组件名字
*/ */
@@ -91,7 +93,7 @@ public class SysPermission implements Serializable {
*/ */
@TableField(value="is_leaf") @TableField(value="is_leaf")
private boolean leaf; private boolean leaf;
/** /**
* 是否路由菜单: 0:不是 1:是(默认值1) * 是否路由菜单: 0:不是 1:是(默认值1)
*/ */
@@ -119,12 +121,12 @@ public class SysPermission implements Serializable {
* 删除状态 0正常 1已删除 * 删除状态 0正常 1已删除
*/ */
private Integer delFlag; private Integer delFlag;
/** /**
* 是否配置菜单的数据权限 1是0否 默认0 * 是否配置菜单的数据权限 1是0否 默认0
*/ */
private Integer ruleFlag; private Integer ruleFlag;
/** /**
* 是否隐藏路由菜单: 0否,1是(默认值0) * 是否隐藏路由菜单: 0否,1是(默认值0)
*/ */
@@ -144,10 +146,10 @@ public class SysPermission implements Serializable {
* 更新时间 * 更新时间
*/ */
private Date updateTime; private Date updateTime;
/**按钮权限状态(0无效1有效)*/ /**按钮权限状态(0无效1有效)*/
private java.lang.String status; private java.lang.String status;
/**alwaysShow*/ /**alwaysShow*/
private boolean alwaysShow; private boolean alwaysShow;
@@ -157,7 +159,7 @@ public class SysPermission implements Serializable {
/*update_end author:wuxianquan date:20190908 for:实体增加字段 */ /*update_end author:wuxianquan date:20190908 for:实体增加字段 */
public SysPermission() { public SysPermission() {
} }
public SysPermission(boolean index) { public SysPermission(boolean index) {
if(index) { if(index) {
@@ -177,6 +179,6 @@ public class SysPermission implements Serializable {
this.leaf=true; this.leaf=true;
this.hidden=false; this.hidden=false;
} }
} }
} }
@@ -12,23 +12,25 @@ import com.jero.modules.system.entity.SysPermission;
* 树形列表用到 * 树形列表用到
*/ */
public class TreeModel implements Serializable { public class TreeModel implements Serializable {
private static final long serialVersionUID = 4013193970046502756L; private static final long serialVersionUID = 4013193970046502756L;
private String key; private String key;
private String title; private String title;
private String slotTitle; private String slotTitle;
private boolean isLeaf; private boolean isLeaf;
private String icon; private String icon;
private String menuEn;
private Integer ruleFlag; private Integer ruleFlag;
private Map<String,String> scopedSlots; private Map<String,String> scopedSlots;
public Map<String, String> getScopedSlots() { public Map<String, String> getScopedSlots() {
return scopedSlots; return scopedSlots;
} }
@@ -37,6 +39,14 @@ public class TreeModel implements Serializable {
this.scopedSlots = scopedSlots; this.scopedSlots = scopedSlots;
} }
public String getMenuEn() {
return menuEn;
}
public void setMenuEn(String menuEn) {
this.menuEn = menuEn;
}
public String getKey() { public String getKey() {
return key; return key;
} }
@@ -68,7 +78,7 @@ public class TreeModel implements Serializable {
public void setIcon(String icon) { public void setIcon(String icon) {
this.icon = icon; this.icon = icon;
} }
private List<TreeModel> children; private List<TreeModel> children;
public List<TreeModel> getChildren() { public List<TreeModel> getChildren() {
@@ -80,9 +90,9 @@ public class TreeModel implements Serializable {
} }
public TreeModel() { public TreeModel() {
} }
public TreeModel(SysPermission permission) { public TreeModel(SysPermission permission) {
this.key = permission.getId(); this.key = permission.getId();
this.icon = permission.getIcon(); this.icon = permission.getIcon();
@@ -92,13 +102,15 @@ public class TreeModel implements Serializable {
this.value = permission.getId(); this.value = permission.getId();
this.isLeaf = permission.isLeaf(); this.isLeaf = permission.isLeaf();
this.label = permission.getName(); this.label = permission.getName();
this.menuEn = permission.getMenuEn();
if(!permission.isLeaf()) { if(!permission.isLeaf()) {
this.children = new ArrayList<TreeModel>(); this.children = new ArrayList<TreeModel>();
} }
} }
public TreeModel(String key,String parentId,String slotTitle,Integer ruleFlag,boolean isLeaf) { public TreeModel(String key,String parentId,String slotTitle,Integer ruleFlag,boolean isLeaf) {
this.key = key; this.key = key;
this.menuEn = getMenuEn();
this.parentId = parentId; this.parentId = parentId;
this.ruleFlag=ruleFlag; this.ruleFlag=ruleFlag;
this.slotTitle = slotTitle; this.slotTitle = slotTitle;
@@ -111,14 +123,14 @@ public class TreeModel implements Serializable {
this.children = new ArrayList<TreeModel>(); this.children = new ArrayList<TreeModel>();
} }
} }
private String parentId; private String parentId;
private String label; private String label;
private String value; private String value;
public String getParentId() { public String getParentId() {
return parentId; return parentId;
} }