@xilil/error-codes
Version:
统一错误码管理库 - 支持多语言、类型安全的错误处理工具
35 lines • 2.1 kB
TypeScript
export interface ErrorCode {
code: number;
message: string;
statusCode: number;
description?: string;
}
export type SupportedLanguage = 'zh-CN' | 'en-US';
export interface LocalizedMessages {
'zh-CN': string;
'en-US': string;
}
export interface ErrorCodeConfig {
code: number;
messages: LocalizedMessages;
statusCode: number;
description?: string;
}
export interface ErrorResponse {
success: false;
code: number;
data?: any;
message: string;
timestamp: number;
path?: string;
}
export interface SuccessResponse<T = any> {
success: true;
code: 0;
data: T;
message?: string;
timestamp: number;
}
export type ApiResponse<T = any> = SuccessResponse<T> | ErrorResponse;
export type ErrorKey = 'SUCCESS' | 'INTERNAL_ERROR' | 'SERVICE_UNAVAILABLE' | 'CONFIGURATION_ERROR' | 'EXTERNAL_SERVICE_ERROR' | 'INVALID_PARAMETER' | 'MISSING_PARAMETER' | 'PARAMETER_OUT_OF_RANGE' | 'INVALID_FORMAT' | 'CONTENT_TOO_LONG' | 'UNSUPPORTED_TYPE' | 'UNAUTHORIZED' | 'INVALID_TOKEN' | 'TOKEN_EXPIRED' | 'INSUFFICIENT_PERMISSIONS' | 'ACCOUNT_DISABLED' | 'INVALID_CREDENTIALS' | 'ACCOUNT_LOCKED' | 'SESSION_EXPIRED' | 'ACCOUNT_NOT_FOUND' | 'INSUFFICIENT_BALANCE' | 'INSUFFICIENT_INTEGRAL' | 'INVALID_INVITE_CODE' | 'RESOURCE_NOT_FOUND' | 'RESOURCE_ALREADY_EXISTS' | 'RESOURCE_CREATION_FAILED' | 'RESOURCE_UPDATE_FAILED' | 'RESOURCE_DELETE_FAILED' | 'RESOURCE_IN_USE' | 'RESOURCE_LOCKED' | 'RATE_LIMIT_EXCEEDED' | 'QUOTA_EXCEEDED' | 'STORAGE_QUOTA_EXCEEDED' | 'CONCURRENT_LIMIT_EXCEEDED' | 'DAILY_LIMIT_EXCEEDED' | 'SIZE_LIMIT_EXCEEDED' | 'DATA_CORRUPTION' | 'SERIALIZATION_ERROR' | 'DESERIALIZATION_ERROR' | 'DATA_TRANSFORMATION_ERROR' | 'CHECKSUM_MISMATCH' | 'BUSINESS_RULE_VIOLATION' | 'OPERATION_NOT_ALLOWED' | 'PREREQUISITE_NOT_MET' | 'WORKFLOW_ERROR' | 'STATE_CONFLICT' | 'AI_SERVICE_ERROR' | 'AI_MODEL_UNAVAILABLE' | 'PAYMENT_SERVICE_ERROR' | 'SMS_SERVICE_ERROR' | 'EMAIL_SERVICE_ERROR' | 'CLOUD_STORAGE_ERROR' | 'TRANSLATION_SERVICE_ERROR' | 'WECHAT_API_ERROR' | 'UNKNOWN_ERROR' | 'MODEL_NOT_AVAILABLE';
//# sourceMappingURL=index.d.ts.map