update home
This commit is contained in:
@@ -8,6 +8,7 @@ import { routes } from 'vue-router/auto-routes'
|
|||||||
|
|
||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
import { setTokenGetter } from './utils/request'
|
import { setTokenGetter } from './utils/request'
|
||||||
|
import { isAdminOnlyPath } from '@/constants/permissions'
|
||||||
|
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
history: createWebHistory(import.meta.env.BASE_URL),
|
history: createWebHistory(import.meta.env.BASE_URL),
|
||||||
@@ -26,7 +27,6 @@ setTokenGetter(() => useUserStore().token)
|
|||||||
|
|
||||||
// 路由守卫
|
// 路由守卫
|
||||||
const authWhitelist = ['/login', '/register']
|
const authWhitelist = ['/login', '/register']
|
||||||
const adminOnlyPaths = ['/users', '/mq-status', '/roles', '/route-groups']
|
|
||||||
|
|
||||||
router.beforeEach(async (to) => {
|
router.beforeEach(async (to) => {
|
||||||
const { useUserStore } = await import('./stores/user')
|
const { useUserStore } = await import('./stores/user')
|
||||||
@@ -55,8 +55,8 @@ router.beforeEach(async (to) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 角色权限检查:非 admin 不能访问受限路由
|
// 角色权限检查:非 admin 不能访问受限路由(前缀匹配)
|
||||||
if (adminOnlyPaths.includes(to.path) && !userStore.isAdmin) {
|
if (isAdminOnlyPath(to.path) && !userStore.isAdmin) {
|
||||||
message.error('无权访问')
|
message.error('无权访问')
|
||||||
return '/'
|
return '/'
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user