细节完善
This commit is contained in:
@@ -77,7 +77,7 @@ onUnmounted(() => {
|
|||||||
v-if="bluePoint === 0 && redPoint === 0"
|
v-if="bluePoint === 0 && redPoint === 0"
|
||||||
:style="{ marginTop: '20px' }"
|
:style="{ marginTop: '20px' }"
|
||||||
>
|
>
|
||||||
连续3个来回无人射箭,比赛被取消
|
连续3个来回双方均无人射箭,比赛取消。
|
||||||
</text>
|
</text>
|
||||||
<text v-if="bluePoint !== 0 && bluePoint === redPoint">
|
<text v-if="bluePoint !== 0 && bluePoint === redPoint">
|
||||||
红队、蓝队各得<text :style="{ color: '#fed847', margin: '0 5px' }">{{
|
红队、蓝队各得<text :style="{ color: '#fed847', margin: '0 5px' }">{{
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ onUnmounted(() => {
|
|||||||
<text>大人,请射箭</text>
|
<text>大人,请射箭</text>
|
||||||
</block>
|
</block>
|
||||||
</view>
|
</view>
|
||||||
<view class="debug-text">{{ debugInfo }}</view>
|
<!-- <view class="debug-text">{{ debugInfo }}</view> -->
|
||||||
<view>
|
<view>
|
||||||
<view class="simul" @click="simulShoot" :style="{ color: '#fff' }">
|
<view class="simul" @click="simulShoot" :style="{ color: '#fff' }">
|
||||||
模拟射箭
|
模拟射箭
|
||||||
|
|||||||
@@ -218,63 +218,56 @@ function recoverData(battleInfo) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onLoad(async (options) => {
|
async function refreshRoomData() {
|
||||||
if (options.battleId) {
|
if (!roomNumber.value) return;
|
||||||
const battleInfo = uni.getStorageSync("current-battle");
|
const result = await getRoomAPI(roomNumber.value);
|
||||||
if (battleInfo) recoverData(battleInfo);
|
room.value = result;
|
||||||
setTimeout(getCurrentGameAPI, 2000);
|
battleType.value = result.battleType;
|
||||||
}
|
result.members.some((m) => {
|
||||||
if (options.roomNumber) {
|
if (m.userInfo.id === result.creator) {
|
||||||
roomNumber.value = options.roomNumber;
|
owner.value = {
|
||||||
const result = await getRoomAPI(options.roomNumber);
|
id: m.userInfo.id,
|
||||||
room.value = result;
|
name: m.userInfo.name,
|
||||||
battleType.value = result.battleType;
|
avatar: m.userInfo.avatar,
|
||||||
result.members.some((m) => {
|
};
|
||||||
if (m.userInfo.id === result.creator) {
|
return true;
|
||||||
owner.value = {
|
}
|
||||||
id: m.userInfo.id,
|
return false;
|
||||||
name: m.userInfo.name,
|
});
|
||||||
avatar: m.userInfo.avatar,
|
if (result.battleType === 1) {
|
||||||
};
|
if (user.value.id !== owner.value.id) {
|
||||||
return true;
|
opponent.value = {
|
||||||
}
|
id: user.value.id,
|
||||||
return false;
|
name: user.value.nickName,
|
||||||
});
|
avatar: user.value.avatar,
|
||||||
if (result.battleType === 1) {
|
};
|
||||||
if (user.value.id !== owner.value.id) {
|
} else if (result.members.length > 1) {
|
||||||
opponent.value = {
|
result.members.some((m) => {
|
||||||
id: user.value.id,
|
if (m.userInfo.id !== owner.value.id) {
|
||||||
name: user.value.nickName,
|
opponent.value = {
|
||||||
avatar: user.value.avatar,
|
id: m.userInfo.id,
|
||||||
};
|
name: m.userInfo.name,
|
||||||
} else if (result.members.length > 1) {
|
avatar: m.userInfo.avatar,
|
||||||
result.members.some((m) => {
|
};
|
||||||
if (m.userInfo.id !== owner.value.id) {
|
return true;
|
||||||
opponent.value = {
|
}
|
||||||
id: m.userInfo.id,
|
return false;
|
||||||
name: m.userInfo.name,
|
|
||||||
avatar: m.userInfo.avatar,
|
|
||||||
};
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} else if (result.battleType === 2) {
|
|
||||||
const ownerIndex = result.members.findIndex(
|
|
||||||
(m) => m.userInfo.id === result.creator
|
|
||||||
);
|
|
||||||
if (ownerIndex !== -1) {
|
|
||||||
players.value.push(result.members[ownerIndex].userInfo);
|
|
||||||
} else {
|
|
||||||
players.value.push({});
|
|
||||||
}
|
|
||||||
result.members.forEach((m, index) => {
|
|
||||||
if (ownerIndex !== index) players.value.push(m.userInfo);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
} else if (result.battleType === 2) {
|
||||||
|
const ownerIndex = result.members.findIndex(
|
||||||
|
(m) => m.userInfo.id === result.creator
|
||||||
|
);
|
||||||
|
if (ownerIndex !== -1) {
|
||||||
|
players.value.push(result.members[ownerIndex].userInfo);
|
||||||
|
} else {
|
||||||
|
players.value.push({});
|
||||||
|
}
|
||||||
|
result.members.forEach((m, index) => {
|
||||||
|
if (ownerIndex !== index) players.value.push(m.userInfo);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
const startGame = async () => {
|
const startGame = async () => {
|
||||||
const result = await startRoomAPI(room.value.number);
|
const result = await startRoomAPI(room.value.number);
|
||||||
@@ -531,6 +524,17 @@ const onBack = () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
onLoad(async (options) => {
|
||||||
|
if (options.battleId) {
|
||||||
|
const battleInfo = uni.getStorageSync("current-battle");
|
||||||
|
if (battleInfo) recoverData(battleInfo);
|
||||||
|
setTimeout(getCurrentGameAPI, 2000);
|
||||||
|
} else if (options.roomNumber) {
|
||||||
|
roomNumber.value = options.roomNumber;
|
||||||
|
refreshRoomData();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
uni.setKeepScreenOn({
|
uni.setKeepScreenOn({
|
||||||
keepScreenOn: true,
|
keepScreenOn: true,
|
||||||
@@ -562,6 +566,8 @@ onShow(async () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
refreshTimer.value = setInterval(refreshData, 2000);
|
refreshTimer.value = setInterval(refreshData, 2000);
|
||||||
|
} else {
|
||||||
|
refreshRoomData();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
onHide(() => {
|
onHide(() => {
|
||||||
@@ -572,7 +578,7 @@ onHide(() => {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Container
|
<Container
|
||||||
:title="`好友约战 - ${roomNumber}`"
|
:title="`好友约战 ${battleId ? '' : '- ' + roomNumber}`"
|
||||||
:onBack="onBack"
|
:onBack="onBack"
|
||||||
:bgType="battleId ? 1 : 0"
|
:bgType="battleId ? 1 : 0"
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user