添加项目文件。

This commit is contained in:
hsc
2025-12-18 17:26:20 +08:00
parent 942fef0e13
commit 69aaa5c4e5
40 changed files with 2053 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
using Newtonsoft.Json;
using System;
using System.IO;
namespace ECCS
{
public sealed class MultidimensionalTableConfig
{
private static readonly object _lock = new();
private static MultidimensionalTableConfig? _instance;
/// <summary>
/// 单例实例(首次访问自动从文件加载)
/// </summary>
public static MultidimensionalTableConfig Instance
{
get
{
lock (_lock)
{
if (_instance == null)
{
_instance = Load();
}
return _instance;
}
}
}
/// <summary>
/// exe 目录下的 config.json
/// </summary>
[JsonIgnore]
private static string ConfigFilePath =>
Path.Combine(AppContext.BaseDirectory, "config.json");
// ===== 配置项 =====
public string AppToken { get; set; }
public string DefaultTableId { get; set; }
public bool DefaultTableIsDeleted { get; set; }
/// <summary>
/// 保存到 config.json
/// </summary>
public void Save()
{
var json = JsonConvert.SerializeObject(this, Formatting.Indented);
File.WriteAllText(ConfigFilePath, json);
}
/// <summary>
/// 从 config.json 加载
/// </summary>
private static MultidimensionalTableConfig Load()
{
if (!File.Exists(ConfigFilePath))
{
return new MultidimensionalTableConfig();
}
var json = File.ReadAllText(ConfigFilePath);
return JsonConvert.DeserializeObject<MultidimensionalTableConfig>(json)
?? new MultidimensionalTableConfig();
}
}
}