Files
Docker/CloudBuilder/CloudBuilder.Security/Policy/ServiceSettingsPolicy.cs
T
2026-10-17 21:08:10 +08:00

84 lines
3.3 KiB
C#

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