From 3bfb7c467b8da275069711f7fb8a3395710ffd7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=98=BF=E6=A2=A6?= Date: Fri, 15 May 2026 19:17:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E7=9B=B4=E6=92=AD?= =?UTF-8?q?=E5=92=8C=E7=9B=91=E6=8E=A7=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useClassMonitor.ts | 6 ++++-- src/stores/user.ts | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/hooks/useClassMonitor.ts b/src/hooks/useClassMonitor.ts index b73faf6..6158363 100644 --- a/src/hooks/useClassMonitor.ts +++ b/src/hooks/useClassMonitor.ts @@ -227,12 +227,14 @@ export const syncStudentScreenShareState = async (state: unknown) => { } const sessionKey = getMonitorSessionKey(msg) - if (monitorState === 1 && sessionKey && monitorSessionId === sessionKey) { + + // 已在监控中:仅刷新连接参数,不先 stop 再 start(与老师 screenShareState 同步一致) + if (monitorState === 1) { + if (sessionKey) monitorSessionId = sessionKey applyStudentShareStart(msg) return } - stopClassMonitor() monitorSessionId = sessionKey monitorState = 1 if (!applyStudentShareStart(msg)) { diff --git a/src/stores/user.ts b/src/stores/user.ts index 445762f..5377e95 100644 --- a/src/stores/user.ts +++ b/src/stores/user.ts @@ -123,7 +123,8 @@ export const userStore = defineStore('user', () => { system.value.isLock = info.lockFlag === 0 } - if (hasMonitorState) { + // 有 studentScreenShareState 时以其为准,避免与旧 monitorState 重复 stop/start + if (hasMonitorState && !hasStudentScreenShareState) { syncClassMonitorState(info) }