feat: 添加自动运行延迟状态管理,支持从消息更新界面状态

This commit is contained in:
QLHazyCoder
2026-04-12 13:01:02 +08:00
parent 4570c9885b
commit ce1440c42f
2 changed files with 17 additions and 0 deletions
+10
View File
@@ -1183,6 +1183,13 @@ function formatAutoRunScheduleTime(timestamp) {
});
}
async function setAutoRunDelayEnabledState(enabled) {
const normalized = Boolean(enabled);
await setPersistentSettings({ autoRunDelayEnabled: normalized });
await setState({ autoRunDelayEnabled: normalized });
broadcastDataUpdate({ autoRunDelayEnabled: normalized });
}
async function ensureScheduledAutoRunAlarm(scheduledAt) {
if (!Number.isFinite(scheduledAt) || scheduledAt <= Date.now()) {
return false;
@@ -1274,6 +1281,9 @@ async function launchScheduledAutoRun(trigger = 'alarm') {
}
await clearScheduledAutoRunAlarm();
if (trigger !== 'manual' && state.autoRunDelayEnabled) {
await setAutoRunDelayEnabledState(false);
}
await broadcastAutoRunStatus(
'running',
{
+7
View File
@@ -1223,6 +1223,13 @@ chrome.runtime.onMessage.addListener((message) => {
displayLocalhostUrl.textContent = message.payload.localhostUrl;
displayLocalhostUrl.classList.add('has-value');
}
if (message.payload.autoRunDelayEnabled !== undefined) {
inputAutoDelayEnabled.checked = Boolean(message.payload.autoRunDelayEnabled);
updateAutoDelayInputState();
}
if (message.payload.autoRunDelayMinutes !== undefined) {
inputAutoDelayMinutes.value = String(normalizeAutoDelayMinutes(message.payload.autoRunDelayMinutes));
}
break;
}