支持 配置路由地址 但菜单隐藏 仍加载路由

This commit is contained in:
吕金泽
2022-08-13 17:26:47 +08:00
parent 1012c419ac
commit accbc2890b
4 changed files with 257 additions and 26 deletions
@@ -573,7 +573,7 @@ var menus = db.select("""
select role_id from sys_user_role where user_id = #{userId}
)
)
} and sm.is_del = '0' and (sm.is_show = 1 or (sm.component_name is not null and sm.component_name != '')) order by sm.sort
} and sm.is_del = '0' and sm.is_show = 1 order by sm.sort
""")
for(menu in menus){
@@ -611,4 +611,4 @@ nodes.each((key, node) => {
}
})
return treeNodes
return treeNodes
@@ -0,0 +1,203 @@
{
"properties" : { },
"id" : "2da55da9c28c441ebfdef412e7004cd0",
"script" : null,
"groupId" : "67b2ce258e24491194b74992958c74aa",
"name" : "当前用户隐藏菜单路由",
"createTime" : null,
"updateTime" : 1660381679813,
"lock" : null,
"createBy" : null,
"updateBy" : "guyi",
"path" : "/current/hidden/menus",
"method" : "POST",
"parameters" : [ ],
"options" : [ ],
"requestBody" : "",
"headers" : [ ],
"paths" : [ ],
"responseBody" : "{\n \"code\": 200,\n \"message\": \"success\",\n \"data\": [{\n \"componentName\": \"\",\n \"name\": \"创建售后单\",\n \"path\": \"order/aftersales/after-sales\",\n \"subCount\": 0,\n \"keepAlive\": 1,\n \"openMode\": \"0\"\n }],\n \"timestamp\": 1660381448247,\n \"executeTime\": 41\n}",
"description" : null,
"requestBodyDefinition" : null,
"responseBodyDefinition" : {
"name" : "",
"value" : "",
"description" : "",
"required" : false,
"dataType" : "Object",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ {
"name" : "code",
"value" : "200",
"description" : "",
"required" : false,
"dataType" : "Integer",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
}, {
"name" : "message",
"value" : "success",
"description" : "",
"required" : false,
"dataType" : "String",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
}, {
"name" : "data",
"value" : "",
"description" : "",
"required" : false,
"dataType" : "Array",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ {
"name" : "",
"value" : "",
"description" : "",
"required" : false,
"dataType" : "Object",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ {
"name" : "componentName",
"value" : "",
"description" : "",
"required" : false,
"dataType" : "String",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
}, {
"name" : "name",
"value" : "创建售后单",
"description" : "",
"required" : false,
"dataType" : "String",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
}, {
"name" : "path",
"value" : "order/aftersales/after-sales",
"description" : "",
"required" : false,
"dataType" : "String",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
}, {
"name" : "subCount",
"value" : "0",
"description" : "",
"required" : false,
"dataType" : "Integer",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
}, {
"name" : "keepAlive",
"value" : "1",
"description" : "",
"required" : false,
"dataType" : "Integer",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
}, {
"name" : "openMode",
"value" : "0",
"description" : "",
"required" : false,
"dataType" : "String",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
} ]
} ]
}, {
"name" : "timestamp",
"value" : "1660381448247",
"description" : "",
"required" : false,
"dataType" : "Long",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
}, {
"name" : "executeTime",
"value" : "41",
"description" : "",
"required" : false,
"dataType" : "Integer",
"type" : null,
"defaultValue" : null,
"validateType" : "",
"error" : "",
"expression" : "",
"children" : [ ]
} ]
}
}
================================
import cn.dev33.satoken.stp.StpUtil
var userId = StpUtil.getLoginId()
return db.select("""
select * from (
select
component_name,
name,
url as path,
(select count(1) from sys_menu where is_del = 0 and pid = sm.id) sub_count,
sm.keep_alive
from sys_menu sm
where ((component_name is not null and component_name != '') or (url is not null and url != ''))
and is_show = 0 and is_del = 0
?{userId != '1',
and sm.id in (
select menu_id from sys_role_menu where role_id in (
select role_id from sys_user_role where user_id = #{userId}
)
)
}
) sm where sub_count = 0
""")