diff --git a/src/hooks/permission.ts b/src/hooks/permission.ts index 2990976..4b06284 100644 --- a/src/hooks/permission.ts +++ b/src/hooks/permission.ts @@ -12,16 +12,18 @@ export default function usePermission() { route.meta?.permissions?.includes('*') || intersection(route.meta?.permissions, userStore.permissions).length > 0 || - route.meta?.permissions?.includes(userStore.permissions) + route.meta?.permissions?.some((item) => + userStore?.permissions?.includes(item) + ) ); }, - findFirstPermissionRoute(_routers: any, role: string | string[] = 'admin') { + findFirstPermissionRoute(_routers: any, permissions: string[]) { const cloneRouters = [..._routers]; while (cloneRouters.length) { const firstElement = cloneRouters.shift(); if ( firstElement?.meta?.roles?.find((el: string[]) => { - return el.includes('*') || el.includes(role); + return el.includes('*') || el.some((item) => permissions?.includes(item)) }) ) return { name: firstElement.name }; diff --git a/src/router/routes/modules/user.ts b/src/router/routes/modules/user.ts index 5650ebb..779dc24 100644 --- a/src/router/routes/modules/user.ts +++ b/src/router/routes/modules/user.ts @@ -2,8 +2,8 @@ import { DEFAULT_LAYOUT } from '../base'; import { AppRouteRecordRaw } from '../types'; const USER: AppRouteRecordRaw = { - path: '/user', - name: 'user', + path: '/self', + name: 'Self', component: DEFAULT_LAYOUT, meta: { locale: 'menu.user',