diff --git a/src/matchWebsocket.js b/src/matchWebsocket.js index 4e4ad12..e78f688 100644 --- a/src/matchWebsocket.js +++ b/src/matchWebsocket.js @@ -373,7 +373,7 @@ function getAckAudioKeys(message, businessMessage) { if (businessMessage?.type === MESSAGETYPESV2.HalfRest) return ["中场休息"]; return ["比赛结束"]; case ServerMessageType.SERVER_MSG_PRACTICE_END: - return ["比赛结束"]; + return [currentContext?.practiceEndAudioKey || "比赛结束"]; case ServerMessageType.SERVER_MSG_CHECK: return getTestDistanceAudioKeys(businessMessage?.shootData); case ServerMessageType.SERVER_MSG_NOT_ENOUGH_DISTANCE: @@ -850,6 +850,7 @@ export function connectMatchWebSocket(options = {}) { mode, requestPracticeInfoOnOpen = false, appHideResumable = false, + practiceEndAudioKey = "", force = false, reconnecting = false, reconnectReason = "", @@ -922,6 +923,7 @@ export function connectMatchWebSocket(options = {}) { Number.isFinite(normalizedMode) ? normalizedMode > 3 : undefined, requestPracticeInfoOnOpen: requestPracticeInfoOnOpen === true, appHideResumable: appHideResumable === true, + practiceEndAudioKey: String(practiceEndAudioKey || "").trim(), meleeHalfRest: isSameContext ? currentContext?.meleeHalfRest === true : false, diff --git a/src/pages/training/practise-one.vue b/src/pages/training/practise-one.vue index efe00cf..47a646b 100644 --- a/src/pages/training/practise-one.vue +++ b/src/pages/training/practise-one.vue @@ -765,6 +765,7 @@ const connectPracticeServer = ({ userId: user.value.id, requestPracticeInfoOnOpen: true, appHideResumable: appHideResumable.value, + practiceEndAudioKey: "练习结束", }); connectionClosed.value = false; return true; @@ -1192,7 +1193,7 @@ function onAudioEnded(key) { Array.from(audioWaiters).forEach((waiter) => { if (waiter.expectedKey === key) waiter.done(); }); - if (String(key || "").includes("比赛结束")) { + if (["比赛结束", "练习结束"].includes(String(key || ""))) { void onOver(); } }