feat(登录模块): 优化权限
This commit is contained in:
parent
586bd23203
commit
51937b0cdd
@ -12,16 +12,18 @@ export default function usePermission() {
|
|||||||
route.meta?.permissions?.includes('*') ||
|
route.meta?.permissions?.includes('*') ||
|
||||||
intersection(route.meta?.permissions, userStore.permissions).length >
|
intersection(route.meta?.permissions, userStore.permissions).length >
|
||||||
0 ||
|
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];
|
const cloneRouters = [..._routers];
|
||||||
while (cloneRouters.length) {
|
while (cloneRouters.length) {
|
||||||
const firstElement = cloneRouters.shift();
|
const firstElement = cloneRouters.shift();
|
||||||
if (
|
if (
|
||||||
firstElement?.meta?.roles?.find((el: string[]) => {
|
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 };
|
return { name: firstElement.name };
|
||||||
|
@ -2,8 +2,8 @@ import { DEFAULT_LAYOUT } from '../base';
|
|||||||
import { AppRouteRecordRaw } from '../types';
|
import { AppRouteRecordRaw } from '../types';
|
||||||
|
|
||||||
const USER: AppRouteRecordRaw = {
|
const USER: AppRouteRecordRaw = {
|
||||||
path: '/user',
|
path: '/self',
|
||||||
name: 'user',
|
name: 'Self',
|
||||||
component: DEFAULT_LAYOUT,
|
component: DEFAULT_LAYOUT,
|
||||||
meta: {
|
meta: {
|
||||||
locale: 'menu.user',
|
locale: 'menu.user',
|
||||||
|
Loading…
Reference in New Issue
Block a user