diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Intrinsic/Immutable/IntrinsicImmutables.cs b/src/Snap.Hutao/Snap.Hutao/Model/Intrinsic/Immutable/IntrinsicImmutables.cs index 5a55a5bb..47d9f869 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Intrinsic/Immutable/IntrinsicImmutables.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Intrinsic/Immutable/IntrinsicImmutables.cs @@ -11,12 +11,35 @@ namespace Snap.Hutao.Model.Intrinsic.Immutable; [HighQuality] internal static class IntrinsicImmutables { - private static readonly ImmutableHashSet associationTypes = Enum.GetValues().Select(e => e.GetLocalizedDescriptionOrDefault()).OfType().ToImmutableHashSet(); - private static readonly ImmutableHashSet weaponTypes = Enum.GetValues().Select(e => e.GetLocalizedDescriptionOrDefault()).OfType().ToImmutableHashSet(); - private static readonly ImmutableHashSet itemQualities = Enum.GetValues().Select(e => e.GetLocalizedDescriptionOrDefault()).OfType().ToImmutableHashSet(); - private static readonly ImmutableHashSet bodyTypes = Enum.GetValues().Select(e => e.GetLocalizedDescriptionOrDefault()).OfType().ToImmutableHashSet(); - private static readonly ImmutableHashSet fightProperties = Enum.GetValues().Select(e => e.GetLocalizedDescriptionOrDefault()).OfType().ToImmutableHashSet(); - private static readonly ImmutableHashSet elementNames = new HashSet(7) + /// + /// 所属地区 + /// + public static readonly ImmutableHashSet AssociationTypes = Enum.GetValues().Select(e => e.GetLocalizedDescriptionOrDefault()).OfType().ToImmutableHashSet(); + + /// + /// 武器类型 + /// + public static readonly ImmutableHashSet WeaponTypes = Enum.GetValues().Select(e => e.GetLocalizedDescriptionOrDefault()).OfType().ToImmutableHashSet(); + + /// + /// 物品类型 + /// + public static readonly ImmutableHashSet ItemQualities = Enum.GetValues().Select(e => e.GetLocalizedDescriptionOrDefault()).OfType().ToImmutableHashSet(); + + /// + /// 身材类型 + /// + public static readonly ImmutableHashSet BodyTypes = Enum.GetValues().Select(e => e.GetLocalizedDescriptionOrDefault()).OfType().ToImmutableHashSet(); + + /// + /// 战斗属性 + /// + public static readonly ImmutableHashSet FightProperties = Enum.GetValues().Select(e => e.GetLocalizedDescriptionOrDefault()).OfType().ToImmutableHashSet(); + + /// + /// 元素名称 + /// + public static readonly ImmutableHashSet ElementNames = new HashSet(7) { SH.ModelIntrinsicElementNameFire, SH.ModelIntrinsicElementNameWater, @@ -26,34 +49,4 @@ internal static class IntrinsicImmutables SH.ModelIntrinsicElementNameIce, SH.ModelIntrinsicElementNameRock, }.ToImmutableHashSet(); - - /// - /// 所属地区 - /// - public static ImmutableHashSet AssociationTypes { get => associationTypes; } - - /// - /// 武器类型 - /// - public static ImmutableHashSet WeaponTypes { get => weaponTypes; } - - /// - /// 物品类型 - /// - public static ImmutableHashSet ItemQualities { get => itemQualities; } - - /// - /// 身材类型 - /// - public static ImmutableHashSet BodyTypes { get => bodyTypes; } - - /// - /// 战斗属性 - /// - public static ImmutableHashSet FightProperties { get => fightProperties; } - - /// - /// 元素名称 - /// - public static ImmutableHashSet ElementNames { get => elementNames; } } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs index ca116036..fbee516d 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs @@ -4731,6 +4731,15 @@ namespace Snap.Hutao.Resource.Localization { } } + /// + /// 查找类似 Hoyolab 的本地化字符串。 + /// + internal static string ViewUserCookieOperation2 { + get { + return ResourceManager.GetString("ViewUserCookieOperation2", resourceCulture); + } + } + /// /// 查找类似 网页登录 的本地化字符串。 /// diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx index c6b8f45f..992f76b0 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx @@ -1818,4 +1818,7 @@ 请输入你的 Hoyolab Uid + + Hoyolab + \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoService.cs b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoService.cs index 04235ba2..5306daeb 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoService.cs @@ -31,20 +31,16 @@ internal sealed class AvatarInfoService : IAvatarInfoService /// 构造一个新的角色信息服务 /// /// 数据库上下文 - /// 元数据服务 - /// 简述工厂 - /// 日志器 + /// 服务提供器 public AvatarInfoService( AppDbContext appDbContext, - IMetadataService metadataService, - ISummaryFactory summaryFactory, - ILogger logger) + IServiceProvider serviceProvider) { - this.metadataService = metadataService; - this.summaryFactory = summaryFactory; - this.logger = logger; + metadataService = serviceProvider.GetRequiredService(); + summaryFactory = serviceProvider.GetRequiredService(); + logger = serviceProvider.GetRequiredService>(); - avatarInfoDbOperation = new(appDbContext); + avatarInfoDbOperation = new(appDbContext, serviceProvider); } /// diff --git a/src/Snap.Hutao/Snap.Hutao/View/UserView.xaml b/src/Snap.Hutao/Snap.Hutao/View/UserView.xaml index dabdc181..8ed284fd 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/UserView.xaml +++ b/src/Snap.Hutao/Snap.Hutao/View/UserView.xaml @@ -116,10 +116,7 @@ SelectionMode="Single"> - + @@ -204,44 +201,65 @@ Style="{StaticResource SubtitleTextBlockStyle}" Text="{shcm:ResourceString Name=ViewUserDefaultDescription}" Visibility="{Binding Users.Count, Converter={StaticResource Int32ToVisibilityRevertConverter}}"/> - - + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + diff --git a/src/Snap.Hutao/Snap.Hutao/Web/ApiOsEndpoints.cs b/src/Snap.Hutao/Snap.Hutao/Web/ApiOsEndpoints.cs index 8a1e38ce..88fd90c6 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/ApiOsEndpoints.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/ApiOsEndpoints.cs @@ -185,17 +185,17 @@ internal static class ApiOsEndpoints /// /// 计算器家具计算 /// - public const string CalculateOsFurnitureCompute = $"{SgPublicApi}/event/calculateos/furniture/list"; + public const string CalculateFurnitureCompute = $"{SgPublicApi}/event/calculateos/furniture/list"; /// /// 计算器角色列表 size 20 /// - public const string CalculateOsAvatarList = $"{SgPublicApi}/event/calculateos/avatar/list"; + public const string CalculateAvatarList = $"{SgPublicApi}/event/calculateos/avatar/list"; /// /// 计算器武器列表 size 20 /// - public const string CalculateOsWeaponList = $"{SgPublicApi}/event/calculateos/weapon/list"; + public const string CalculateWeaponList = $"{SgPublicApi}/event/calculateos/weapon/list"; /// /// 计算器结果 diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Passport/STokenWrapper.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Passport/STokenWrapper.cs index 1e3c647d..04d0d8fc 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Passport/STokenWrapper.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Passport/STokenWrapper.cs @@ -1,10 +1,18 @@ -namespace Snap.Hutao.Web.Hoyolab.Passport; +// Copyright (c) DGP Studio. All rights reserved. +// Licensed under the MIT license. + +namespace Snap.Hutao.Web.Hoyolab.Passport; /// /// SToken 包装器 /// internal sealed class STokenWrapper { + /// + /// 构造一个新的SToken 包装器 + /// + /// stoken + /// uid public STokenWrapper(string stoken, string uid) { SToken = stoken;