From d692ad8d084122533c974f2eb2a6105bcfb7597a Mon Sep 17 00:00:00 2001 From: Codebuddy Date: Fri, 14 Aug 2026 18:17:08 +0800 Subject: [PATCH] =?utf8?q?fix:=20=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8?= =?utf8?q?=E9=A1=B5=E6=AF=8F=205=20=E7=A7=92=E8=87=AA=E5=8A=A8=E5=88=B7?= =?utf8?q?=E6=96=B0=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit - 进入列表页启动定时器,离开/退出登录/进入终端时停止 - 解决列表页状态不随会话实时变化的问题(纯前端,刷新即生效) --- frontend/index.html | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/frontend/index.html b/frontend/index.html index 88465b3..af10872 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -304,11 +304,12 @@ body { position: fixed; top: 0; left: 0; right: 0; bottom: 0; height: 100%; over const termContainer = document.getElementById('terminal-container'); function show(page) { + stopPickerRefresh(); loginPage.style.display = 'none'; pickerPage.style.display = 'none'; terminalPage.style.display = 'none'; if (page === 'login') { loginPage.style.display = 'flex'; passwordInput.focus(); } - else if (page === 'picker') pickerPage.style.display = 'flex'; + else if (page === 'picker') { pickerPage.style.display = 'flex'; startPickerRefresh(); } else if (page === 'terminal') { terminalPage.style.display = 'flex'; // 显示后重新 fit 并聚焦,避免重连后需要先按一次回车才能输入 @@ -379,6 +380,23 @@ body { position: fixed; top: 0; left: 0; right: 0; bottom: 0; height: 100%; over await renderTasks(); } + // 列表页自动刷新:进入时启动,离开/退出时停止 + let pickerTimer = null; + let pickerRefreshing = false; + function startPickerRefresh() { + stopPickerRefresh(); + pickerTimer = setInterval(refreshTasks, 5000); + } + function stopPickerRefresh() { + if (pickerTimer) { clearInterval(pickerTimer); pickerTimer = null; } + } + async function refreshTasks() { + if (pickerRefreshing) return; + pickerRefreshing = true; + try { await renderTasks(); } catch (e) { console.warn('refreshTasks failed', e); } + finally { pickerRefreshing = false; } + } + let showAllTasks = false; async function renderTasks() { -- 2.43.0