UNPKG

fcr-core

Version:

Core APIs for building online scenes

43 lines (39 loc) 1.75 kB
import { DetailErrorCode, ErrorServiceType } from '../imports'; import { padStart, AgoraRestfulClientError, FcrError } from '../imports'; export { FcrError } from '../imports'; // Export aliases for compatibility export { DetailErrorCode as FcrErrorCode, ErrorModuleCode as FcrErrorModuleCode } from '../imports'; // helpers export const generateFcrCoreClientError = (module, code, message, cause) => { return FcrError.create(ErrorServiceType.FCR_CLIENT, module, code, message, cause); }; export const generateFcrCoreServerError = (code, message) => { const errorCode = Number(`${ErrorServiceType.FCR_SERVER}${padStart(String(code), 8, '0')}`); const error = new FcrError({ message: message, code: errorCode }); return error; }; // TODO: i don't know export const handleRequestError = async (action, errorModuleCode, errorMessage) => { try { return await action(); } catch (e) { if (e instanceof AgoraRestfulClientError) { throw generateFcrCoreServerError(e.serviceCode ?? -1, e.message); } const error = e; throw generateFcrCoreClientError(errorModuleCode, DetailErrorCode.UNDEFINED_ERROR, errorMessage ?? error.message); } }; // 720410100 // 房间已销毁 // 720404100 // 房间不存在 // 732403100 // 无加入权限,如:房间已锁定 // 732403101 // 房间不存在或密码错误 // 100050051 // ap 探测失败 // 300000010 // 加入rtc频道超时了(rtc私有化) // 400000010 // 加入web rtc频道超时了(rtc私有化) // 730403100 // 被永久踢出房间 // error codes that cannot be retried when joining a room export const ERROR_CODES_NOT_RETRYABLE_WHEN_JOINING_ROOM = [720410100, 720404100, 732403100, 732403101, 100050051, 300000010, 400000010, 730403100];