提交 30458fc0 authored 作者: lidongxu's avatar lidongxu

fix(permission.js): 修改:权限菜单管理,非管理员无法看到菜单管理页面,哪怕被分配此页面菜单

上级 b2607a9a
...@@ -4,6 +4,7 @@ import { getRouters } from '@/api' ...@@ -4,6 +4,7 @@ import { getRouters } from '@/api'
import Layout from '@/layout/index' import Layout from '@/layout/index'
import ParentView from '@/components/ParentView' import ParentView from '@/components/ParentView'
import InnerLink from '@/layout/components/InnerLink' import InnerLink from '@/layout/components/InnerLink'
import useUserStore from '@/store/modules/user'
// 匹配views里面所有的.vue文件 // 匹配views里面所有的.vue文件
const modules = import.meta.glob('./../../views/**/*.vue') const modules = import.meta.glob('./../../views/**/*.vue')
...@@ -57,7 +58,16 @@ const usePermissionStore = defineStore( ...@@ -57,7 +58,16 @@ const usePermissionStore = defineStore(
// 遍历后台传来的路由字符串,转换为组件对象 // 遍历后台传来的路由字符串,转换为组件对象
function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) { function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
const userStore = useUserStore()
const isAdmin = userStore.roles.includes('admin') // 管理员
return asyncRouterMap.filter(route => { return asyncRouterMap.filter(route => {
// 非管理员过滤掉需要管理员权限的路由
if (!isAdmin && route.name === 'Menu') {
return false
}
if (type && route.children) { if (type && route.children) {
route.children = filterChildren(route.children) route.children = filterChildren(route.children)
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论