feat(Menu.vue): 添加面包屑导航和菜单权限

This commit is contained in:
有来技术
2021-12-12 19:57:32 +08:00
parent dbee0747b2
commit 0edd7184a6
12 changed files with 876 additions and 66 deletions

View File

@@ -8,10 +8,6 @@ const modules = import.meta.glob("../../views/**/**.vue");
export const Layout = () => import( '@/layout/index.vue')
const hasPermission = (roles: string[], route: RouteRecordRaw) => {
// 超级管理员放行
if (roles.includes('ROOT')) {
return true
}
if (route.meta && route.meta.roles) {
return roles.some(role => {
if (route.meta?.roles !== undefined) {
@@ -66,7 +62,12 @@ const permissionModule: Module<PermissionState, RootStateTypes> = {
return new Promise((resolve, reject) => {
listRoutes().then(response => {
const asyncRoutes = response.data
let accessedRoutes = filterAsyncRoutes(asyncRoutes, roles)
let accessedRoutes
if (roles.includes('ROOT')) { // 超级管理员拥有全部权限
accessedRoutes = asyncRoutes || []
} else {
accessedRoutes = filterAsyncRoutes(asyncRoutes, roles)
}
commit('SET_ROUTES', accessedRoutes)
resolve(accessedRoutes)
}).catch(error => {
@@ -74,7 +75,6 @@ const permissionModule: Module<PermissionState, RootStateTypes> = {
})
})
}
}
}
export default permissionModule;