160 lines
4.4 KiB
C#
160 lines
4.4 KiB
C#
|
|
|
|
|
|
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;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public class AppConfig : CloudGaming.AppConfigModel.AppConfig, IScopedSelfDependency
|
|
{
|
|
|
|
public AppConfig() { }
|
|
|
|
|
|
/// <summary>
|
|
/// app版本
|
|
/// </summary>
|
|
public string AppVersion { get; set; }
|
|
|
|
/// <summary>
|
|
/// 缓存版本
|
|
/// </summary>
|
|
public int CacheVersion { get; set; }
|
|
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
|
|
public static class AppConfigExtend
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public static string[] AppDataBaseTypes = {
|
|
AppDataBaseType.Game.ToString(),
|
|
AppDataBaseType.App.ToString(),
|
|
AppDataBaseType.User.ToString(),
|
|
AppDataBaseType.Ext.ToString()
|
|
};
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="type"></param>
|
|
/// <returns></returns>
|
|
public static bool IsAppDataBase(string type)
|
|
{
|
|
return AppDataBaseTypes.Contains(type);
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="_appConfig"></param>
|
|
/// <param name="appConfig"></param>
|
|
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;
|
|
appConfig.UserAgreement = _appConfig.UserAgreement;
|
|
appConfig.PrivacyAgreement = _appConfig.PrivacyAgreement;
|
|
appConfig.LanguageRequestUrl = _appConfig.LanguageRequestUrl;
|
|
appConfig.CacheRequestUrls = _appConfig.CacheRequestUrls;
|
|
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="appConfigs"></param>
|
|
/// <param name="host"></param>
|
|
/// <param name="appConfig"></param>
|
|
public static void GetTenantIdAppConfig(this List<AppConfig> 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);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="appConfigs"></param>
|
|
/// <param name="host"></param>
|
|
/// <param name="appConfig"></param>
|
|
public static void GetHostOrDefaultAppConfig(this List<AppConfig> 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);
|
|
}
|
|
}
|
|
|
|
|
|
|