更新 AdminLayout 以移除不必要的菜单项,添加公告管理功能,并调整路由权限检查逻辑以支持新功能。

This commit is contained in:
zyh
2025-08-27 17:36:19 +08:00
parent 1652e5199f
commit abde5d1f9d
6 changed files with 514 additions and 59 deletions

View File

@@ -36,6 +36,13 @@ export const PERMISSIONS = {
// 二维码权限
QR_GENERATE: 'qr:generate',
QR_VIEW: 'qr:view',
// 公告管理权限
ANNOUNCEMENT_MANAGE: 'announcement:manage',
ANNOUNCEMENT_CREATE: 'announcement:create',
ANNOUNCEMENT_UPDATE: 'announcement:update',
ANNOUNCEMENT_DELETE: 'announcement:delete',
ANNOUNCEMENT_VIEW: 'announcement:view',
}
// 角色权限映射
@@ -47,14 +54,6 @@ export const ROLE_PERMISSIONS = {
PERMISSIONS.USER_UPDATE,
PERMISSIONS.USER_DELETE,
PERMISSIONS.USER_VIEW,
PERMISSIONS.GAME_MANAGE,
PERMISSIONS.GAME_CREATE,
PERMISSIONS.GAME_UPDATE,
PERMISSIONS.GAME_DELETE,
PERMISSIONS.GAME_VIEW,
PERMISSIONS.ORDER_MANAGE,
PERMISSIONS.ORDER_VIEW,
PERMISSIONS.REPORT_VIEW,
PERMISSIONS.SETTING_MANAGE,
PERMISSIONS.LINK_MANAGE,
PERMISSIONS.LINK_CREATE,
@@ -63,28 +62,26 @@ export const ROLE_PERMISSIONS = {
PERMISSIONS.LINK_VIEW,
PERMISSIONS.QR_GENERATE,
PERMISSIONS.QR_VIEW,
PERMISSIONS.ANNOUNCEMENT_MANAGE,
PERMISSIONS.ANNOUNCEMENT_CREATE,
PERMISSIONS.ANNOUNCEMENT_UPDATE,
PERMISSIONS.ANNOUNCEMENT_DELETE,
PERMISSIONS.ANNOUNCEMENT_VIEW,
],
AGENT: [
// 代理商只有查看权限,没有管理权限
PERMISSIONS.GAME_VIEW,
PERMISSIONS.ORDER_VIEW,
PERMISSIONS.REPORT_VIEW,
PERMISSIONS.LINK_VIEW,
PERMISSIONS.QR_VIEW,
PERMISSIONS.ANNOUNCEMENT_VIEW,
]
}
// 路由权限映射
export const ROUTE_PERMISSIONS = {
'Dashboard': [], // 仪表盘所有用户都可以访问
'Users': [PERMISSIONS.USER_VIEW],
'Games': [PERMISSIONS.GAME_VIEW],
'Orders': [PERMISSIONS.ORDER_VIEW],
'Reports': [PERMISSIONS.REPORT_VIEW],
'Settings': [PERMISSIONS.SETTING_MANAGE],
'Links': [PERMISSIONS.LINK_VIEW],
'ErrorTest': [], // 错误测试页面所有用户都可以访问
'PermissionTest': [], // 权限测试页面所有用户都可以访问
'Announcements': [PERMISSIONS.ANNOUNCEMENT_VIEW],
}
// 获取当前用户信息
@@ -153,7 +150,7 @@ export function getAccessibleRoutes() {
// 管理员可以访问所有路由
if (isAdmin()) {
return ['Dashboard', 'Users', 'Games', 'Orders', 'Reports', 'Settings', 'Links', 'ErrorTest', 'PermissionTest']
return ['Dashboard', 'Users', 'Games', 'Orders', 'Reports', 'Settings', 'Links', 'Announcements', 'ErrorTest', 'PermissionTest']
}
const userPermissions = ROLE_PERMISSIONS[userType?.toUpperCase()] || []