WorkCamera/client/WorkCameraExport/Models/AppConfig.cs
2026-01-06 00:42:25 +08:00

62 lines
1.8 KiB
C#

using WorkCameraExport.Services;
namespace WorkCameraExport.Models
{
/// <summary>
/// 应用配置 - 用户可配置项
/// </summary>
public class AppConfig
{
/// <summary>
/// 默认保存路径
/// </summary>
public string DefaultSavePath { get; set; } = "";
/// <summary>
/// 图片下载并发数 (1-10)
/// </summary>
public int ImageDownloadConcurrency { get; set; } = 5;
/// <summary>
/// 图片压缩质量 (30-100)
/// </summary>
public int ImageCompressQuality { get; set; } = 50;
/// <summary>
/// 自动清理临时文件
/// </summary>
public bool AutoCleanTempFiles { get; set; } = true;
/// <summary>
/// 验证并修正配置值
/// </summary>
public void Validate()
{
if (ImageDownloadConcurrency < 1) ImageDownloadConcurrency = 1;
if (ImageDownloadConcurrency > 10) ImageDownloadConcurrency = 10;
if (ImageCompressQuality < 30) ImageCompressQuality = 30;
if (ImageCompressQuality > 100) ImageCompressQuality = 100;
if (string.IsNullOrWhiteSpace(DefaultSavePath))
{
DefaultSavePath = PathService.ExportDirectory;
}
}
/// <summary>
/// 创建默认配置
/// </summary>
public static AppConfig CreateDefault()
{
return new AppConfig
{
DefaultSavePath = PathService.ExportDirectory,
ImageDownloadConcurrency = 5,
ImageCompressQuality = 50,
AutoCleanTempFiles = true
};
}
}
}