🐛 用户登录后 404.
This commit is contained in:
@@ -10,8 +10,10 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<a-checkbox-group v-model="checkedKeys" style="display: contents;">
|
<a-checkbox-group v-model="checkedKeys" style="display: contents;">
|
||||||
<template v-for="parentMenu in menuData" :key="parentMenu.id">
|
<template v-for="parentMenu in menuData" :key="parentMenu.id">
|
||||||
<template v-for="(childrenMenu, i) in parentMenu.children" :key="childrenMenu.id">
|
<!-- 有子菜单 -->
|
||||||
<tr>
|
<template v-if="parentMenu.children?.length">
|
||||||
|
<tr v-for="(childrenMenu, i) in parentMenu.children"
|
||||||
|
:key="childrenMenu.id">
|
||||||
<!-- 父菜单 -->
|
<!-- 父菜单 -->
|
||||||
<td v-if="i === 0" :rowspan="parentMenu.children.length">
|
<td v-if="i === 0" :rowspan="parentMenu.children.length">
|
||||||
<a-checkbox :value="parentMenu.id">
|
<a-checkbox :value="parentMenu.id">
|
||||||
@@ -38,6 +40,23 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</template>
|
</template>
|
||||||
|
<!-- 无子菜单 -->
|
||||||
|
<template v-else>
|
||||||
|
<tr>
|
||||||
|
<!-- 父菜单 -->
|
||||||
|
<td>
|
||||||
|
<a-checkbox :value="parentMenu.id">
|
||||||
|
{{ parentMenu.name }}
|
||||||
|
</a-checkbox>
|
||||||
|
</td>
|
||||||
|
<!-- 子菜单 -->
|
||||||
|
<td>
|
||||||
|
</td>
|
||||||
|
<!-- 功能 -->
|
||||||
|
<td>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</a-checkbox-group>
|
</a-checkbox-group>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { RouteLocationNormalized, RouteRecordNormalized, RouteRecordRaw } from 'vue-router';
|
import type { RouteLocationNormalized, RouteRecordNormalized, RouteRecordRaw } from 'vue-router';
|
||||||
import { useMenuStore, useUserStore } from '@/store';
|
import { useMenuStore, useUserStore } from '@/store';
|
||||||
import { STATUS_ROUTER_LIST, WHITE_ROUTER_LIST } from '@/router/constants';
|
import { DEFAULT_ROUTER, STATUS_ROUTER_LIST, WHITE_ROUTER_LIST } from '@/router/constants';
|
||||||
import { AdminRoleCode } from '@/types/const';
|
import { AdminRoleCode } from '@/types/const';
|
||||||
|
|
||||||
export default function usePermission() {
|
export default function usePermission() {
|
||||||
@@ -16,7 +16,7 @@ export default function usePermission() {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// 检查路由是否存在于授权路由中
|
// 检查路由是否存在于授权路由中
|
||||||
const menuConfig = [...menuStore.appMenus, ...WHITE_ROUTER_LIST, ...STATUS_ROUTER_LIST];
|
const menuConfig = [...menuStore.appMenus, ...WHITE_ROUTER_LIST, ...STATUS_ROUTER_LIST, DEFAULT_ROUTER];
|
||||||
let exist = false;
|
let exist = false;
|
||||||
while (menuConfig.length && !exist) {
|
while (menuConfig.length && !exist) {
|
||||||
const element = menuConfig.shift();
|
const element = menuConfig.shift();
|
||||||
@@ -44,7 +44,7 @@ export default function usePermission() {
|
|||||||
hasAnyPermission(permission: string[]) {
|
hasAnyPermission(permission: string[]) {
|
||||||
return userStore.permission?.includes('*') ||
|
return userStore.permission?.includes('*') ||
|
||||||
permission.map(s => userStore.permission?.includes(s))
|
permission.map(s => userStore.permission?.includes(s))
|
||||||
.filter(Boolean).length > 0;
|
.filter(Boolean).length > 0;
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -61,7 +61,7 @@ export default function usePermission() {
|
|||||||
hasAnyRole(role: string[]) {
|
hasAnyRole(role: string[]) {
|
||||||
return userStore.roles?.includes(AdminRoleCode) ||
|
return userStore.roles?.includes(AdminRoleCode) ||
|
||||||
role.map(s => userStore.roles?.includes(s))
|
role.map(s => userStore.roles?.includes(s))
|
||||||
.filter(Boolean).length > 0;
|
.filter(Boolean).length > 0;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,11 @@ export const DEFAULT_ROUTE_NAME = 'workplace';
|
|||||||
|
|
||||||
export const DEFAULT_ROUTE_FULL_PATH = '/workplace';
|
export const DEFAULT_ROUTE_FULL_PATH = '/workplace';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 默认路由
|
||||||
|
*/
|
||||||
|
export const DEFAULT_ROUTER = { name: DEFAULT_ROUTE_NAME, children: [] };
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 路由白名单
|
* 路由白名单
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user