using System.Text.Json; using WorkCameraExport.Services; namespace WorkCameraExport.Models { /// /// 应用程序设置 /// public class AppSettings { /// /// 服务器地址 /// public string ServerUrl { get; set; } = ""; /// /// 用户名 /// public string Username { get; set; } = ""; /// /// 记住登录状态 /// public bool RememberMe { get; set; } /// /// 保存的Token /// public string SavedToken { get; set; } = ""; /// /// Token过期时间 /// public DateTime? TokenExpireTime { get; set; } /// /// 默认导出路径 /// public string DefaultExportPath { get; set; } = ""; /// /// 加载设置 /// public static AppSettings Load() { try { var path = PathService.SettingsFile; if (File.Exists(path)) { var json = File.ReadAllText(path); return JsonSerializer.Deserialize(json) ?? new AppSettings(); } } catch { // 忽略加载错误,返回默认设置 } return new AppSettings(); } /// /// 保存设置 /// public void Save() { try { var json = JsonSerializer.Serialize(this, new JsonSerializerOptions { WriteIndented = true }); File.WriteAllText(PathService.SettingsFile, json); } catch { // 忽略保存错误 } } /// /// 清除登录信息 /// public void ClearLoginInfo() { SavedToken = ""; TokenExpireTime = null; Save(); } } }