✨ feat(稷下学宫): ff931afe4到7421822f6
This commit is contained in:
@@ -866,6 +866,167 @@ export function checkRouteParam(route: string, msg: any) {
|
||||
if (!checkNaturalNumbers(msg.id)) return false;
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.getData":
|
||||
break;
|
||||
case "battle.rougeHandler.getGame":
|
||||
break;
|
||||
|
||||
case "battle.rougeHandler.getInitCharaCard":
|
||||
{
|
||||
let { type, grade } = msg
|
||||
if (!checkNaturalNumbers(type, grade)) return false;
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.startGame":
|
||||
{
|
||||
let { gameCode, authorType } = msg;
|
||||
if (!checkNaturalStrings(gameCode)) return false;
|
||||
if (!checkNaturalNumbers(authorType)) return false;
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.gameEnd":
|
||||
{
|
||||
let { gameCode } = msg;
|
||||
if (!checkNaturalStrings(gameCode)) return false;
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.chooseNode":
|
||||
{
|
||||
let { gameCode, layer, detailCode } = msg;
|
||||
if (!checkNaturalStrings(gameCode, detailCode)) return false;
|
||||
if (!checkNaturalNumbers(layer)) return false;
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.checkBattle":
|
||||
{
|
||||
let { gameCode, detailCode, warId, charaCodes } = msg;
|
||||
if (!checkNaturalStrings(gameCode, detailCode)) return false;
|
||||
if (!checkNaturalNumbers(warId)) return false;
|
||||
if (!checkIsDuplicateStrings(charaCodes)) return false;
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.battleEnd":
|
||||
{
|
||||
let { gameCode, detailCode, battleCode, warId, status, round, rougeDamage, isAp, isRound } = msg;
|
||||
if (!checkNaturalStrings(gameCode, detailCode, battleCode)) return false;
|
||||
if (!checkNaturalNumbers(warId, round, status)) return false;
|
||||
if (!checkBooleanIfExist(isAp, isRound)) return false;
|
||||
if (!isArray(rougeDamage) || rougeDamage.length == 0) return false;
|
||||
let charaCodes: string[] = [];
|
||||
for (let { charaCode } of rougeDamage) {
|
||||
if (!charaCode) return false;
|
||||
charaCodes.push(charaCode);
|
||||
}
|
||||
if (!checkIsDuplicateStrings(charaCodes)) return false;
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.chooseReward":
|
||||
{
|
||||
let { gameCode, detailCode, groupIndex, optionIndexs } = msg;
|
||||
if (!checkNaturalStrings(gameCode, detailCode)) return false;
|
||||
if (!checkNaturalNumbers(groupIndex)) return false;
|
||||
if (!checkIsDuplicateNumbers(optionIndexs)) return false;
|
||||
break;
|
||||
}
|
||||
case "battle.rougeHandler.reRandomReward":
|
||||
{
|
||||
let { gameCode, detailCode, rewardType } = msg;
|
||||
if (!checkNaturalStrings(gameCode, detailCode)) return false;
|
||||
if (!checkNaturalNumbers(rewardType)) return false;
|
||||
break;
|
||||
}
|
||||
case "battle.rougeHandler.shopBuy":
|
||||
{
|
||||
let { gameCode, detailCode, optionIndex } = msg;
|
||||
if (!checkNaturalStrings(gameCode, detailCode)) return false;
|
||||
if (!checkNaturalNumbers(optionIndex)) return false;
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.chooseOption":
|
||||
{
|
||||
let { gameCode, detailCode, eventOptions } = msg;
|
||||
if (!checkNaturalStrings(gameCode, detailCode)) return false;
|
||||
if (!checkIsDuplicateNumbers(eventOptions)) return false;
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.recovery":
|
||||
{
|
||||
let { gameCode, detailCode } = msg;
|
||||
if (!checkNaturalStrings(gameCode, detailCode)) return false;
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.trainCard":
|
||||
{
|
||||
let { gameCode, detailCode, cardCode } = msg;
|
||||
if (!checkNaturalStrings(gameCode, detailCode, cardCode)) return false;
|
||||
break;
|
||||
}
|
||||
case "battle.rougeHandler.nodeEnd":
|
||||
{
|
||||
let { gameCode, detailCode, } = msg;
|
||||
if (!checkNaturalStrings(gameCode, detailCode)) return false;
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.putOnOrOffCard":
|
||||
{
|
||||
let { gameCode, charaCode, cards } = msg;
|
||||
if (!checkNaturalStrings(gameCode, charaCode)) return false;
|
||||
let cardCodes: string[] = [], indexs: number[] = [];
|
||||
for (let { index, cardCode } of cards) {
|
||||
indexs.push(index);
|
||||
if (cardCode) cardCodes.push(cardCode);
|
||||
}
|
||||
if (!checkIsDuplicateNumbers(indexs)) return false;
|
||||
if (!checkIsDuplicateStrings(cardCodes)) return false;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.exchangeChara":
|
||||
{
|
||||
let { gameCode, oldCharaCode, newCharaCode } = msg;
|
||||
if (!checkNaturalStrings(gameCode, oldCharaCode, newCharaCode)) return false;
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.unlockTech":
|
||||
{
|
||||
if (!checkNaturalNumbers(msg.techId)) return false;
|
||||
break;
|
||||
}
|
||||
|
||||
case "battle.rougeHandler.putOnCircle":
|
||||
{
|
||||
if (!checkNaturalNumbers(msg.circleId, msg.hid)) return false;
|
||||
break;
|
||||
}
|
||||
case "battle.rougeHandler.chooseSkillCard":
|
||||
{
|
||||
if (!checkNaturalStrings(msg.gameCode, msg.charaCode)) return false;
|
||||
if (!checkNaturalNumbers(msg.skillType, msg.id)) return false;
|
||||
break;
|
||||
}
|
||||
case "battle.rougeHandler.receiveCollectionReward":
|
||||
{
|
||||
if (!checkNaturalNumbers(msg.type, msg.id)) return false;
|
||||
break;
|
||||
}
|
||||
case "battle.rougeHandler.receiveScore":
|
||||
{
|
||||
if (!checkNaturalNumbers(msg.index)) return false;
|
||||
break;
|
||||
}
|
||||
case "chat.chatHandler.sendGroupMessage":
|
||||
{
|
||||
let { channel, type, content, targetRoleId, targetMsgCode } = msg;
|
||||
@@ -2223,11 +2384,17 @@ export function checkRouteParam(route: string, msg: any) {
|
||||
case "activity.bindPhoneHandler.debugSetGiftCodeStatus":
|
||||
case 'activity.rebateHandler.debugSetRebate':
|
||||
case 'activity.newHeroGKHandler.debugResetGK':
|
||||
|
||||
case 'battle.rougeHandler.debugClearTech':
|
||||
case "battle.rougeHandler.debugAddCard":
|
||||
case "battle.rougeHandler.debugAddScore":
|
||||
case "battle.rougeHandler.debugRepaireScoreReward":
|
||||
case "battle.rougeHandler.debugAddCollection":
|
||||
{
|
||||
if (msg.magicWord !== DEBUG_MAGIC_WORD || !isDevelopEnv()) return false;
|
||||
break;
|
||||
}
|
||||
case "battle.rougeHandler.debugAddLimitId":
|
||||
|
||||
case "comBattle.comBattleHandler.getTeams":
|
||||
case "comBattle.comBattleHandler.teammateReady":
|
||||
case "comBattle.comBattleHandler.battleEnd":
|
||||
@@ -2363,4 +2530,28 @@ function checkCombo(combo: { groupId: number, levelList: number[] }[]) {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function checkIsDuplicateNumbers(array: number[]) {
|
||||
const seen = new Set();
|
||||
for (const item of array) {
|
||||
if (!isNumber(item)) return false;
|
||||
if (seen.has(item)) {
|
||||
return false; // 发现重复元素
|
||||
}
|
||||
seen.add(item);
|
||||
}
|
||||
return true; // 没有重复元素
|
||||
}
|
||||
|
||||
function checkIsDuplicateStrings(array: string[]) {
|
||||
const seen = new Set();
|
||||
for (const item of array) {
|
||||
if (!isString(item)) return false;
|
||||
if (seen.has(item)) {
|
||||
return false; // 发现重复元素
|
||||
}
|
||||
seen.add(item);
|
||||
}
|
||||
return true; // 没有重复元素
|
||||
}
|
||||
Reference in New Issue
Block a user