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
};
}