文档库--菜单中英文

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