pref: 比赛结束

This commit is contained in:
2026-05-06 16:15:39 +08:00
parent 9cd32a7aa6
commit 1beb1009b3
4 changed files with 18 additions and 9 deletions

View File

@@ -52,7 +52,7 @@
} }
function onDeviceShoot() { function onDeviceShoot() {
audioManager.play("射箭声音") // audioManager.play("射箭声音")
} }
function onShootWsMsg(content) { function onShootWsMsg(content) {

View File

@@ -56,7 +56,7 @@ async function onReceiveMessage(message) {
currentRoundEnded.value = true; currentRoundEnded.value = true;
audioManager.play("比赛开始"); audioManager.play("比赛开始");
} else if (type === MESSAGETYPESV2.BattleEnd) { } else if (type === MESSAGETYPESV2.BattleEnd) {
audioManager.play("比赛结束"); audioManager.play("比赛结束", false);
} else if (type === MESSAGETYPESV2.ShootResult) { } else if (type === MESSAGETYPESV2.ShootResult) {
if (melee.value && current.playerId !== user.value.id) return; if (melee.value && current.playerId !== user.value.id) return;
if (current.playerId === user.value.id) currentShot.value++; if (current.playerId === user.value.id) currentShot.value++;

View File

@@ -28,6 +28,10 @@ const playersScores = ref([]);
const halfTimeTip = ref(false); const halfTimeTip = ref(false);
const halfRest = ref(false); const halfRest = ref(false);
const navigateToResult = () => {
uni.redirectTo({ url: `/pages/battle-result?battleId=${battleId.value}` });
};
function recoverData(battleInfo, { force = false } = {}) { function recoverData(battleInfo, { force = false } = {}) {
if (!battleInfo) return; if (!battleInfo) return;
try { try {

View File

@@ -35,6 +35,7 @@ const redPoints = ref(0);
const bluePoints = ref(0); const bluePoints = ref(0);
const showRoundTip = ref(false); const showRoundTip = ref(false);
const isFinalShoot = ref(false); const isFinalShoot = ref(false);
const matchStatus = ref(undefined);
const recoverData = (battleInfo, { force = false, arrowOnly = false } = {}) => { const recoverData = (battleInfo, { force = false, arrowOnly = false } = {}) => {
try { try {
@@ -110,6 +111,15 @@ const recoverData = (battleInfo, { force = false, arrowOnly = false } = {}) => {
} }
}; };
function onBattleEnd(){
showRoundTip.value = false
console.log("onBattleEnd ended...")
if (matchStatus.value === 2) {
uni.redirectTo({
url: `/pages/battle-result?battleId=${battleId.value}`,
});
}
}
async function onReceiveMessage(msg) { async function onReceiveMessage(msg) {
if (Array.isArray(msg)) return; if (Array.isArray(msg)) return;
if (msg.type === MESSAGETYPESV2.BattleStart) { if (msg.type === MESSAGETYPESV2.BattleStart) {
@@ -133,6 +143,7 @@ async function onReceiveMessage(msg) {
} }
} }
} else if (msg.type === MESSAGETYPESV2.BattleEnd) { } else if (msg.type === MESSAGETYPESV2.BattleEnd) {
matchStatus.value = msg.status;
if (msg.status === 4) { if (msg.status === 4) {
showRoundTip.value = true; showRoundTip.value = true;
currentBluePoint.value = 0; currentBluePoint.value = 0;
@@ -140,13 +151,7 @@ async function onReceiveMessage(msg) {
setTimeout(() => { setTimeout(() => {
uni.navigateBack(); uni.navigateBack();
}, 2000); }, 2000);
return;
} }
setTimeout(() => {
uni.redirectTo({
url: "/pages/battle-result?battleId=" + msg.matchId,
});
}, 1000);
} }
} }
@@ -243,7 +248,7 @@ onShow(async () => {
:roundData=" :roundData="
roundResults[currentRound - 1] ? roundResults[currentRound - 1] : [] roundResults[currentRound - 1] ? roundResults[currentRound - 1] : []
" "
:onAutoClose="() => (showRoundTip = false)" :onAutoClose="onBattleEnd"
/> />
</ScreenHint> </ScreenHint>
</view> </view>