From 51937b0cddfe97d1c7173ddec996910136a510de Mon Sep 17 00:00:00 2001 From: vertoryao Date: Thu, 26 Dec 2024 11:31:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=99=BB=E5=BD=95=E6=A8=A1=E5=9D=97):=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/permission.ts | 8 +++++--- src/router/routes/modules/user.ts | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) 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',