From 6edbc751b27cd161e2e50613f2f3f7473f86f4ab Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Tue, 22 Apr 2025 10:15:03 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=20=E6=8B=86=E5=88=86=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=AE=8C=E6=88=90=E5=90=8E=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Constants/ConfigurationKeys.cs | 1 + src/MaaWpfGui/Main/AsstProxy.cs | 26 ++++++++++------- src/MaaWpfGui/Res/Localizations/en-us.xaml | 3 +- src/MaaWpfGui/Res/Localizations/ja-jp.xaml | 3 +- src/MaaWpfGui/Res/Localizations/ko-kr.xaml | 3 +- src/MaaWpfGui/Res/Localizations/zh-cn.xaml | 3 +- src/MaaWpfGui/Res/Localizations/zh-tw.xaml | 3 +- ...nalNotificationSettingsUserControlModel.cs | 14 ++++++++- ...ternalNotificationSettingsUserControl.xaml | 29 +++++++++++++------ 9 files changed, 60 insertions(+), 25 deletions(-) diff --git a/src/MaaWpfGui/Constants/ConfigurationKeys.cs b/src/MaaWpfGui/Constants/ConfigurationKeys.cs index f6e00b73d7..46daf4d7e0 100644 --- a/src/MaaWpfGui/Constants/ConfigurationKeys.cs +++ b/src/MaaWpfGui/Constants/ConfigurationKeys.cs @@ -253,6 +253,7 @@ namespace MaaWpfGui.Constants public const string RemoteControlDeviceIdentity = "RemoteControl.RemoteControlDeviceIdentity"; public const string ExternalNotificationEnabled = "ExternalNotification.Enabled"; + public const string ExternalNotificationSendWhenComplete = "ExternalNotification.SendWhenComplete"; public const string ExternalNotificationEnableDetails = "ExternalNotification.EnableDetails"; public const string ExternalNotificationSendWhenError = "ExternalNotification.SendWhenError"; public const string ExternalNotificationSmtpServer = "ExternalNotification.Smtp.Server"; diff --git a/src/MaaWpfGui/Main/AsstProxy.cs b/src/MaaWpfGui/Main/AsstProxy.cs index 016eac2caf..1db4dddce3 100644 --- a/src/MaaWpfGui/Main/AsstProxy.cs +++ b/src/MaaWpfGui/Main/AsstProxy.cs @@ -837,12 +837,15 @@ namespace MaaWpfGui.Main allTaskCompleteLog = allTaskCompleteLog + Environment.NewLine + sanityReport; Instances.TaskQueueViewModel.AddLog(allTaskCompleteLog); - var logs = SettingsViewModel.ExternalNotificationSettings.ExternalNotificationEnableDetails - ? Instances.TaskQueueViewModel.LogItemViewModels.Aggregate(string.Empty, (current, logItem) => current + $"[{logItem.Time}][{logItem.Color}]{logItem.Content}\n") - : string.Empty; - logs += allTaskCompleteMessage; + if (SettingsViewModel.ExternalNotificationSettings.ExternalNotificationSendWhenComplete) + { + var logs = SettingsViewModel.ExternalNotificationSettings.ExternalNotificationEnableDetails + ? Instances.TaskQueueViewModel.LogItemViewModels.Aggregate(string.Empty, (current, logItem) => current + $"[{logItem.Time}][{logItem.Color}]{logItem.Content}\n") + : string.Empty; + logs += allTaskCompleteMessage; - ExternalNotificationService.Send(allTaskCompleteTitle, logs + Environment.NewLine + sanityReport); + ExternalNotificationService.Send(allTaskCompleteTitle, logs + Environment.NewLine + sanityReport); + } if (_toastNotificationTimer is not null) { @@ -864,12 +867,15 @@ namespace MaaWpfGui.Main { Instances.TaskQueueViewModel.AddLog(allTaskCompleteLog); - var logs = SettingsViewModel.ExternalNotificationSettings.ExternalNotificationEnableDetails - ? Instances.TaskQueueViewModel.LogItemViewModels.Aggregate(string.Empty, (current, logItem) => current + $"[{logItem.Time}][{logItem.Color}]{logItem.Content}\n") - : string.Empty; - logs += allTaskCompleteMessage; + if (SettingsViewModel.ExternalNotificationSettings.ExternalNotificationSendWhenComplete) + { + var logs = SettingsViewModel.ExternalNotificationSettings.ExternalNotificationEnableDetails + ? Instances.TaskQueueViewModel.LogItemViewModels.Aggregate(string.Empty, (current, logItem) => current + $"[{logItem.Time}][{logItem.Color}]{logItem.Content}\n") + : string.Empty; + logs += allTaskCompleteMessage; - ExternalNotificationService.Send(allTaskCompleteTitle, logs); + ExternalNotificationService.Send(allTaskCompleteTitle, logs); + } } using (var toast = new ToastNotification(allTaskCompleteTitle)) diff --git a/src/MaaWpfGui/Res/Localizations/en-us.xaml b/src/MaaWpfGui/Res/Localizations/en-us.xaml index 8f130f8e96..85c40c3357 100644 --- a/src/MaaWpfGui/Res/Localizations/en-us.xaml +++ b/src/MaaWpfGui/Res/Localizations/en-us.xaml @@ -39,7 +39,8 @@ External notifications Enabled configuration Output Detailed Information - Send additional notification when task fails + タスク完了時に通知を送信 + Send notification when task fails Send successfully Send failed Send Test diff --git a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml index 00586a828c..f7010979d7 100644 --- a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml +++ b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml @@ -39,7 +39,8 @@ 外部通知 通知構成の有効化 詳細情報を出力 - タスクが失敗したときに追加の通知を送信する + タスク完了時に通知を送信 + タスクが失敗したときに通知を送信 正常に送信 送信に失敗しました テストを送信する diff --git a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml index 3b98690a68..b3961da60d 100644 --- a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml +++ b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml @@ -39,7 +39,8 @@ 외부 알림 알림 구성 사용 상세 정보 출력 - 작업 실패 시 추가 알림 전송 + 작업 완료 시 알림 전송 + 작업 실패 시 알림 전송 전송 성공 전송 실패 테스트 diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index 0941fb376c..3d06ae94a9 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -39,7 +39,8 @@ 外部通知 启用的通知配置 输出详细信息 - 任务出错时发送额外通知 + 任务完成后发送通知 + 任务出错时发送通知 发送成功 发送失败 发送测试 diff --git a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml index 4b8475c30d..2b8d514308 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml @@ -39,7 +39,8 @@ 外部通知 啟用的通知配置 輸出詳細信息 - 任務出錯時發送額外通知 + 任務完成後發送通知 + 任務出錯時發送通知 發送成功 發送失敗 發送測試 diff --git a/src/MaaWpfGui/ViewModels/UserControl/Settings/ExternalNotificationSettingsUserControlModel.cs b/src/MaaWpfGui/ViewModels/UserControl/Settings/ExternalNotificationSettingsUserControlModel.cs index 5a4ae0c028..0960979887 100644 --- a/src/MaaWpfGui/ViewModels/UserControl/Settings/ExternalNotificationSettingsUserControlModel.cs +++ b/src/MaaWpfGui/ViewModels/UserControl/Settings/ExternalNotificationSettingsUserControlModel.cs @@ -44,6 +44,18 @@ public class ExternalNotificationSettingsUserControlModel : PropertyChangedBase true); } + private bool _externalNotificationSendWhenComplete = Convert.ToBoolean(ConfigurationHelper.GetValue(ConfigurationKeys.ExternalNotificationSendWhenComplete, bool.TrueString)); + + public bool ExternalNotificationSendWhenComplete + { + get => _externalNotificationSendWhenComplete; + set + { + SetAndNotify(ref _externalNotificationSendWhenComplete, value); + ConfigurationHelper.SetValue(ConfigurationKeys.ExternalNotificationSendWhenComplete, value.ToString()); + } + } + private bool _externalNotificationEnableDetails = Convert.ToBoolean(ConfigurationHelper.GetValue(ConfigurationKeys.ExternalNotificationEnableDetails, bool.FalseString)); public bool ExternalNotificationEnableDetails @@ -56,7 +68,7 @@ public class ExternalNotificationSettingsUserControlModel : PropertyChangedBase } } - private bool _externalNotificationSendWhenError = Convert.ToBoolean(ConfigurationHelper.GetValue(ConfigurationKeys.ExternalNotificationSendWhenError, bool.FalseString)); + private bool _externalNotificationSendWhenError = Convert.ToBoolean(ConfigurationHelper.GetValue(ConfigurationKeys.ExternalNotificationSendWhenError, bool.TrueString)); public bool ExternalNotificationSendWhenError { diff --git a/src/MaaWpfGui/Views/UserControl/Settings/ExternalNotificationSettingsUserControl.xaml b/src/MaaWpfGui/Views/UserControl/Settings/ExternalNotificationSettingsUserControl.xaml index 1d8836060f..ffd0b1c036 100644 --- a/src/MaaWpfGui/Views/UserControl/Settings/ExternalNotificationSettingsUserControl.xaml +++ b/src/MaaWpfGui/Views/UserControl/Settings/ExternalNotificationSettingsUserControl.xaml @@ -30,11 +30,11 @@ - + TextWrapping="Wrap" />--> @@ -55,14 +55,25 @@ IsEnabled="{c:Binding 'EnabledExternalNotificationProviderCount > 0'}" /> + + + + -