From b567e2466b0ca9e272ab6768c354482ed890ce37 Mon Sep 17 00:00:00 2001 From: "yinzhou.ma" Date: Fri, 17 Jul 2026 09:05:55 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20WebSocket=E5=8F=AA=E5=9C=A8=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=8F=98=E5=8C=96=E6=97=B6=E5=B9=BF=E6=92=AD=EF=BC=8C?= =?UTF-8?q?=E5=87=8F=E5=B0=91=E6=97=A0=E6=95=88=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server.js b/server.js index 8caf7b4..e362c67 100644 --- a/server.js +++ b/server.js @@ -136,11 +136,10 @@ function startCarouselTimer() { const startTime = parseInt(getConfig('current_group_start_time') || '0'); const currentGroup = groups[idx]; - if (currentGroup.display_seconds === 0) { - broadcastState(); - return; - } + // 无限时分组,不需要切换 + if (currentGroup.display_seconds === 0) return; + // 首次启动,记录开始时间并广播 if (startTime === 0) { setConfig('current_group_start_time', Math.floor(Date.now() / 1000)); broadcastState(); @@ -150,12 +149,13 @@ function startCarouselTimer() { const now = Math.floor(Date.now() / 1000); const elapsed = now - startTime; + // 时间到了,切换分组并广播 if (elapsed >= currentGroup.display_seconds) { const nextIdx = findNextGroupIndex(groups, idx); setConfig('current_group_index', nextIdx); setConfig('current_group_start_time', Math.floor(Date.now() / 1000)); + broadcastState(); } - broadcastState(); }, 1000); }