From d2484630862d9c4c53e388bcded9a329668efab0 Mon Sep 17 00:00:00 2001 From: KeilAwk <82655578+KeilAwk@users.noreply.github.com> Date: Fri, 18 Apr 2025 20:48:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dreminder=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E6=AD=A3=E7=A1=AE=E6=B3=A8=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notification/scripts/script.js | 67 +++++++++++++++------------------- 1 file changed, 29 insertions(+), 38 deletions(-) diff --git a/notification/scripts/script.js b/notification/scripts/script.js index 9c954ab..e9aa76c 100644 --- a/notification/scripts/script.js +++ b/notification/scripts/script.js @@ -102,45 +102,36 @@ function loadRemindersToQueue(reminders) { var now = Date.now(); reminders.forEach(function(reminder) { var reminderTime; + var targetCourse; if (currentCourse) { - switch (reminder.condition) { - case 'beforeStart': - reminderTime = new Date(currentCourse.start).getTime() - reminder.time * 60000; - break; - case 'beforeEnd': - reminderTime = new Date(currentCourse.end).getTime() - reminder.time * 60000; - break; - case 'afterEnd': - reminderTime = new Date(currentCourse.end).getTime() + reminder.time * 60000; - break; - case 'start': - reminderTime = new Date(currentCourse.start).getTime(); - break; - case 'end': - reminderTime = new Date(currentCourse.end).getTime(); - break; - default: - console.error('未知的提醒条件:', reminder.condition); - return; - } - } else { - var nextCourse = getNextCourse(); - if (nextCourse) { - switch (reminder.condition) { - case 'beforeStart': - reminderTime = new Date(nextCourse.start).getTime() - reminder.time * 60000; - break; - case 'start': - reminderTime = new Date(nextCourse.start).getTime(); - break; - default: - console.error('未知的提醒条件:', reminder.condition); - return; - } - } else { - errorSystem.show('当前没有课程信息', 'info'); - return; - } + targetCourse = currentCourse; + } + else if (getNextCourse()) { + targetCourse = getNextCourse(); + } + else { + errorSystem.show('当前没有课程信息', 'info'); + return; + } + switch (reminder.condition) { + case 'beforeStart': + reminderTime = new Date(targetCourse .start).getTime() - reminder.time * 60000; + break; + case 'beforeEnd': + reminderTime = new Date(targetCourse .end).getTime() - reminder.time * 60000; + break; + case 'afterEnd': + reminderTime = new Date(targetCourse .end).getTime() + reminder.time * 60000; + break; + case 'start': + reminderTime = new Date(targetCourse .start).getTime(); + break; + case 'end': + reminderTime = new Date(targetCourse .end).getTime(); + break; + default: + //console.error('未知的提醒条件:', reminder.condition); + //return; } if (reminderTime > now) { reminderQueue.addReminder({ time: reminderTime, condition: reminder.condition, audio: reminder.audio });