diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/service/impl/NgAlainServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/service/impl/NgAlainServiceImpl.java index 0ae52c52..9999c614 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/service/impl/NgAlainServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/service/impl/NgAlainServiceImpl.java @@ -21,8 +21,6 @@ public class NgAlainServiceImpl implements NgAlainService { private ISysPermissionService sysPermissionService; @Autowired private SysDictMapper mapper; - - private static String CHILDREN = "children"; @Override public JSONArray getMenu(String id) throws Exception { return getJeroMenu(id); @@ -36,7 +34,7 @@ public class NgAlainServiceImpl implements NgAlainService { JSONObject menu = new JSONObject(); menu.put("text", "jero菜单"); menu.put("group",true); - menu.put(CHILDREN, menulist); + menu.put("children", menulist); JSONArray jeroMenuList=new JSONArray(); jeroMenuList.add(menu); return jeroMenuList; @@ -56,9 +54,9 @@ public class NgAlainServiceImpl implements NgAlainService { JSONObject menu=new JSONObject(); menu.put("text",meta.get("title")); menu.put("reuse",true); - if (jsonObject.get(CHILDREN)!=null){ - JSONArray child= parseNgAlain((JSONArray) jsonObject.get(CHILDREN)); - menu.put(CHILDREN,child); + if (jsonObject.get("children")!=null){ + JSONArray child= parseNgAlain((JSONArray) jsonObject.get("children")); + menu.put("children",child); JSONObject icon=new JSONObject(); icon.put("type", "icon"); icon.put("value", meta.get("icon")); @@ -78,7 +76,6 @@ public class NgAlainServiceImpl implements NgAlainService { * @param parentJson */ private void getPermissionJsonArray(JSONArray jsonArray,List metaList,JSONObject parentJson) { - String PERMISSIONLIST = "permissionList"; for (SysPermission permission : metaList) { if(permission.getMenuType()==null) { continue; @@ -91,38 +88,34 @@ public class NgAlainServiceImpl implements NgAlainService { getPermissionJsonArray(jsonArray, metaList, json); } }else if(parentJson!=null && oConvertUtils.isNotEmpty(tempPid) && tempPid.equals(parentJson.getString("id"))){ - permissionType(jsonArray, metaList, parentJson, PERMISSIONLIST, permission, json); + if(permission.getMenuType()==0) { + JSONObject metaJson = parentJson.getJSONObject("meta"); + if(metaJson.containsKey("permissionList")) { + metaJson.getJSONArray("permissionList").add(json); + }else { + JSONArray permissionList = new JSONArray(); + permissionList.add(json); + metaJson.put("permissionList", permissionList); + } + + }else if(permission.getMenuType()==1) { + if(parentJson.containsKey("children")) { + parentJson.getJSONArray("children").add(json); + }else { + JSONArray children = new JSONArray(); + children.add(json); + parentJson.put("children", children); + } + + if(!permission.isLeaf()) { + getPermissionJsonArray(jsonArray, metaList, json); + } + } } + } } - - private void permissionType(JSONArray jsonArray, List metaList, JSONObject parentJson, String PERMISSIONLIST, SysPermission permission, JSONObject json) { - if(permission.getMenuType()==0) { - JSONObject metaJson = parentJson.getJSONObject("meta"); - if(metaJson.containsKey(PERMISSIONLIST)) { - metaJson.getJSONArray(PERMISSIONLIST).add(json); - }else { - JSONArray permissionList = new JSONArray(); - permissionList.add(json); - metaJson.put(PERMISSIONLIST, permissionList); - } - - }else if(permission.getMenuType()==1) { - if(parentJson.containsKey(CHILDREN)) { - parentJson.getJSONArray(CHILDREN).add(json); - }else { - JSONArray children = new JSONArray(); - children.add(json); - parentJson.put(CHILDREN, children); - } - - if(!permission.isLeaf()) { - getPermissionJsonArray(jsonArray, metaList, json); - } - } - } - private JSONObject getPermissionJsonObject(SysPermission permission) { JSONObject json = new JSONObject(); //类型(0:一级菜单 1:子菜单 2:按钮) @@ -133,7 +126,7 @@ public class NgAlainServiceImpl implements NgAlainService { json.put("id", permission.getId()); if(permission.getUrl()!=null&&(permission.getUrl().startsWith("http://")||permission.getUrl().startsWith("https://"))) { String url= new String(Base64.getUrlEncoder().encode(permission.getUrl().getBytes())); - json.put("path", "/sys/link/" +url.replace("=","")); + json.put("path", "/sys/link/" +url.replaceAll("=","")); }else { json.put("path", permission.getUrl()); } @@ -142,36 +135,31 @@ public class NgAlainServiceImpl implements NgAlainService { json.put("name", urlToRouteName(permission.getUrl())); //是否隐藏路由,默认都是显示的 - setRouter(permission, json); + if(permission.isHidden()) { + json.put("hidden",true); + } + //聚合路由 + if(permission.isAlwaysShow()) { + json.put("alwaysShow",true); + } + json.put("component", permission.getComponent()); + JSONObject meta = new JSONObject(); + meta.put("title", permission.getName()); + if(oConvertUtils.isEmpty(permission.getParentId())) { + //一级菜单跳转地址 + json.put("redirect",permission.getRedirect()); + meta.put("icon", oConvertUtils.getString(permission.getIcon(), "")); + }else { + meta.put("icon", oConvertUtils.getString(permission.getIcon(), "")); + } + if(permission.getUrl()!=null&&(permission.getUrl().startsWith("http://")||permission.getUrl().startsWith("https://"))) { + meta.put("url", permission.getUrl()); + } + json.put("meta", meta); } return json; } - - private void setRouter(SysPermission permission, JSONObject json) { - if(permission.isHidden()) { - json.put("hidden",true); - } - //聚合路由 - if(permission.isAlwaysShow()) { - json.put("alwaysShow",true); - } - json.put("component", permission.getComponent()); - JSONObject meta = new JSONObject(); - meta.put("title", permission.getName()); - if(oConvertUtils.isEmpty(permission.getParentId())) { - //一级菜单跳转地址 - json.put("redirect", permission.getRedirect()); - meta.put("icon", oConvertUtils.getString(permission.getIcon(), "")); - }else { - meta.put("icon", oConvertUtils.getString(permission.getIcon(), "")); - } - if(permission.getUrl()!=null&&(permission.getUrl().startsWith("http://")|| permission.getUrl().startsWith("https://"))) { - meta.put("url", permission.getUrl()); - } - json.put("meta", meta); - } - /** * 通过URL生成路由name(去掉URL前缀斜杠,替换内容中的斜杠‘/’为-) * 举例: URL = /isystem/role