UNPKG

press-plus

Version:
53 lines (48 loc) 1.45 kB
import { BATTLE_STATE_MAP, REMATCH_STATE_MAP, SCHEDULE_CUSTOM_STATUS_MAP, SCHEDULE_STATUS_MAP, } from '../config'; export function mapBattleStatus(status: any) { if (status === BATTLE_STATE_MAP.STARTED_CAN_READY) { return '准备中'; } if (status >= BATTLE_STATE_MAP.WAIT_CREATE_ROOM && status <= BATTLE_STATE_MAP.IN_BATTLE) { return '对局中'; } if (status >= BATTLE_STATE_MAP.ENDED_READING_DATA && status <= BATTLE_STATE_MAP.ENDED) { return '已结束'; } return '未开始'; } function getBattleStatus(status: any, item: any) { if (status === 0 || ((item?.battle_list?.length === item?.sch_score?.cur_bo) && item?.battle_list?.[item?.battle_list?.length - 1]?.battle_state === BATTLE_STATE_MAP.ENDED) || item?.battle_list?.length <= 0 ) { return '未开始'; } return mapBattleStatus(status); } export function getBattleState(item: any) { const { state } = item; if ([SCHEDULE_STATUS_MAP.ENDED, SCHEDULE_CUSTOM_STATUS_MAP.EMPTY].includes(state)) { return '已结束'; } let curBo = 0; if (item.sch_score?.cur_bo) { curBo = item.sch_score.cur_bo; } if (item.battle_list) { const rNode = item.battle_list.find((item: any) => { if (item.bonum === curBo && +item.rematch_state !== REMATCH_STATE_MAP.REMATCH) { return true; } }); return rNode ? getBattleStatus(rNode.battle_state, item) : '未开始'; } return '未开始'; }