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