完善我的成长
This commit is contained in:
31
src/apis.js
31
src/apis.js
@@ -354,39 +354,12 @@ export const simulShootAPI = (device_id, x, y) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const getBattleListAPI = async (page, battleType) => {
|
export const getBattleListAPI = async (page, battleType) => {
|
||||||
const data = [];
|
|
||||||
const result = await request("POST", "/user/battle/details/list", {
|
const result = await request("POST", "/user/battle/details/list", {
|
||||||
page,
|
page,
|
||||||
|
pageSize: 10,
|
||||||
battleType,
|
battleType,
|
||||||
modeType: 0,
|
|
||||||
});
|
});
|
||||||
(result.Battles || []).forEach((item) => {
|
return result.list;
|
||||||
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;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getRankListAPI = () => {
|
export const getRankListAPI = () => {
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ const total = ref(0);
|
|||||||
onLoad(async (options) => {
|
onLoad(async (options) => {
|
||||||
if (options.id) {
|
if (options.id) {
|
||||||
const result = await getPractiseAPI(options.id);
|
const result = await getPractiseAPI(options.id);
|
||||||
arrows.value = result.arrows;
|
arrows.value = result.details;
|
||||||
total.value = result.completed_arrows;
|
total.value = result.details.length;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ const practiseList = ref([]);
|
|||||||
|
|
||||||
const toMatchDetail = (id) => {
|
const toMatchDetail = (id) => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/match-detail?id=${id}`,
|
url: `/pages/match-detail?battleId=${id}`,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
const getPractiseDetail = async (id) => {
|
const getPractiseDetail = async (id) => {
|
||||||
@@ -52,6 +52,10 @@ const onPractiseLoading = async (page) => {
|
|||||||
}
|
}
|
||||||
return result.length;
|
return result.length;
|
||||||
};
|
};
|
||||||
|
const getName = (battle) => {
|
||||||
|
if (battle.mode <= 3) return `${battle.mode}V${battle.mode}`;
|
||||||
|
return battle.mode + "人大乱斗";
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -80,19 +84,19 @@ const onPractiseLoading = async (page) => {
|
|||||||
<view
|
<view
|
||||||
v-for="(item, index) in matchList"
|
v-for="(item, index) in matchList"
|
||||||
:key="index"
|
:key="index"
|
||||||
@click="() => toMatchDetail(item.battleId)"
|
@click="() => toMatchDetail(item.id)"
|
||||||
>
|
>
|
||||||
<view class="contest-header">
|
<view class="contest-header">
|
||||||
<text>{{ item.name }}</text>
|
<text>{{ getName(item) }}</text>
|
||||||
<text>{{ item.createdAt }}</text>
|
<text>{{ item.createTime }}</text>
|
||||||
<image src="../static/back.png" mode="widthFix" />
|
<image src="../static/back.png" mode="widthFix" />
|
||||||
</view>
|
</view>
|
||||||
<BattleHeader
|
<BattleHeader
|
||||||
:players="item.mode === 1 ? [] : item.players"
|
:players="item.teams[0] ? item.teams[0].players : []"
|
||||||
:blueTeam="item.bluePlayers"
|
:blueTeam="item.teams[2] ? item.teams[2].players : []"
|
||||||
:redTeam="item.redPlayers"
|
:redTeam="item.teams[1] ? item.teams[1].players : []"
|
||||||
:winner="item.winner"
|
:winner="item.winTeam"
|
||||||
:showRank="item.mode === 2"
|
:showRank="item.teams[0]"
|
||||||
:showHeader="false"
|
:showHeader="false"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
@@ -103,19 +107,19 @@ const onPractiseLoading = async (page) => {
|
|||||||
<view
|
<view
|
||||||
v-for="(item, index) in battleList"
|
v-for="(item, index) in battleList"
|
||||||
:key="index"
|
:key="index"
|
||||||
@click="() => toMatchDetail(item.battleId)"
|
@click="() => toMatchDetail(item.id)"
|
||||||
>
|
>
|
||||||
<view class="contest-header">
|
<view class="contest-header">
|
||||||
<text>{{ item.name }}</text>
|
<text>{{ getName(item) }}</text>
|
||||||
<text>{{ item.createdAt }}</text>
|
<text>{{ item.createTime }}</text>
|
||||||
<image src="../static/back.png" mode="widthFix" />
|
<image src="../static/back.png" mode="widthFix" />
|
||||||
</view>
|
</view>
|
||||||
<BattleHeader
|
<BattleHeader
|
||||||
:players="item.mode === 1 ? [] : item.players"
|
:players="item.teams[0] ? item.teams[0].players : []"
|
||||||
:blueTeam="item.bluePlayers"
|
:blueTeam="item.teams[2] ? item.teams[2].players : []"
|
||||||
:redTeam="item.redPlayers"
|
:redTeam="item.teams[1] ? item.teams[1].players : []"
|
||||||
:winner="item.winner"
|
:winner="item.winTeam"
|
||||||
:showRank="item.mode === 2"
|
:showRank="item.teams[0]"
|
||||||
:showHeader="false"
|
:showHeader="false"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
@@ -131,7 +135,7 @@ const onPractiseLoading = async (page) => {
|
|||||||
>
|
>
|
||||||
<text
|
<text
|
||||||
>{{ item.completed_arrows === 36 ? "耐力挑战" : "单组练习" }}
|
>{{ item.completed_arrows === 36 ? "耐力挑战" : "单组练习" }}
|
||||||
{{ item.createdAt }}</text
|
{{ item.createTime }}</text
|
||||||
>
|
>
|
||||||
<image src="../static/back.png" mode="widthFix" />
|
<image src="../static/back.png" mode="widthFix" />
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
Reference in New Issue
Block a user