namespace FoodLabeling.Th.Application.MultiTenancy; /// /// 泰额 H5 同一登录框:Default / 空租户走主库平台登录;具体公司 Guid 走租户业务库。 /// public static class ThWebPlatformLoginHelper { /// 主库 Default 租户 Id(业务库可能指向 US,平台登录不得落入该库) public static readonly Guid DefaultTenantId = Guid.Parse("11111111-1111-1111-1111-111111111111"); /// Default 租户显示名 public const string DefaultTenantName = "Default"; /// 平台登录成功时 th-web-auth 返回的 tenantName(无 TenantId Claim) public const string PlatformTenantDisplayName = "Platform"; /// /// 是否应优先尝试主库平台登录(与前端选 Default / 空 tenantId 一致) /// public static bool ShouldTryPlatformLogin(Guid? tenantId, string? tenantName) { if (!tenantId.HasValue || tenantId.Value == Guid.Empty) { return true; } if (tenantId.Value == DefaultTenantId) { return true; } if (!string.IsNullOrWhiteSpace(tenantName) && string.Equals(tenantName.Trim(), DefaultTenantName, StringComparison.OrdinalIgnoreCase)) { return true; } return false; } /// /// 平台账号须为邮箱(与 account/login 一致) /// public static bool IsPlausiblePlatformEmail(string userName) { var email = userName.Trim(); return email.Contains('@') && !email.StartsWith('@') && !email.EndsWith('@'); } }