Files
DCIT/DCIT.Core/Models/AppConfig.cs
2026-07-13 10:04:36 +08:00

98 lines
2.7 KiB
C#

using System;
namespace DCIT.Core.Models
{
public class AppConfig
{
public string Format { get; set; } = "dcit.config";
public string Version { get; set; } = "1.0";
public DateTime SavedAt { get; set; } = DateTime.Now;
public AppSettings Settings { get; set; } = new AppSettings();
public ReplacePageState ReplacePage { get; set; } = new ReplacePageState();
public RestorePageState RestorePage { get; set; } = new RestorePageState();
}
public class AppSettings
{
public bool JsonDiffEncryption { get; set; } = true;
public bool EnableImageReplacement { get; set; } = true;
public bool UseFixedImageSeed { get; set; }
public int FixedImageSeed { get; set; } = 20260424;
public AutoExtractSettings AutoExtract { get; set; } = new AutoExtractSettings();
}
public class AutoExtractSettings
{
public bool ExtractKeywords { get; set; } = true;
public bool ExtractHighFrequencyWords { get; set; } = true;
public bool ExtractHighFrequencySentences { get; set; } = true;
public bool UseKeywordFrequency { get; set; } = true;
public bool UseKeywordTfIdf { get; set; } = true;
public bool UseKeywordTextRank { get; set; } = true;
public int MaxKeywordCount { get; set; } = 10;
public int MaxWordCount { get; set; } = 10;
public int MaxSentenceCount { get; set; } = 10;
public bool CountChineseWords { get; set; } = true;
public bool CountEnglishWords { get; set; } = true;
public bool CountChineseSentences { get; set; } = true;
public bool CountEnglishSentences { get; set; } = true;
public int MinChineseWordLength { get; set; } = 1;
public int MinEnglishWordLength { get; set; } = 1;
public string SentenceDelimiters { get; set; } = "。!?;.!?;\r\n";
public bool ExcludeEmailAddresses { get; set; }
}
public class ReplacePageState
{
public string SourceDirectory { get; set; } = string.Empty;
public string OutputDirectory { get; set; } = string.Empty;
public string RuleFilePath { get; set; } = string.Empty;
}
public class RestorePageState
{
public string ReplaceDirectory { get; set; } = string.Empty;
public string RestoreDirectory { get; set; } = string.Empty;
public string DiffInputFormat { get; set; } = ".diff";
}
public class ConfigurationLoadResult
{
public AppConfig Config { get; set; } = new AppConfig();
public bool IsMissing { get; set; }
public bool IsCorrupted { get; set; }
public string ErrorMessage { get; set; }
}
}