Files
one-pipe-system/src/config/constants/userRoles.ts
sexygoat 222e5bb11a Initial commit: One Pipe System
完整的管理系统,包含账户管理、卡片管理、套餐管理、财务管理等功能模块。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-22 16:35:33 +08:00

52 lines
1.5 KiB
TypeScript

/**
* 用户角色配置
*/
import { UserRole } from '@/types/api'
// 用户角色选项
export const USER_ROLE_OPTIONS = [
{ label: '超级管理员', value: UserRole.SUPER_ADMIN, color: '#F56C6C' },
{ label: '管理员', value: UserRole.ADMIN, color: '#E6A23C' },
{ label: '代理商', value: UserRole.AGENT, color: '#409EFF' },
{ label: '企业客户', value: UserRole.ENTERPRISE, color: '#67C23A' }
]
// 用户角色映射
export const USER_ROLE_MAP = USER_ROLE_OPTIONS.reduce(
(map, item) => {
map[item.value] = item
return map
},
{} as Record<UserRole, { label: string; value: UserRole; color: string }>
)
// 获取用户角色标签
export function getUserRoleLabel(role: UserRole): string {
return USER_ROLE_MAP[role]?.label || role
}
// 获取用户角色颜色
export function getUserRoleColor(role: UserRole): string {
return USER_ROLE_MAP[role]?.color || '#909399'
}
// 账号状态选项
export const ACCOUNT_STATUS_OPTIONS = [
{ label: '启用', value: 1, type: 'success' as const },
{ label: '禁用', value: 0, type: 'danger' as const },
{ label: '锁定', value: 2, type: 'warning' as const }
]
// 获取账号状态标签
export function getAccountStatusLabel(status: number): string {
const option = ACCOUNT_STATUS_OPTIONS.find((item) => item.value === status)
return option?.label || '未知'
}
// 获取账号状态类型
export function getAccountStatusType(status: number) {
const option = ACCOUNT_STATUS_OPTIONS.find((item) => item.value === status)
return option?.type || 'info'
}