From f3d8621a2946a4b207a75f149aac76cc1fe6ed6e Mon Sep 17 00:00:00 2001 From: liqi Date: Tue, 16 Dec 2025 15:11:56 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=82=E9=85=8D=E5=BE=AE=E4=BF=A1=E5=B0=8F?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/composables/useMiniProgramCall.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/composables/useMiniProgramCall.ts b/src/composables/useMiniProgramCall.ts index c13353d..362f648 100644 --- a/src/composables/useMiniProgramCall.ts +++ b/src/composables/useMiniProgramCall.ts @@ -64,6 +64,7 @@ let pusherContext: UniApp.LivePusherContext | null = null // 推流状态标记 let isPushingSucceeded = false // autopush 是否已成功(收到 1009) let isStartingPush = false // 是否正在启动推流(防止并发调用) +let hasJoinedRoom = false // 是否已加入房间(防止重复调用 joinCallRoom) export function useMiniProgramCall() { const authStore = useAuthStore() @@ -307,6 +308,13 @@ export function useMiniProgramCall() { return } + // 防止重复加入房间(多次调用会导致流 ID 变化) + if (hasJoinedRoom) { + console.log('[MiniProgramCall] ⏩ 已加入房间,跳过重复调用') + return + } + hasJoinedRoom = true + console.log('[MiniProgramCall] 加入房间:', { roomId: call.roomId, userId: userId.value, @@ -492,6 +500,7 @@ export function useMiniProgramCall() { // 重置推流状态标记 isPushingSucceeded = false isStartingPush = false + hasJoinedRoom = false } /**