commonui-lib-test
Version:
"#common ui lib test"
323 lines (322 loc) • 13.5 kB
JavaScript
"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;