完善我的成长

This commit is contained in:
kron
2026-02-10 11:47:09 +08:00
parent 303e1830d3
commit 812879d252
3 changed files with 26 additions and 49 deletions

View File

@@ -354,39 +354,12 @@ export const simulShootAPI = (device_id, x, y) => {
};
export const getBattleListAPI = async (page, battleType) => {
const data = [];
const result = await request("POST", "/user/battle/details/list", {
page,
pageSize: 10,
battleType,
modeType: 0,
});
(result.Battles || []).forEach((item) => {
let name = "";
if (item.battleStats.mode === 1) {
name = `${item.playerStats.length / 2}V${item.playerStats.length / 2}`;
}
if (item.battleStats.mode === 2) {
name = `${item.playerStats.length}人大乱斗`;
}
data.push({
name,
battleId: item.battleStats.battleId,
mode: item.battleStats.mode,
createdAt: item.battleStats.createdAt,
gameEndAt: item.battleStats.gameEndAt,
winner: item.battleStats.winner,
players: item.playerStats
.map((p) => p.playerBattleStats)
.sort((a, b) => b.totalScore - a.totalScore),
redPlayers: item.playerStats
.filter((p) => p.playerBattleStats.team === 0)
.map((p) => p.playerBattleStats),
bluePlayers: item.playerStats
.filter((p) => p.playerBattleStats.team === 1)
.map((p) => p.playerBattleStats),
});
});
return data;
return result.list;
};
export const getRankListAPI = () => {

View File

@@ -16,8 +16,8 @@ const total = ref(0);
onLoad(async (options) => {
if (options.id) {
const result = await getPractiseAPI(options.id);
arrows.value = result.arrows;
total.value = result.completed_arrows;
arrows.value = result.details;
total.value = result.details.length;
}
});
</script>

View File

@@ -17,7 +17,7 @@ const practiseList = ref([]);
const toMatchDetail = (id) => {
uni.navigateTo({
url: `/pages/match-detail?id=${id}`,
url: `/pages/match-detail?battleId=${id}`,
});
};
const getPractiseDetail = async (id) => {
@@ -52,6 +52,10 @@ const onPractiseLoading = async (page) => {
}
return result.length;
};
const getName = (battle) => {
if (battle.mode <= 3) return `${battle.mode}V${battle.mode}`;
return battle.mode + "人大乱斗";
};
</script>
<template>
@@ -80,19 +84,19 @@ const onPractiseLoading = async (page) => {
<view
v-for="(item, index) in matchList"
:key="index"
@click="() => toMatchDetail(item.battleId)"
@click="() => toMatchDetail(item.id)"
>
<view class="contest-header">
<text>{{ item.name }}</text>
<text>{{ item.createdAt }}</text>
<text>{{ getName(item) }}</text>
<text>{{ item.createTime }}</text>
<image src="../static/back.png" mode="widthFix" />
</view>
<BattleHeader
:players="item.mode === 1 ? [] : item.players"
:blueTeam="item.bluePlayers"
:redTeam="item.redPlayers"
:winner="item.winner"
:showRank="item.mode === 2"
:players="item.teams[0] ? item.teams[0].players : []"
:blueTeam="item.teams[2] ? item.teams[2].players : []"
:redTeam="item.teams[1] ? item.teams[1].players : []"
:winner="item.winTeam"
:showRank="item.teams[0]"
:showHeader="false"
/>
</view>
@@ -103,19 +107,19 @@ const onPractiseLoading = async (page) => {
<view
v-for="(item, index) in battleList"
:key="index"
@click="() => toMatchDetail(item.battleId)"
@click="() => toMatchDetail(item.id)"
>
<view class="contest-header">
<text>{{ item.name }}</text>
<text>{{ item.createdAt }}</text>
<text>{{ getName(item) }}</text>
<text>{{ item.createTime }}</text>
<image src="../static/back.png" mode="widthFix" />
</view>
<BattleHeader
:players="item.mode === 1 ? [] : item.players"
:blueTeam="item.bluePlayers"
:redTeam="item.redPlayers"
:winner="item.winner"
:showRank="item.mode === 2"
:players="item.teams[0] ? item.teams[0].players : []"
:blueTeam="item.teams[2] ? item.teams[2].players : []"
:redTeam="item.teams[1] ? item.teams[1].players : []"
:winner="item.winTeam"
:showRank="item.teams[0]"
:showHeader="false"
/>
</view>
@@ -131,7 +135,7 @@ const onPractiseLoading = async (page) => {
>
<text
>{{ item.completed_arrows === 36 ? "耐力挑战" : "单组练习" }}
{{ item.createdAt }}</text
{{ item.createTime }}</text
>
<image src="../static/back.png" mode="widthFix" />
</view>