import type { AdminRole } from '@/types/admin' export const ADMIN_ROLE_LABELS: Record = { SUPER_ADMIN: '超级管理员', ADMIN: '管理员', OPERATIONS: '运营人员', DEVELOPER: '开发者', READONLY: '只读用户', } export const ADMIN_ROLE_COLORS: Record = { SUPER_ADMIN: 'red', ADMIN: 'volcano', OPERATIONS: 'orange', DEVELOPER: 'blue', READONLY: 'default', } export const ADMIN_ROLE_HIERARCHY: Record = { SUPER_ADMIN: ['SUPER_ADMIN', 'ADMIN', 'OPERATIONS', 'DEVELOPER', 'READONLY'], ADMIN: ['ADMIN', 'OPERATIONS', 'DEVELOPER', 'READONLY'], OPERATIONS: ['OPERATIONS', 'READONLY'], DEVELOPER: ['DEVELOPER', 'READONLY'], READONLY: ['READONLY'], } export function hasRole(currentRole: AdminRole | undefined, required: AdminRole): boolean { if (!currentRole) return false return ADMIN_ROLE_HIERARCHY[currentRole]?.includes(required) ?? false }