From d3382104269324a312daef771e284f723a9360e3 Mon Sep 17 00:00:00 2001 From: AoXuan Date: Wed, 24 Sep 2025 00:47:34 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=B7=BB=E5=8A=A0=E7=94=B5?= =?UTF-8?q?=E6=BA=90=E6=93=8D=E4=BD=9C=E6=98=BE=E7=A4=BA=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E6=94=AF=E6=8C=81=E4=BB=8E=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E6=8E=A5=E6=94=B6=E7=8A=B6=E6=80=81=E5=B9=B6=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=9C=AC=E5=9C=B0=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/scheduler/useSchedulerLogic.ts | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/frontend/src/views/scheduler/useSchedulerLogic.ts b/frontend/src/views/scheduler/useSchedulerLogic.ts index fa546a4..b330152 100644 --- a/frontend/src/views/scheduler/useSchedulerLogic.ts +++ b/frontend/src/views/scheduler/useSchedulerLogic.ts @@ -570,6 +570,41 @@ export function useSchedulerLogic() { } } + // 更新电源操作显示(不发送API请求) + const updatePowerActionDisplay = (powerSign: string) => { + // 将后端的PowerSign转换为前端的PowerIn.signal枚举值 + let newPowerAction: PowerIn.signal = PowerIn.signal.NO_ACTION + + switch (powerSign) { + case 'NoAction': + newPowerAction = PowerIn.signal.NO_ACTION + break + case 'KillSelf': + newPowerAction = PowerIn.signal.KILL_SELF + break + case 'Sleep': + newPowerAction = PowerIn.signal.SLEEP + break + case 'Hibernate': + newPowerAction = PowerIn.signal.HIBERNATE + break + case 'Shutdown': + newPowerAction = PowerIn.signal.SHUTDOWN + break + case 'ShutdownForce': + newPowerAction = PowerIn.signal.SHUTDOWN_FORCE + break + default: + console.warn('[Scheduler] 未知的PowerSign值:', powerSign) + return + } + + // 更新显示状态和本地存储,但不发送API请求 + powerAction.value = newPowerAction + savePowerActionToStorage(newPowerAction) + console.log('[Scheduler] 电源操作显示已更新为:', newPowerAction) + } + // 启动60秒倒计时 const startPowerCountdown = (data: any) => { // 清除之前的计时器 @@ -709,6 +744,10 @@ export function useSchedulerLogic() { // 收到倒计时消息,启动前端60秒倒计时 console.log('[Scheduler] 收到倒计时消息,启动60秒倒计时:', data) startPowerCountdown(data) + } else if (type === 'Update' && data && data.PowerSign !== undefined) { + // 收到电源操作更新消息,更新显示 + console.log('[Scheduler] 收到电源操作更新消息:', data.PowerSign) + updatePowerActionDisplay(data.PowerSign) } }