diff --git a/BetterGenshinImpact/Model/Gear/Triggers/GearBaseTrigger.cs b/BetterGenshinImpact/Model/Gear/Triggers/GearBaseTrigger.cs
index f055606c..4017d98d 100644
--- a/BetterGenshinImpact/Model/Gear/Triggers/GearBaseTrigger.cs
+++ b/BetterGenshinImpact/Model/Gear/Triggers/GearBaseTrigger.cs
@@ -24,13 +24,4 @@ public abstract class GearBaseTrigger
///
public string TaskDefinitionName { get; set; } = string.Empty;
- ///
- /// 执行任务
- ///
- public async Task Trigger()
- {
- var gearTaskExecutor = App.GetRequiredService();
- await gearTaskExecutor.ExecuteTaskDefinitionAsync(TaskDefinitionName);
- }
-
}
\ No newline at end of file
diff --git a/BetterGenshinImpact/Service/GearTask/GearTaskExecutor.cs b/BetterGenshinImpact/Service/GearTask/GearTaskExecutor.cs
index 6a05d476..d8df8e16 100644
--- a/BetterGenshinImpact/Service/GearTask/GearTaskExecutor.cs
+++ b/BetterGenshinImpact/Service/GearTask/GearTaskExecutor.cs
@@ -5,6 +5,7 @@ using System.Threading;
using System.Threading.Tasks;
using BetterGenshinImpact.Model.Gear;
using BetterGenshinImpact.Model.Gear.Tasks;
+using BetterGenshinImpact.Service.GearTask;
using BetterGenshinImpact.ViewModel.Pages.Component;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.DependencyInjection;
@@ -115,59 +116,6 @@ public partial class GearTaskExecutor : ObservableObject
}
}
- ///
- /// 直接执行 GearTaskData
- ///
- /// 任务数据
- /// 取消令牌
- ///
- public async Task ExecuteTaskDataAsync(GearTaskData taskData, CancellationToken ct = default)
- {
- if (IsExecuting)
- {
- throw new InvalidOperationException("任务执行器正在运行中,请等待当前任务完成");
- }
-
- try
- {
- IsExecuting = true;
- StatusMessage = "正在执行任务...";
- Progress = 0;
-
- _logger.LogInformation("开始执行任务: {TaskName}", taskData.Name);
-
- // 转换为可执行的任务
- var executableTask = await _taskConverter.ConvertTaskDataAsync(taskData);
-
- // 使用执行管理器执行任务
- await _executionManager.ExecuteWithTrackingAsync(executableTask, ct);
-
- StatusMessage = "任务执行完成";
- Progress = 100;
- _logger.LogInformation("任务执行完成: {TaskName}", taskData.Name);
- }
- catch (OperationCanceledException)
- {
- StatusMessage = "任务执行已取消";
- _logger.LogInformation("任务执行已取消: {TaskName}", taskData.Name);
- throw;
- }
- catch (Exception ex)
- {
- StatusMessage = $"任务执行失败: {ex.Message}";
- _logger.LogError(ex, "执行任务时发生错误: {TaskName}", taskData.Name);
- throw;
- }
- finally
- {
- IsExecuting = false;
- }
- }
-
-
-
-
-
///
/// 停止当前执行的任务
///
diff --git a/BetterGenshinImpact/Service/GearTask/GearTaskStorageService.cs b/BetterGenshinImpact/Service/GearTask/GearTaskStorageService.cs
index 6f836cf8..4dc8a6c1 100644
--- a/BetterGenshinImpact/Service/GearTask/GearTaskStorageService.cs
+++ b/BetterGenshinImpact/Service/GearTask/GearTaskStorageService.cs
@@ -1,16 +1,15 @@
-using BetterGenshinImpact.Model.Gear;
-using BetterGenshinImpact.ViewModel.Pages.Component;
-using Microsoft.Extensions.Logging;
-using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
-using BetterGenshinImpact.Core.Config;
+using BetterGenshinImpact.Model.Gear;
using BetterGenshinImpact.Service.GearTask.Model;
+using BetterGenshinImpact.ViewModel.Pages.Component;
+using Microsoft.Extensions.Logging;
+using Newtonsoft.Json;
-namespace BetterGenshinImpact.Service;
+namespace BetterGenshinImpact.Service.GearTask;
///
/// 齿轮任务存储服务,负责任务定义的 JSON 持久化
@@ -89,7 +88,7 @@ public class GearTaskStorageService
}
var viewModel = ConvertToViewModel(data);
- _logger.LogInformation("任务定义 '{TaskName}' 已从 {FilePath} 加载", data.Name, filePath);
+ _logger.LogInformation("任务定义 '{TaskName}' 已加载", data.Name);
return viewModel;
}
diff --git a/BetterGenshinImpact/View/Windows/GearTask/AddTriggerDialog.xaml.cs b/BetterGenshinImpact/View/Windows/GearTask/AddTriggerDialog.xaml.cs
index 91c42670..683dfd14 100644
--- a/BetterGenshinImpact/View/Windows/GearTask/AddTriggerDialog.xaml.cs
+++ b/BetterGenshinImpact/View/Windows/GearTask/AddTriggerDialog.xaml.cs
@@ -5,6 +5,7 @@ using BetterGenshinImpact.ViewModel.Windows.GearTask;
using BetterGenshinImpact.ViewModel.Pages.Component;
using Microsoft.Extensions.DependencyInjection;
using BetterGenshinImpact.Service;
+using BetterGenshinImpact.Service.GearTask;
using Microsoft.Extensions.Logging;
namespace BetterGenshinImpact.View.Windows.GearTask;
diff --git a/BetterGenshinImpact/ViewModel/Pages/GearTaskListPageViewModel.cs b/BetterGenshinImpact/ViewModel/Pages/GearTaskListPageViewModel.cs
index 357d06d8..c273ba60 100644
--- a/BetterGenshinImpact/ViewModel/Pages/GearTaskListPageViewModel.cs
+++ b/BetterGenshinImpact/ViewModel/Pages/GearTaskListPageViewModel.cs
@@ -13,6 +13,8 @@ using System.IO;
using System.Windows;
using System.Windows.Controls;
using BetterGenshinImpact.Core.Config;
+using BetterGenshinImpact.Core.Script;
+using BetterGenshinImpact.Service.GearTask;
using BetterGenshinImpact.View.Windows;
using BetterGenshinImpact.View.Windows.GearTask;
using BetterGenshinImpact.ViewModel.Windows;
diff --git a/BetterGenshinImpact/ViewModel/Windows/GearTask/AddTriggerDialogViewModel.cs b/BetterGenshinImpact/ViewModel/Windows/GearTask/AddTriggerDialogViewModel.cs
index 6854ce98..906cd7a7 100644
--- a/BetterGenshinImpact/ViewModel/Windows/GearTask/AddTriggerDialogViewModel.cs
+++ b/BetterGenshinImpact/ViewModel/Windows/GearTask/AddTriggerDialogViewModel.cs
@@ -7,6 +7,7 @@ using BetterGenshinImpact.Helpers.Extensions;
using BetterGenshinImpact.Model;
using BetterGenshinImpact.Model.Gear.Triggers;
using BetterGenshinImpact.Service;
+using BetterGenshinImpact.Service.GearTask;
using BetterGenshinImpact.View.Windows;
using BetterGenshinImpact.ViewModel.Pages.Component;
using Microsoft.Extensions.Logging;