BUG修复

This commit is contained in:
kron
2026-02-10 18:13:11 +08:00
parent 608de34dd3
commit b9bb1e6653
3 changed files with 4 additions and 99 deletions

View File

@@ -270,78 +270,6 @@ export const readyGameAPI = (battleId) => {
}); });
}; };
export const getGameAPI = async (battleId) => {
const result = await request("POST", "/user/battle/detail", {
id: battleId,
});
if (!result.battleStats) return {};
const {
battleStats = {},
playerStats = {},
goldenRoundRecords = [],
} = result;
const data = {
id: battleId,
mode: battleStats.mode, // 1.几V几 2.大乱斗
gameMode: battleStats.gameMode, // 1.约战 2.排位
teamSize: battleStats.teamSize,
};
if (battleStats && battleStats.mode === 1) {
data.winner = battleStats.winner;
data.roundsData = {};
data.redPlayers = {};
data.bluePlayers = {};
data.mvps = [];
data.goldenRounds =
goldenRoundRecords && goldenRoundRecords.length ? goldenRoundRecords : [];
playerStats.forEach((item) => {
const { playerBattleStats = {}, roundRecords = [] } = item;
if (playerBattleStats.team === 0) {
data.redPlayers[playerBattleStats.playerId] = playerBattleStats;
}
if (playerBattleStats.team === 1) {
data.bluePlayers[playerBattleStats.playerId] = playerBattleStats;
}
if (playerBattleStats.mvp) {
data.mvps.push(playerBattleStats);
}
roundRecords.forEach((round) => {
data.roundsData[round.roundNumber] = {
...data.roundsData[round.roundNumber],
[round.playerId]: round.arrowHistory,
};
});
});
const totalRounds = Object.keys(data.roundsData).length;
(goldenRoundRecords || []).forEach((item, index) => {
item.arrowHistory.forEach((arrow) => {
if (!data.roundsData[totalRounds + index + 1]) {
data.roundsData[totalRounds + index + 1] = {};
}
if (!data.roundsData[totalRounds + index + 1][arrow.playerId]) {
data.roundsData[totalRounds + index + 1][arrow.playerId] = [];
}
data.roundsData[totalRounds + index + 1][arrow.playerId].push(arrow);
});
});
data.mvps.sort((a, b) => b.totalRings - a.totalRings);
}
if (battleStats && battleStats.mode === 2) {
data.players = [];
playerStats.forEach((item) => {
data.players.push({
...item.playerBattleStats,
arrowHistory: item.roundRecords[0].arrowHistory,
});
});
data.players = data.players.sort((a, b) => b.totalScore - a.totalScore);
}
// console.log("game result:", result);
// console.log("format data:", data);
return data;
};
export const simulShootAPI = (device_id, x, y) => { export const simulShootAPI = (device_id, x, y) => {
const data = { const data = {
device_id, device_id,

View File

@@ -93,8 +93,8 @@ const getName = (battle) => {
</view> </view>
<BattleHeader <BattleHeader
:players="item.teams[0] ? item.teams[0].players : []" :players="item.teams[0] ? item.teams[0].players : []"
:blueTeam="item.teams[2] ? item.teams[2].players : []" :blueTeam="item.teams[1] ? item.teams[1].players : []"
:redTeam="item.teams[1] ? item.teams[1].players : []" :redTeam="item.teams[2] ? item.teams[2].players : []"
:winner="item.winTeam" :winner="item.winTeam"
:showRank="item.teams[0]" :showRank="item.teams[0]"
:showHeader="false" :showHeader="false"
@@ -116,8 +116,8 @@ const getName = (battle) => {
</view> </view>
<BattleHeader <BattleHeader
:players="item.teams[0] ? item.teams[0].players : []" :players="item.teams[0] ? item.teams[0].players : []"
:blueTeam="item.teams[2] ? item.teams[2].players : []" :blueTeam="item.teams[1] ? item.teams[1].players : []"
:redTeam="item.teams[1] ? item.teams[1].players : []" :redTeam="item.teams[2] ? item.teams[2].players : []"
:winner="item.winTeam" :winner="item.winTeam"
:showRank="item.teams[0]" :showRank="item.teams[0]"
:showHeader="false" :showHeader="false"

View File

@@ -1,5 +1,3 @@
import { getUserGameState, getGameAPI } from "@/apis";
export const formatTimestamp = (timestamp) => { export const formatTimestamp = (timestamp) => {
const date = new Date(timestamp * 1000); const date = new Date(timestamp * 1000);
const year = date.getFullYear(); const year = date.getFullYear();
@@ -89,27 +87,6 @@ export const wxShare = async (canvasId = "shareCanvas") => {
} }
}; };
// export const isGameEnded = async (battleId) => {
// const state = await getUserGameState();
// if (!state.gaming) {
// const result = await getGameAPI(battleId);
// if (result.mode) {
// uni.redirectTo({
// url: `/pages/battle-result?battleId=${battleId}`,
// });
// } else {
// uni.showToast({
// title: "比赛已结束",
// icon: "none",
// });
// setTimeout(() => {
// uni.navigateBack();
// }, 1000);
// }
// }
// return !state.gaming;
// };
// 获取元素尺寸和位置信息 // 获取元素尺寸和位置信息
export const getElementRect = (classname) => { export const getElementRect = (classname) => {
return new Promise((resolve) => { return new Promise((resolve) => {