fcr-core
Version:
Core APIs for building online scenes
123 lines (122 loc) • 3.79 kB
TypeScript
/**
* 通用错误处理辅助工具
*
* 提供统一的错误创建和处理机制,支持实例化配置
*/
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;