2025-07-28 15:11:33 +08:00

75 lines
2.7 KiB
C#

namespace YD_AllHeartRates.Api.Utilities
{
public static class AppSettings
{
public static LoggingConfig Logging { get; set; }
public static VirtualPathConfig VirtualPath { get; set; }
public static SecretConfig Secret { get; set; }
public static string ExpMinutes { get; set; }
public static string FlushTime { get; set; }
public static string DbConnectionString { get; set; }
public static string SmartSportsString { get; set; }
public static string RedisConnectionString { get; set; }
public static string[] CorsUrls { get; set; }
public static MqttConfig Mqtt { get; set; }
public static string StudentListCacheKey = $"student_list";
public static string DeviceListCacheKey = $"device_list";
public static string SchoolCode { get; set; }
public static void Init(IConfiguration configuration)
{
Logging = configuration.GetSection("Logging").Get<LoggingConfig>();
VirtualPath = configuration.GetSection("VirtualPath").Get<VirtualPathConfig>();
Secret = configuration.GetSection("Secret").Get<SecretConfig>();
ExpMinutes = configuration["ExpMinutes"];
FlushTime = configuration["FlushTime"];
DbConnectionString = configuration["DbConnectionString"];
SmartSportsString = configuration["SmartSportsString"];
SchoolCode = configuration["SchoolCode"];
RedisConnectionString = configuration["RedisConnectionString"];
CorsUrls = configuration["CorsUrls"].Split(',');
Mqtt = configuration.GetSection("Mqtt").Get<MqttConfig>();
}
public class LoggingConfig
{
public LogLevelConfig LogLevel { get; set; }
}
public class LogLevelConfig
{
public string Default { get; set; }
public string Microsoft { get; set; }
public string MicrosoftHostingLifetime { get; set; }
}
public class VirtualPathConfig
{
public string StaticFile { get; set; }
public string FolderName { get; set; }
}
public class SecretConfig
{
public string JWT { get; set; }
public string Audience { get; set; }
public string Issuer { get; set; }
public string User { get; set; }
public string DB { get; set; }
public string Redis { get; set; }
}
public class MqttConfig
{
public string Host { get; set; }
public int Port { get; set; }
public string Topic { get; set; }
public int BatchSize { get; set; }
}
}
}