UNPKG

fcr-core

Version:

Core APIs for building online scenes

123 lines (122 loc) 3.79 kB
/** * 通用错误处理辅助工具 * * 提供统一的错误创建和处理机制,支持实例化配置 */ import { FcrError, FcrErrorModuleCode } from './error'; /** * 控制器类型枚举 */ export declare enum ControllerType { USER = "user", STREAM = "stream", ROOM_SESSION = "room session", CHAT_ROOM = "chat room", PRIVILEGE = "privilege", ROOM_CONNECTOR = "room connector", ABILITY = "ability", SHARING = "sharing", WHITEBOARD = "whiteboard", MONITOR = "monitor", MEDIA = "media", STT = "stt" } /** * 错误处理配置接口 */ export interface FcrErrorHelperConfig { /** 默认模块代码 */ defaultModuleCode?: FcrErrorModuleCode; /** 是否启用详细错误信息 */ enableDetailedMessages?: boolean; /** 错误日志前缀 */ logPrefix?: string; /** 是否自动记录错误 */ autoLog?: boolean; } /** * 错误处理助手类 - 支持实例化配置 */ export declare class FcrErrorHelper { private config; constructor(config?: FcrErrorHelperConfig); /** * 生成控制器未初始化错误 * @param controllerType 控制器类型 * @param moduleCode 模块错误码 * @returns FcrError */ createControllerNotInitializedError(controllerType: ControllerType, moduleCode?: FcrErrorModuleCode): FcrError; /** * 生成操作冲突错误 * @param operation 操作名称 * @param reason 冲突原因 * @param moduleCode 模块错误码 * @returns FcrError */ createOperationConflictError(operation: string, reason: string, moduleCode?: FcrErrorModuleCode): FcrError; /** * 生成操作取消错误 * @param operation 操作名称 * @param moduleCode 模块错误码 * @returns FcrError */ createOperationCanceledError(operation: string, moduleCode?: FcrErrorModuleCode): FcrError; /** * 生成消息发送错误 * @param originalError 原始错误 * @param moduleCode 模块错误码 * @returns FcrError */ createSendMessageError(originalError: Error, moduleCode?: FcrErrorModuleCode): FcrError; /** * 生成通用操作错误 * @param operation 操作类型 * @param originalError 原始错误 * @param moduleCode 模块错误码 * @returns FcrError */ createOperationError(operation: string, originalError?: Error, moduleCode?: FcrErrorModuleCode): FcrError; /** * 生成网络请求相关错误 * @param message 错误消息 * @param moduleCode 模块错误码 * @returns FcrError */ createNetworkError(message: string, moduleCode?: FcrErrorModuleCode): FcrError; /** * 生成参数无效错误 * @param paramName 参数名 * @param reason 无效原因 * @param moduleCode 模块错误码 * @returns FcrError */ createInvalidParamsError(paramName: string, reason: string, moduleCode?: FcrErrorModuleCode): FcrError; /** * 生成房间加入冲突错误的便捷方法 */ createJoinConflictError(isAlreadyJoined: boolean): FcrError; /** * 静态工厂方法 - 创建默认实例 */ static createDefault(): FcrErrorHelper; /** * 为房间控制创建专用实例 */ static forRoomControl(): FcrErrorHelper; /** * 为引擎创建专用实例 */ static forEngine(): FcrErrorHelper; /** * 为直播创建专用实例 */ static forLiveStreaming(): FcrErrorHelper; } /** * 预配置的错误处理器实例 */ export declare const defaultErrorHelper: FcrErrorHelper; export declare const roomControlErrorHelper: FcrErrorHelper; export declare const engineErrorHelper: FcrErrorHelper; export declare const liveStreamingErrorHelper: FcrErrorHelper;