|
@@ -34,14 +34,12 @@ async function generateRoutesByFrontend(
|
|
|
*/
|
|
|
function hasAuthority(route: RouteRecordRaw, access: string[]) {
|
|
|
const authority = route.meta?.authority;
|
|
|
-
|
|
|
if (!authority) {
|
|
|
return true;
|
|
|
}
|
|
|
- return (
|
|
|
- access.some((value) => authority.includes(value)) ||
|
|
|
- menuHasVisibleWithForbidden(route)
|
|
|
- );
|
|
|
+ const canAccess = access.some((value) => authority.includes(value));
|
|
|
+
|
|
|
+ return canAccess || (!canAccess && menuHasVisibleWithForbidden(route));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -57,7 +55,11 @@ function hasVisible(route?: RouteRecordRaw) {
|
|
|
* @param route
|
|
|
*/
|
|
|
function menuHasVisibleWithForbidden(route: RouteRecordRaw) {
|
|
|
- return !!route.meta?.menuVisibleWithForbidden;
|
|
|
+ return (
|
|
|
+ !!route.meta?.authority &&
|
|
|
+ Reflect.has(route.meta || {}, 'menuVisibleWithForbidden') &&
|
|
|
+ !!route.meta?.menuVisibleWithForbidden
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
export { generateRoutesByFrontend, hasAuthority, hasVisible };
|