using CloudGaming.AppConfigModel; using HZY.Framework.DependencyInjection; using Microsoft.Identity.Client; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CloudGaming.Code.DataBaseModel; /// /// /// public class AppConfig : CloudGaming.AppConfigModel.AppConfig, IScopedSelfDependency { public AppConfig() { } /// /// app版本 /// public string AppVersion { get; set; } /// /// 缓存版本 /// public int CacheVersion { get; set; } } /// /// /// public static class AppConfigExtend { /// /// /// public static string[] AppDataBaseTypes = { AppDataBaseType.Game.ToString(), AppDataBaseType.App.ToString(), AppDataBaseType.User.ToString(), AppDataBaseType.Ext.ToString() }; /// /// /// /// /// public static bool IsAppDataBase(string type) { return AppDataBaseTypes.Contains(type); } /// /// /// /// /// public static void CopyTo(this AppConfig _appConfig, AppConfig appConfig) { if (appConfig == null) { appConfig = new AppConfig(); } appConfig.AppVersion = _appConfig.AppVersion; appConfig.Identifier = _appConfig.Identifier; appConfig.UserConnectionString = _appConfig.UserConnectionString; appConfig.GameConnectionString = _appConfig.GameConnectionString; appConfig.ExtConnectionString = _appConfig.ExtConnectionString; appConfig.PhoneConnectionString = _appConfig.PhoneConnectionString; appConfig.RedisConnectionString = _appConfig.RedisConnectionString; appConfig.DomainName = _appConfig.DomainName; appConfig.Name = _appConfig.Name; appConfig.TenantId = _appConfig.TenantId; appConfig.Payment = _appConfig.Payment; appConfig.CacheVersion = _appConfig.CacheVersion; appConfig.AliyunConfig = _appConfig.AliyunConfig; appConfig.DefaultLanguage = _appConfig.DefaultLanguage ?? "zh"; if (appConfig.UserConfig == null) { appConfig.UserConfig = new UserConfig(); } appConfig.UserConfig = _appConfig.UserConfig; appConfig.Payment = _appConfig.Payment; appConfig.GameConfig = _appConfig.GameConfig; } /// /// /// /// /// /// public static void GetTenantIdAppConfig(this List appConfigs, Guid tenantId, AppConfig appConfig = null) { if (appConfigs == null && appConfigs.Count == 0) { return; } var _appConfig = appConfigs.FirstOrDefault(it => it.TenantId == tenantId); if (_appConfig == null) { return; } if (appConfig == null) { appConfig = new AppConfig(); } _appConfig.CopyTo(appConfig); } /// /// /// /// /// /// public static void GetHostOrDefaultAppConfig(this List appConfigs, string host, AppConfig appConfig = null) { if (appConfigs == null && appConfigs.Count == 0) { return; } var _appConfig = appConfigs.FirstOrDefault(it => it.DomainName == host); if (_appConfig == null) { _appConfig = appConfigs.FirstOrDefault(it => it.Identifier == "default" || it.Name == "default"); } if (_appConfig == null) { _appConfig = appConfigs[0]; } if (appConfig == null) { appConfig = new AppConfig(); } _appConfig.CopyTo(appConfig); } }