using System.Text.Encodings.Web; using System.Text.Json; using System.Text.Json.Serialization; using Netch.Forms; using Netch.Models; using Netch.Models.Modes; using WindowsJobAPI; namespace Netch; public static class Global { /// /// 主窗体的静态实例 /// private static readonly Lazy LazyMainForm = new(() => new MainForm()); /// /// 用于读取和写入的配置 /// public static Setting Settings = new(); public static readonly JobObject Job = new(); /// /// 用于存储模式 /// public static readonly List Modes = new(); public static readonly string NetchDir; public static readonly string NetchExecutable; static Global() { NetchExecutable = Application.ExecutablePath; NetchDir = Application.StartupPath; } /// /// 主窗体的静态实例 /// public static MainForm MainForm => LazyMainForm.Value; public static JsonSerializerOptions NewCustomJsonSerializerOptions() => new() { WriteIndented = true, DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping }; }