UNPKG

commonui-lib-test

Version:

"#common ui lib test"

323 lines (322 loc) 13.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const GameClientData_1 = require("../../data/GameClientData"); const MaintenHandler_1 = require("./MaintenHandler"); const SystemTipsHandler_1 = require("./SystemTipsHandler"); const messageHandler_1 = require("../../external/message/messageHandler"); const StorageHandler_1 = require("./StorageHandler"); const DialogHandler_1 = require("./DialogHandler"); /** * @api {class} ErrorCodeHandler * @apiName ErrorCodeHandler * @apiGroup ErrorCodeHandler * @apiDescription ErrorCode Handler */ class ErrorCodeHandler { constructor(root) { this.gameRoot = root; } /** * @api {function} onErrorMessage * @apiName onErrorMessage * @apiGroup ErrorCodeHandler * @apiDescription onErrorMessage */ onErrorMessage(gsError, platformError) { switch (gsError) { case -1 /* PLAYER_NOT_FOUND */: this.onPlayerNotFound(gsError); break; case -2 /* GAME_ROOM_NOT_FOUND */: this.onGameRoomNotFound(gsError); break; case -3 /* PLAYING_IN_ROOM */: this.onPlayingInRoom(gsError); break; case -7 /* NOT_ACTION_STEP */: this.onNotActionStep(gsError); break; case -8 /* MONEY_NOT_ENOUGH */: this.onMoneyNotEnough(gsError); break; case -11 /* TRANSACTION_FAIL */: this.onTransactionFail(gsError, platformError); break; case -12 /* SERVER_ENTRANCE_CLOSED */: this.onServerEntranceClosed(gsError); break; case -13 /* LOGIN_ERROR */: this.onLoginError(gsError); break; case -15 /* MULTI_LOGIN */: this.onMultiLogin(gsError); break; case -16 /* CLIENT_SEND_DATA_ERROR */: this.onClientSendDataError(gsError); break; case -17 /* ACTOR_IS_IN_QUEUE */: this.onActorIsInQueue(gsError); break; case -19 /* KICK_OUT_BY_GM */: this.onKickOutByGM(gsError); break; case -20 /* SERVER_IS_CLOSED */: this.onServerIsClosed(gsError); break; case -31 /* GEN_DATA_ERROR */: this.onGenDataError(gsError); break; case -101 /* GAME_START_FAIL */: break; case -102 /* GAME_NOT_START_WAIT_TIMEOUT */: this.onGameNotStartWaitTimout(); break; case -103 /* GAME_FINISH_WAIT_TIMEOUT */: this.onGameFinishWaitTimout(); break; case -201 /* NON_BETTING_NOTIFY */: this.onNonBettingNotify(); break; case -202 /* NON_BET_OVER_TIME */: this.onNonBetOverTime(); break; case -203 /* NO_MORE_BETTING */: this.onNoMoreBetting(gsError); break; case -300 /* DISCONNECT_CAUSE_CLIENT_LOGOUT */: this.onDisconnectCauseClientLogout(gsError); break; case -301 /* DISCONNECT_CAUSE_CLIENT_DISCONNECT */: this.onDisconnectCauseClientDisconnect(gsError); break; case -302 /* DISCONNECT_CAUSE_REPEAT_LOGIN */: this.onDisconnectCauseRepeatLogin(gsError); break; case -303 /* DISCONNECT_CAUSE_LOGIN_TIMEOUT */: this.onDisconnectCauseLoginTimeout(gsError); break; case -304 /* DISCONNECT_CAUSE_LOGIN_AUTH_ERROR */: this.onDisconnectCauseLoginAuthError(gsError); break; case -306 /* DISCONNECT_CAUSE_LOGIN_PROTOCOL_ERROR */: this.onDisconnectCauseLoginProtocolError(gsError); break; case -307 /* DISCONNECT_CAUSE_SYSTEM_KICK_OUT */: this.onDisconnectCauseSystemKickOut(gsError); break; case -308 /* DISCONNECT_CAUSE_UNDER_MAINTENANCE */: this.onDisconnectCauseUnderMaintenance(gsError); break; case -309 /* DISCONNECT_CAUSE_TRANSACTION_LOCK */: this.onDisconnectCauseTransactionLock(gsError); break; case -310 /* DISCONNECT_CAUSE_GAME_POINT_ERROR */: this.onDisconnectCauseGamePointError(gsError); break; case -311 /* DISCONNECT_CAUSE_PLATFORM_LOGIN_ERROR */: this.onDisconnectCausePlatformLoginError(gsError, platformError); break; case -312 /* DISCONNECT_CAUSE_GAME_PROTOCOL_ERROR */: this.onDisconnectCauseGameProtocolErrorr(gsError); break; default: this.showGameServerError(gsError.toString(), null); break; } } /** * @api {function} dispose * @apiName dispose * @apiGroup ErrorCodeHandler * @apiDescription dispose ErrorCodeHandler */ dispose() { this.gameRoot = null; } onPlayerNotFound(error) { this.showGameServerError(error.toString(), null); } onGameRoomNotFound(error) { this.onGameServerErrorToLobby(error); } onPlayingInRoom(error) { this.showGameServerError(error.toString(), null); } onNotActionStep(error) { this.showGameServerError(error.toString(), null); } onMoneyNotEnough(error) { this.onGameServerErrorToLobby(error); } onTransactionFail(gsError, platformError) { const cases = { 2009: () => this.onPlatformErrorToLobby(gsError, platformError), 2120: () => this.onPlatformErrorToLobby(gsError, platformError), 2121: () => this.onPlatformErrorToLobby(gsError, platformError), 2123: () => this.onPlatformErrorToLobby(gsError, platformError), 7012: () => this.onPlatformErrorToLobby(gsError, platformError), 7013: () => this.onPlatformErrorToLobby(gsError, platformError), 7018: () => this.onPlatformErrorToLobby(gsError, platformError), 7200: () => this.onPlatformErrorToLobby(gsError, platformError), 7201: () => this.onPlatformErrorToLobby(gsError, platformError), 7202: () => this.onPlatformErrorToLobby(gsError, platformError), 2001: () => this.showPlatformError(gsError.toString(), platformError.toString(), null), 2002: () => this.onPlatformErrorToRedirectUrl(gsError, platformError), 3030201: () => this.onPlatformErrorToLobby(gsError, platformError), 3030202: () => this.onPlatformErrorToRedirectUrl(gsError, platformError), 3030203: () => { let btnFunc = () => messageHandler_1.default.commMsgHandler.responseAction.GO_TO_SELECT_LEVEL.send(); this.showPlatformError(gsError.toString(), platformError.toString(), btnFunc); }, 3030301: () => this.onPlatformErrorToLobby(gsError, platformError), 3030302: () => this.onPlatformErrorToRedirectUrl(gsError, platformError), }; if (cases.hasOwnProperty(platformError)) { cases[platformError](); } else { this.showPlatformError(gsError.toString(), platformError.toString(), null); } } onServerEntranceClosed(error) { // this.maintainHelper(error); this.onGameServerErrorToLobby(error); } onLoginError(error) { this.onGameServerErrorToRedirectUrl(error); } onMultiLogin(error) { this.onGameServerErrorToRedirectUrl(error); } onClientSendDataError(error) { this.showGameServerError(error.toString(), null); } onActorIsInQueue(error) { this.onGameServerErrorToLobby(error); } onKickOutByGM(error) { this.onGameServerErrorToRedirectUrl(error); } onServerIsClosed(error) { this.maintainHelper(error); } onGenDataError(error) { this.onGameServerErrorToLobby(error); } onGameNotStartWaitTimout() { } onGameFinishWaitTimout() { } onNonBettingNotify() { SystemTipsHandler_1.default.Ins.showSystemTips(1); } onNonBetOverTime() { } onNoMoreBetting(error) { } onDisconnectCauseClientLogout(error) { this.onGameServerErrorToRedirectUrl(error); } onDisconnectCauseClientDisconnect(error) { this.onGameServerErrorToLobby(error); } onDisconnectCauseRepeatLogin(error) { this.onGameServerErrorToLobby(error); } onDisconnectCauseLoginTimeout(error) { this.onGameServerErrorToLobby(error); } onDisconnectCauseLoginAuthError(error) { this.onGameServerErrorToLobby(error); } onDisconnectCauseLoginError(error) { this.onGameServerErrorToRedirectUrl(error); } onDisconnectCauseLoginProtocolError(error) { this.onGameServerErrorToLobby(error); } onDisconnectCauseSystemKickOut(error) { this.onGameServerErrorToRedirectUrl(error); } onDisconnectCauseUnderMaintenance(error) { let btnFunc = () => this.redirectHelper("maintainUrl"); this.gameRoot.keepAliveHandler.dispose(); this.showGameServerError(error.toString(), btnFunc); } onDisconnectCauseTransactionLock(error) { this.onGameServerErrorToLobby(error); } onDisconnectCauseGamePointError(error) { this.onGameServerErrorToLobby(error); } onDisconnectCausePlatformLoginError(gsError, platformError) { const cases = { 1002: () => this.onPlatformErrorToRedirectUrl(gsError, platformError), 1003: () => this.showPlatformError(gsError.toString(), platformError.toString(), null), 1004: () => this.onPlatformErrorToRedirectUrl(gsError, platformError), 2009: () => this.onPlatformErrorToLobby(gsError, platformError), 4032: () => this.onPlatformErrorToLobby(gsError, platformError), 3030101: () => this.onPlatformErrorToLobby(gsError, platformError), 3030102: () => this.onPlatformErrorToLobby(gsError, platformError), }; if (cases.hasOwnProperty(platformError)) { cases[platformError](); } else { this.showPlatformError(gsError.toString(), platformError.toString(), null); } } onDisconnectCauseGameProtocolErrorr(error) { } onGameServerErrorToLobby(error) { let btnFunc = () => this.gameRoot.destroy(); this.gameRoot.keepAliveHandler.dispose(); this.showGameServerError(error.toString(), btnFunc); } onGameServerErrorToRedirectUrl(error) { let btnFunc = () => this.redirectHelper("redirectUrl"); this.gameRoot.keepAliveHandler.dispose(); this.showGameServerError(error.toString(), btnFunc); } onPlatformErrorToLobby(gsError, platformError) { let btnFunc = () => this.gameRoot.destroy(); this.gameRoot.keepAliveHandler.dispose(); this.showPlatformError(gsError.toString(), platformError.toString(), btnFunc); } onPlatformErrorToRedirectUrl(gsError, platformError) { let btnFunc = () => this.redirectHelper("redirectUrl"); this.gameRoot.keepAliveHandler.dispose(); this.showPlatformError(gsError.toString(), platformError.toString(), btnFunc); } showGameServerError(error, btnFunc) { let checkEror = DialogHandler_1.default.Ins.Error.setGameServerError(error); let btnComfirm = checkEror ? btnFunc : () => this.redirectHelper("redirectUrl"); DialogHandler_1.default.Ins.Error.setBtnEvent(btnComfirm, this); DialogHandler_1.default.Ins.Error.show(); } showPlatformError(gsError, platformError, btnFunc) { let checkEror = DialogHandler_1.default.Ins.Error.setPlatformError(gsError, platformError); let btnComfirm = checkEror ? btnFunc : () => this.redirectHelper("redirectUrl"); this.showGameServerError(gsError, btnComfirm); } maintainHelper(error) { let cases = { 1: () => this.redirectHelper("maintainUrl"), 2: () => this.gameRoot.destroy() }; this.gameRoot.keepAliveHandler.dispose(); let currMaintenType = MaintenHandler_1.default.Ins.currMaintenType; if (cases.hasOwnProperty(currMaintenType)) { let btnFunc = cases[currMaintenType]; DialogHandler_1.default.Ins.showMaintenance(currMaintenType - 1, btnFunc, this); } else { this.showGameServerError(error.toString(), null); } } redirectHelper(urlKey) { let redirectUrl = StorageHandler_1.StorageHandler.getGameInfo(urlKey, GameClientData_1.defaultRedirectUrl); console.warn("redirectHelper redirectUrl : ", redirectUrl); window.open(redirectUrl, "_self"); } } exports.default = ErrorCodeHandler;