98 lines
2.7 KiB
C#
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; }
|
|
}
|
|
} |