From 2a669bdfe77c460e45c155cbb81d41fe425da161 Mon Sep 17 00:00:00 2001 From: home-PC Date: Wed, 20 May 2026 00:12:17 +0800 Subject: [PATCH] =?UTF-8?q?feat(app):=20=E5=88=9D=E5=A7=8B=E5=8C=96=20Omni?= =?UTF-8?q?Scheduler=20WPF=20=E8=B0=83=E5=BA=A6=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 基于 PRD 搭建 .NET 8 WPF 桌面应用,包含主控制台、任务编辑、全局设置、系统托盘和应用图标集成。 实现本地任务模型、触发器规则、JSON 状态持久化、OmniNotify HTTP 推送、执行日志记录、动态变量替换以及基础 Cron 预览能力。 补充 .gitignore,排除构建产物和本地 IDE 文件。 BREAKING CHANGE: 首次提交,建立项目初始结构 --- .gitignore | 7 + OmniScheduler/App.xaml | 9 + OmniScheduler/App.xaml.cs | 5 + OmniScheduler/AssemblyInfo.cs | 10 + OmniScheduler/MainWindow.xaml | 103 ++++++ OmniScheduler/MainWindow.xaml.cs | 225 +++++++++++++ OmniScheduler/Models.cs | 281 ++++++++++++++++ OmniScheduler/OmniScheduler.csproj | 17 + OmniScheduler/Services.cs | 449 +++++++++++++++++++++++++ OmniScheduler/SettingsWindow.xaml | 43 +++ OmniScheduler/SettingsWindow.xaml.cs | 56 +++ OmniScheduler/TaskEditorWindow.xaml | 159 +++++++++ OmniScheduler/TaskEditorWindow.xaml.cs | 246 ++++++++++++++ PRD.md | 123 +++++++ app.ico | Bin 0 -> 370070 bytes 15 files changed, 1733 insertions(+) create mode 100644 .gitignore create mode 100644 OmniScheduler/App.xaml create mode 100644 OmniScheduler/App.xaml.cs create mode 100644 OmniScheduler/AssemblyInfo.cs create mode 100644 OmniScheduler/MainWindow.xaml create mode 100644 OmniScheduler/MainWindow.xaml.cs create mode 100644 OmniScheduler/Models.cs create mode 100644 OmniScheduler/OmniScheduler.csproj create mode 100644 OmniScheduler/Services.cs create mode 100644 OmniScheduler/SettingsWindow.xaml create mode 100644 OmniScheduler/SettingsWindow.xaml.cs create mode 100644 OmniScheduler/TaskEditorWindow.xaml create mode 100644 OmniScheduler/TaskEditorWindow.xaml.cs create mode 100644 PRD.md create mode 100644 app.ico diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b883a13 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +bin/ +obj/ +**/bin/ +**/obj/ +.vs/ +*.user +*.suo diff --git a/OmniScheduler/App.xaml b/OmniScheduler/App.xaml new file mode 100644 index 0000000..969bbd6 --- /dev/null +++ b/OmniScheduler/App.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/OmniScheduler/App.xaml.cs b/OmniScheduler/App.xaml.cs new file mode 100644 index 0000000..46becf4 --- /dev/null +++ b/OmniScheduler/App.xaml.cs @@ -0,0 +1,5 @@ +namespace OmniScheduler; + +public partial class App : System.Windows.Application +{ +} diff --git a/OmniScheduler/AssemblyInfo.cs b/OmniScheduler/AssemblyInfo.cs new file mode 100644 index 0000000..cc29e7f --- /dev/null +++ b/OmniScheduler/AssemblyInfo.cs @@ -0,0 +1,10 @@ +using System.Windows; + +[assembly:ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] diff --git a/OmniScheduler/MainWindow.xaml b/OmniScheduler/MainWindow.xaml new file mode 100644 index 0000000..e9883b3 --- /dev/null +++ b/OmniScheduler/MainWindow.xaml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + +