/** * ChannelDict 枚举 * 定义相关的常量值 */ export enum ChannelDictEnum { // 状态枚举 STATUS_ACTIVE = 'active', STATUS_INACTIVE = 'inactive', STATUS_PENDING = 'pending', STATUS_DELETED = 'deleted', // 类型枚举 TYPE_NORMAL = 'normal', TYPE_PREMIUM = 'premium', TYPE_VIP = 'vip', // 级别枚举 LEVEL_LOW = 1, LEVEL_MEDIUM = 2, LEVEL_HIGH = 3, LEVEL_CRITICAL = 4, } /** * ChannelDict 字典映射 */ export const channelDictDict = { // 状态映射 status: { [ChannelDictEnum.STATUS_ACTIVE]: '激活', [ChannelDictEnum.STATUS_INACTIVE]: '未激活', [ChannelDictEnum.STATUS_PENDING]: '待处理', [ChannelDictEnum.STATUS_DELETED]: '已删除', }, // 类型映射 type: { [ChannelDictEnum.TYPE_NORMAL]: '普通', [ChannelDictEnum.TYPE_PREMIUM]: '高级', [ChannelDictEnum.TYPE_VIP]: 'VIP', }, // 级别映射 level: { [ChannelDictEnum.LEVEL_LOW]: '低', [ChannelDictEnum.LEVEL_MEDIUM]: '中', [ChannelDictEnum.LEVEL_HIGH]: '高', [ChannelDictEnum.LEVEL_CRITICAL]: '紧急', }, } as const; /** * ChannelDict 工具类 */ export class ChannelDictEnumUtil { /** * 获取状态文本 */ static getStatusText(status: ChannelDictEnum): string { return (channelDictDict.status as any)[status] || '未知'; } /** * 获取类型文本 */ static getTypeText(type: ChannelDictEnum): string { return (channelDictDict.type as any)[type] || '未知'; } /** * 获取级别文本 */ static getLevelText(level: ChannelDictEnum): string { return (channelDictDict.level as any)[level] || '未知'; } /** * 获取所有状态选项 */ static getStatusOptions(): Array<{ value: string; label: string }> { return Object.entries(channelDictDict.status).map(([value, label]) => ({ value, label: label as string, })); } /** * 获取所有类型选项 */ static getTypeOptions(): Array<{ value: string; label: string }> { return Object.entries(channelDictDict.type).map(([value, label]) => ({ value, label: label as string, })); } /** * 获取所有级别选项 */ static getLevelOptions(): Array<{ value: number; label: string }> { return Object.entries(channelDictDict.level).map(([value, label]) => ({ value: Number(value), label: label as string, })); } /** * 验证状态值 */ static isValidStatus(status: string): boolean { return Object.values(ChannelDictEnum).includes(status as ChannelDictEnum); } /** * 验证类型值 */ static isValidType(type: string): boolean { return Object.values(ChannelDictEnum).includes(type as ChannelDictEnum); } /** * 验证级别值 */ static isValidLevel(level: number): boolean { return Object.values(ChannelDictEnum).includes(level as ChannelDictEnum); } } /** * ChannelDict 类型定义 */ export type ChannelDictEnumStatus = keyof typeof channelDictDict.status; export type ChannelDictEnumType = keyof typeof channelDictDict.type; export type ChannelDictEnumLevel = keyof typeof channelDictDict.level;