using CloudBuilder.Core.DatabaseAccessor.Entity; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CloudBuilder.Security.Policy { public class ServiceSettingsPolicy { public const string PhysicalFileDirectory = "FileServiceSettings:PhysicalFileDirectory"; public const string ScaleFileDirectory = "FileServiceSettings:ScaleFileDirectory"; public const string BackupFileDirectory = "FileServiceSettings:BackupFileDirectory"; public const string UploadFileDirectory = "FileServiceSettings:UploadFileDirectory"; public const string DmsFileDirectory = "FileServiceSettings:DmsFileDirectory"; public const string RequestPath = "FileServiceSettings:RequestPath"; public const string ExcelOutputDirectory = "FileServiceSettings:ExcelOutputDirectory"; public const string FfmpegPath = "Ffmpeg:Path"; public const string FfmpegPictrue = "Ffmpeg:Pictrue"; public const string FfmpegArguments = "Ffmpeg:Arguments"; // 身份证 OCR 识别服务(server-to-server 调用,地址来自 appsettings.json,避免写死) public const string IdCardOcrApiUrl = "IdCardOcr:ApiUrl"; public const string IdCardOcrSide = "IdCardOcr:Side"; public const string IdCardOcrTimeoutSeconds = "IdCardOcr:TimeoutSeconds"; public static string GetIdCardOcrApiUrl(IApplicationService service) { return service.Configuration[IdCardOcrApiUrl]; } public static string GetIdCardOcrSide(IApplicationService service) { var side = service.Configuration[IdCardOcrSide]; return string.IsNullOrWhiteSpace(side) ? "auto" : side; } public static int GetIdCardOcrTimeoutSeconds(IApplicationService service) { var raw = service.Configuration[IdCardOcrTimeoutSeconds]; return int.TryParse(raw, out var seconds) && seconds > 0 ? seconds : 30; } public static string GetPhysicalFileDirectory(IApplicationService service) { return service.Configuration[PhysicalFileDirectory]; } public static string GetUploadFileDirectory(IApplicationService service) { return service.Configuration[UploadFileDirectory]; } public static string GetBackupFileDirectory(IApplicationService service) { return service.Configuration[BackupFileDirectory]; } public static string GetScaleFileDirectory(IApplicationService service) { return service.Configuration[ScaleFileDirectory]; } public static string GetDmsFileScaleDirectory(IApplicationService service) { return Path.Combine(service.Configuration[ScaleFileDirectory], service.Configuration[DmsFileDirectory]); } public static string GetDmsFileBackupDirectory(IApplicationService service) { return Path.Combine(service.Configuration[BackupFileDirectory], service.Configuration[DmsFileDirectory]); } public static string GetDmsFileUploadDirectory(IApplicationService service) { return Path.Combine(service.Configuration[UploadFileDirectory], service.Configuration[DmsFileDirectory]); } } }