diff --git a/src/Snap.Hutao/Snap.Hutao.SourceGeneration/DedendencyInjection/HttpClientGenerator.cs b/src/Snap.Hutao/Snap.Hutao.SourceGeneration/DedendencyInjection/HttpClientGenerator.cs index 5c96c807..4c104834 100644 --- a/src/Snap.Hutao/Snap.Hutao.SourceGeneration/DedendencyInjection/HttpClientGenerator.cs +++ b/src/Snap.Hutao/Snap.Hutao.SourceGeneration/DedendencyInjection/HttpClientGenerator.cs @@ -97,13 +97,13 @@ internal static partial class IocHttpClientConfiguration switch (injectAsName) { case DefaultName: - lineBuilder.Append(@"DefaultConfiguration)"); + lineBuilder.Append("DefaultConfiguration)"); break; case XRpcName: - lineBuilder.Append(@"XRpcConfiguration)"); + lineBuilder.Append("XRpcConfiguration)"); break; case XRpc2Name: - lineBuilder.Append(@"XRpc2Configuration)"); + lineBuilder.Append("XRpc2Configuration)"); break; default: throw new InvalidOperationException($"非法的HttpClientConfigration值: [{injectAsName}]"); diff --git a/src/Snap.Hutao/Snap.Hutao.sln b/src/Snap.Hutao/Snap.Hutao.sln index 08ffc52c..4edf3482 100644 --- a/src/Snap.Hutao/Snap.Hutao.sln +++ b/src/Snap.Hutao/Snap.Hutao.sln @@ -12,8 +12,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snap.Hutao.SourceGeneration", "Snap.Hutao.SourceGeneration\Snap.Hutao.SourceGeneration.csproj", "{8B96721E-5604-47D2-9B72-06FEBAD0CE00}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Snap.Hutao.Installer", "Snap.Hutao.Installer\Snap.Hutao.Installer.csproj", "{CEC01691-F65E-4874-9AE2-F571369A7631}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -66,22 +64,6 @@ Global {8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Release|x64.Build.0 = Release|x64 {8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Release|x86.ActiveCfg = Release|Any CPU {8B96721E-5604-47D2-9B72-06FEBAD0CE00}.Release|x86.Build.0 = Release|Any CPU - {CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|Any CPU.ActiveCfg = Debug|x64 - {CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|Any CPU.Build.0 = Debug|x64 - {CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|arm64.ActiveCfg = Debug|Any CPU - {CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|arm64.Build.0 = Debug|Any CPU - {CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|x64.ActiveCfg = Debug|x64 - {CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|x64.Build.0 = Debug|x64 - {CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|x86.ActiveCfg = Debug|Any CPU - {CEC01691-F65E-4874-9AE2-F571369A7631}.Debug|x86.Build.0 = Debug|Any CPU - {CEC01691-F65E-4874-9AE2-F571369A7631}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CEC01691-F65E-4874-9AE2-F571369A7631}.Release|Any CPU.Build.0 = Release|Any CPU - {CEC01691-F65E-4874-9AE2-F571369A7631}.Release|arm64.ActiveCfg = Release|Any CPU - {CEC01691-F65E-4874-9AE2-F571369A7631}.Release|arm64.Build.0 = Release|Any CPU - {CEC01691-F65E-4874-9AE2-F571369A7631}.Release|x64.ActiveCfg = Release|x64 - {CEC01691-F65E-4874-9AE2-F571369A7631}.Release|x64.Build.0 = Release|x64 - {CEC01691-F65E-4874-9AE2-F571369A7631}.Release|x86.ActiveCfg = Release|Any CPU - {CEC01691-F65E-4874-9AE2-F571369A7631}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Snap.Hutao/Snap.Hutao/Control/Animation/ImageZoomInAnimation.cs b/src/Snap.Hutao/Snap.Hutao/Control/Animation/ImageZoomInAnimation.cs index 06df2ce0..56683745 100644 --- a/src/Snap.Hutao/Snap.Hutao/Control/Animation/ImageZoomInAnimation.cs +++ b/src/Snap.Hutao/Snap.Hutao/Control/Animation/ImageZoomInAnimation.cs @@ -4,7 +4,6 @@ using CommunityToolkit.WinUI.UI; using CommunityToolkit.WinUI.UI.Animations; using Microsoft.UI.Composition; -using System.Diagnostics.Contracts; using System.Numerics; namespace Snap.Hutao.Control.Animation; diff --git a/src/Snap.Hutao/Snap.Hutao/Control/Image/CachedImage.cs b/src/Snap.Hutao/Snap.Hutao/Control/Image/CachedImage.cs index 86ccb7a9..44f581d1 100644 --- a/src/Snap.Hutao/Snap.Hutao/Control/Image/CachedImage.cs +++ b/src/Snap.Hutao/Snap.Hutao/Control/Image/CachedImage.cs @@ -5,7 +5,6 @@ using CommunityToolkit.WinUI.UI.Controls; using Microsoft.UI.Xaml.Media; using Microsoft.UI.Xaml.Media.Imaging; using Snap.Hutao.Core.Caching; -using Snap.Hutao.Extension; using System.Runtime.InteropServices; namespace Snap.Hutao.Control.Image; diff --git a/src/Snap.Hutao/Snap.Hutao/Control/Image/CompositionImage.cs b/src/Snap.Hutao/Snap.Hutao/Control/Image/CompositionImage.cs index 05c57578..3d3ad3a5 100644 --- a/src/Snap.Hutao/Snap.Hutao/Control/Image/CompositionImage.cs +++ b/src/Snap.Hutao/Snap.Hutao/Control/Image/CompositionImage.cs @@ -8,7 +8,6 @@ using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Hosting; using Microsoft.UI.Xaml.Media; using Snap.Hutao.Core.Caching; -using Snap.Hutao.Extension; using Snap.Hutao.Service.Abstraction; using System.IO; using System.Net.Http; diff --git a/src/Snap.Hutao/Snap.Hutao/Control/Image/Gradient.cs b/src/Snap.Hutao/Snap.Hutao/Control/Image/Gradient.cs index 9196d9d0..de876a1f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Control/Image/Gradient.cs +++ b/src/Snap.Hutao/Snap.Hutao/Control/Image/Gradient.cs @@ -6,9 +6,6 @@ using Microsoft.UI.Composition; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Media; using Snap.Hutao.Win32; -using System.IO; -using Windows.Graphics.Imaging; -using Windows.Storage.Streams; namespace Snap.Hutao.Control.Image; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/CoreEnvironment.cs b/src/Snap.Hutao/Snap.Hutao/Core/CoreEnvironment.cs index 48a60bc9..bfc9ad0a 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/CoreEnvironment.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/CoreEnvironment.cs @@ -4,7 +4,6 @@ using Microsoft.Win32; using Snap.Hutao.Core.Json; using Snap.Hutao.Core.Setting; -using Snap.Hutao.Extension; using Snap.Hutao.Web.Hoyolab.DynamicSecret; using System.Collections.Immutable; using System.IO; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/Annotation/HttpClient/HttpClientAttribute.cs b/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/Annotation/HttpClient/HttpClientAttribute.cs index b93b5506..f3f77c84 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/Annotation/HttpClient/HttpClientAttribute.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/Annotation/HttpClient/HttpClientAttribute.cs @@ -7,8 +7,9 @@ namespace Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient; /// 指示被标注的类型可注入 HttpClient /// 由源生成器生成注入代码 /// +[HighQuality] [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] -public class HttpClientAttribute : Attribute +internal sealed class HttpClientAttribute : Attribute { /// /// 构造一个新的特性 diff --git a/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/Annotation/HttpClient/HttpClientConfigration.cs b/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/Annotation/HttpClient/HttpClientConfigration.cs index 7856435d..4d12e220 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/Annotation/HttpClient/HttpClientConfigration.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/Annotation/HttpClient/HttpClientConfigration.cs @@ -6,7 +6,8 @@ namespace Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient; /// /// Http客户端配置 /// -public enum HttpClientConfigration +[HighQuality] +internal enum HttpClientConfigration { /// /// 默认配置 diff --git a/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/Annotation/HttpClient/PrimaryHttpMessageHandlerAttribute.cs b/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/Annotation/HttpClient/PrimaryHttpMessageHandlerAttribute.cs index b53dc184..7d4ca949 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/Annotation/HttpClient/PrimaryHttpMessageHandlerAttribute.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/Annotation/HttpClient/PrimaryHttpMessageHandlerAttribute.cs @@ -6,9 +6,15 @@ namespace Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient; /// /// 配置首选Http消息处理器特性 /// +[HighQuality] [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] -public class PrimaryHttpMessageHandlerAttribute : Attribute +internal sealed class PrimaryHttpMessageHandlerAttribute : Attribute { /// public int MaxConnectionsPerServer { get; set; } + + /// + /// + /// + public bool UseCookies { get; set; } } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Json/Converter/SeparatorCommaInt32EnumerableConverter.cs b/src/Snap.Hutao/Snap.Hutao/Core/Json/Converter/SeparatorCommaInt32EnumerableConverter.cs index 248ee056..bc94b5f6 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Json/Converter/SeparatorCommaInt32EnumerableConverter.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Json/Converter/SeparatorCommaInt32EnumerableConverter.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Microsoft.Extensions.Primitives; -using Snap.Hutao.Extension; namespace Snap.Hutao.Core.Json.Converter; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/Activation.cs b/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/Activation.cs index 552aaf92..1ca8eed0 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/Activation.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/Activation.cs @@ -38,12 +38,12 @@ internal static class Activation /// /// 启动游戏启动参数 /// - public const string LaunchGame = "LaunchGame"; + public const string LaunchGame = nameof(LaunchGame); /// /// 从剪贴板导入成就 /// - public const string ImportUIAFFromClipBoard = "ImportUIAFFromClipBoard"; + public const string ImportUIAFFromClipBoard = nameof(ImportUIAFFromClipBoard); private const string CategoryAchievement = "achievement"; private const string CategoryDailyNote = "dailynote"; @@ -168,7 +168,8 @@ internal static class Activation private static async Task WaitMainWindowAsync() { await ThreadHelper.SwitchToMainThreadAsync(); - _ = Ioc.Default.GetRequiredService(); + Ioc.Default.GetRequiredService().Activate(); + await Ioc.Default.GetRequiredService().WaitInitializationAsync().ConfigureAwait(false); Ioc.Default diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/ExtendedWindow.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/ExtendedWindow.cs index c998b871..dad27a0f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/ExtendedWindow.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/ExtendedWindow.cs @@ -6,7 +6,6 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.UI; using Microsoft.UI.Windowing; using Microsoft.UI.Xaml; -using Snap.Hutao.Extension; using Snap.Hutao.Message; using Snap.Hutao.Win32; using System.IO; diff --git a/src/Snap.Hutao/Snap.Hutao/Extension/StringExtension.cs b/src/Snap.Hutao/Snap.Hutao/Extension/StringExtension.cs index 42b47c45..b1b29cbd 100644 --- a/src/Snap.Hutao/Snap.Hutao/Extension/StringExtension.cs +++ b/src/Snap.Hutao/Snap.Hutao/Extension/StringExtension.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using System.Runtime.CompilerServices; -using System.Text; namespace Snap.Hutao.Extension; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Cultivation/CultivateItem.cs b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Cultivation/CultivateItem.cs index b2857084..e914fa4f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Cultivation/CultivateItem.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Cultivation/CultivateItem.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using CommunityToolkit.Mvvm.ComponentModel; -using CommunityToolkit.Mvvm.Input; using Snap.Hutao.Model.Metadata; namespace Snap.Hutao.Model.Binding.Cultivation; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/Wish.cs b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/Wish.cs index d38c423f..65b205b4 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/Wish.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Gacha/Wish.cs @@ -14,6 +14,11 @@ internal abstract class Wish /// public string Name { get; set; } = default!; + /// + /// 总数 + /// + public int TotalCount { get; set; } + /// /// 统计开始时间 /// @@ -47,9 +52,4 @@ internal abstract class Wish /// 统计结束时间 /// internal DateTimeOffset To { get; set; } - - /// - /// 总数 - /// - internal int TotalCount { get; set; } } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Hutao/ComplexReliquarySet.cs b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Hutao/ComplexReliquarySet.cs index b77189f2..d80e261b 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Binding/Hutao/ComplexReliquarySet.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Binding/Hutao/ComplexReliquarySet.cs @@ -4,8 +4,6 @@ using Snap.Hutao.Model.Metadata.Converter; using Snap.Hutao.Model.Primitive; using Snap.Hutao.Web.Hutao.Model; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; using System.Text; namespace Snap.Hutao.Model.Binding.Hutao; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Binding/User/User.cs b/src/Snap.Hutao/Snap.Hutao/Model/Binding/User/User.cs index 832dbe76..e7427697 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Binding/User/User.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Binding/User/User.cs @@ -4,7 +4,6 @@ using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Messaging; using Microsoft.Extensions.DependencyInjection; -using Snap.Hutao.Extension; using Snap.Hutao.Web.Hoyolab; using Snap.Hutao.Web.Hoyolab.Bbs.User; using Snap.Hutao.Web.Hoyolab.Passport; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Entity/CultivateEntry.cs b/src/Snap.Hutao/Snap.Hutao/Model/Entity/CultivateEntry.cs index d6234080..8a849f03 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Entity/CultivateEntry.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Entity/CultivateEntry.cs @@ -1,9 +1,9 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Snap.Hutao.Model.Entity.Primitive; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using Snap.Hutao.Model.Entity.Primitive; namespace Snap.Hutao.Model.Entity; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Entity/GachaItem.cs b/src/Snap.Hutao/Snap.Hutao/Model/Entity/GachaItem.cs index 6f4b703f..9b96a0c7 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Entity/GachaItem.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Entity/GachaItem.cs @@ -1,7 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using Snap.Hutao.Extension; using Snap.Hutao.Model.InterChange.GachaLog; using Snap.Hutao.Model.Metadata.Abstraction; using Snap.Hutao.Web.Hoyolab.Hk4e.Event.GachaInfo; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Entity/GameAccount.cs b/src/Snap.Hutao/Snap.Hutao/Model/Entity/GameAccount.cs index a5be0835..5907e39f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Entity/GameAccount.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Entity/GameAccount.cs @@ -1,9 +1,9 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Snap.Hutao.Model.Entity.Primitive; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using Snap.Hutao.Model.Entity.Primitive; namespace Snap.Hutao.Model.Entity; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/InterChange/Achievement/UIAFInfo.cs b/src/Snap.Hutao/Snap.Hutao/Model/InterChange/Achievement/UIAFInfo.cs index 87a304d0..b331377c 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/InterChange/Achievement/UIAFInfo.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/InterChange/Achievement/UIAFInfo.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Snap.Hutao.Core; -using Snap.Hutao.Extension; namespace Snap.Hutao.Model.InterChange.Achievement; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/InterChange/GachaLog/UIGFInfo.cs b/src/Snap.Hutao/Snap.Hutao/Model/InterChange/GachaLog/UIGFInfo.cs index c0bd9e1f..700cebe6 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/InterChange/GachaLog/UIGFInfo.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/InterChange/GachaLog/UIGFInfo.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Snap.Hutao.Core; -using Snap.Hutao.Extension; namespace Snap.Hutao.Model.InterChange.GachaLog; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/InterChange/Inventory/UIIFInfo.cs b/src/Snap.Hutao/Snap.Hutao/Model/InterChange/Inventory/UIIFInfo.cs index 8f09ae28..c541e5b3 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/InterChange/Inventory/UIIFInfo.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/InterChange/Inventory/UIIFInfo.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Snap.Hutao.Core; -using Snap.Hutao.Extension; namespace Snap.Hutao.Model.InterChange.Inventory; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/AchievementIconConverter.cs b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/AchievementIconConverter.cs index c15a95cc..3cb8b8c5 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/AchievementIconConverter.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/AchievementIconConverter.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Snap.Hutao.Control; -using Snap.Hutao.Extension; namespace Snap.Hutao.Model.Metadata.Converter; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/AvatarCardConverter.cs b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/AvatarCardConverter.cs index 66b4a637..8d6ddb00 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/AvatarCardConverter.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/AvatarCardConverter.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Snap.Hutao.Control; -using Snap.Hutao.Extension; namespace Snap.Hutao.Model.Metadata.Converter; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/ElementNameIconConverter.cs b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/ElementNameIconConverter.cs index 517e17b8..30e06292 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/ElementNameIconConverter.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/ElementNameIconConverter.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Snap.Hutao.Control; -using Snap.Hutao.Control.Media; using Snap.Hutao.Model.Intrinsic; namespace Snap.Hutao.Model.Metadata.Converter; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/PropertyDescriptor.cs b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/PropertyDescriptor.cs index 4f67fadc..84edfabc 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/PropertyDescriptor.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/PropertyDescriptor.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Snap.Hutao.Control; -using Snap.Hutao.Extension; using Snap.Hutao.Model.Binding.AvatarProperty; using Snap.Hutao.Model.Intrinsic; using Snap.Hutao.Model.Metadata.Annotation; diff --git a/src/Snap.Hutao/Snap.Hutao/Program.cs b/src/Snap.Hutao/Snap.Hutao/Program.cs index 73a80c78..42a7143e 100644 --- a/src/Snap.Hutao/Snap.Hutao/Program.cs +++ b/src/Snap.Hutao/Snap.Hutao/Program.cs @@ -12,6 +12,7 @@ namespace Snap.Hutao; /// /// Program class /// +[SuppressMessage("", "SH001")] public static partial class Program { [LibraryImport("Microsoft.ui.xaml.dll")] 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 154c4749..0606f855 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs @@ -1284,6 +1284,15 @@ namespace Snap.Hutao.Resource.Localization { } } + /// + /// 查找类似 找不到 PowerShell 的安装目录 的本地化字符串。 + /// + internal static string ServiceGameRegisteryInteropPowershellNotFound { + get { + return ResourceManager.GetString("ServiceGameRegisteryInteropPowershellNotFound", resourceCulture); + } + } + /// /// 查找类似 找不到游戏配置文件 {0} 的本地化字符串。 /// diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx index cf66ff48..0e1a4b74 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx @@ -525,6 +525,9 @@ 未开启长路径功能,无法设置注册表键值 + + 找不到 PowerShell 的安装目录 + 找不到游戏配置文件 {0} diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Achievement/AchievementService.cs b/src/Snap.Hutao/Snap.Hutao/Service/Achievement/AchievementService.cs index 30cac24e..e61cc3e6 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Achievement/AchievementService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Achievement/AchievementService.cs @@ -6,7 +6,6 @@ using Microsoft.EntityFrameworkCore; using Snap.Hutao.Core.Database; using Snap.Hutao.Core.Diagnostics; using Snap.Hutao.Core.ExceptionService; -using Snap.Hutao.Extension; using Snap.Hutao.Model.Entity.Database; using Snap.Hutao.Model.InterChange.Achievement; using System.Collections.ObjectModel; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoDbOperation.cs b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoDbOperation.cs index 00b1c73b..68b036a9 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoDbOperation.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoDbOperation.cs @@ -1,7 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using Microsoft.EntityFrameworkCore; using Snap.Hutao.Core.Database; using Snap.Hutao.Model.Binding.User; using Snap.Hutao.Model.Entity.Database; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoService.cs b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoService.cs index bb517276..04235ba2 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoService.cs @@ -11,7 +11,6 @@ using Snap.Hutao.Web.Enka; using Snap.Hutao.Web.Enka.Model; using Snap.Hutao.Web.Hoyolab; using EnkaAvatarInfo = Snap.Hutao.Web.Enka.Model.AvatarInfo; -using EnkaPlayerInfo = Snap.Hutao.Web.Enka.Model.PlayerInfo; namespace Snap.Hutao.Service.AvatarInfo; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/ISummaryFactory.cs b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/ISummaryFactory.cs index 68351a02..db4b4976 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/ISummaryFactory.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/ISummaryFactory.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Snap.Hutao.Model.Binding.AvatarProperty; -using Snap.Hutao.Web.Enka.Model; namespace Snap.Hutao.Service.AvatarInfo.Factory; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryFightPropertyMapHelper.cs b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryFightPropertyMapHelper.cs index 11bff7c3..d61d9dd6 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryFightPropertyMapHelper.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryFightPropertyMapHelper.cs @@ -4,7 +4,6 @@ using Snap.Hutao.Model.Binding.AvatarProperty; using Snap.Hutao.Model.Intrinsic; using Snap.Hutao.Model.Metadata.Annotation; -using Snap.Hutao.Model.Metadata.Converter; namespace Snap.Hutao.Service.AvatarInfo.Factory; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Cultivation/CultivationService.cs b/src/Snap.Hutao/Snap.Hutao/Service/Cultivation/CultivationService.cs index 6aa5b83d..6f383623 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Cultivation/CultivationService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Cultivation/CultivationService.cs @@ -6,7 +6,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Snap.Hutao.Core.Database; using Snap.Hutao.Core.ExceptionService; -using Snap.Hutao.Extension; using Snap.Hutao.Model.Binding; using Snap.Hutao.Model.Entity; using Snap.Hutao.Model.Entity.Database; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/DailyNote/DailyNoteService.cs b/src/Snap.Hutao/Snap.Hutao/Service/DailyNote/DailyNoteService.cs index a898bf6a..3add8387 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/DailyNote/DailyNoteService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/DailyNote/DailyNoteService.cs @@ -5,7 +5,6 @@ using CommunityToolkit.Mvvm.Messaging; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Snap.Hutao.Core.Database; -using Snap.Hutao.Extension; using Snap.Hutao.Message; using Snap.Hutao.Model.Binding.User; using Snap.Hutao.Model.Entity; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs index 5a4e310b..28a1cbc3 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs @@ -3,7 +3,6 @@ using Snap.Hutao.Core.Database; using Snap.Hutao.Core.ExceptionService; -using Snap.Hutao.Extension; using Snap.Hutao.Model.Binding.Gacha; using Snap.Hutao.Model.Entity; using Snap.Hutao.Model.Entity.Database; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs index 718aa977..a8370432 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogService.cs @@ -7,7 +7,6 @@ using Microsoft.EntityFrameworkCore; using Snap.Hutao.Core.Database; using Snap.Hutao.Core.Diagnostics; using Snap.Hutao.Core.ExceptionService; -using Snap.Hutao.Extension; using Snap.Hutao.Model.Binding; using Snap.Hutao.Model.Binding.Gacha; using Snap.Hutao.Model.Entity; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/GameService.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/GameService.cs index 9985c32c..8e522877 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Game/GameService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/GameService.cs @@ -8,7 +8,6 @@ using Snap.Hutao.Core; using Snap.Hutao.Core.Database; using Snap.Hutao.Core.ExceptionService; using Snap.Hutao.Core.IO.Ini; -using Snap.Hutao.Extension; using Snap.Hutao.Model.Binding.LaunchGame; using Snap.Hutao.Model.Entity; using Snap.Hutao.Model.Entity.Database; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/RegistryInterop.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/RegistryInterop.cs index a289725f..b9e68c1b 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Game/RegistryInterop.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/RegistryInterop.cs @@ -1,6 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Microsoft.Extensions.Primitives; using Microsoft.Win32; using Snap.Hutao.Core.ExceptionService; using Snap.Hutao.Model.Entity; @@ -18,6 +19,13 @@ internal static class RegistryInterop private const string GenshinKey = @"HKEY_CURRENT_USER\Software\miHoYo\原神"; private const string SdkKey = "MIHOYOSDK_ADL_PROD_CN_h3123967166"; + private static string? psExecutablePath; + + private static string PsExecutablePath + { + get => psExecutablePath ??= GetPowershellLocation(); + } + /// /// 设置键值 /// 需要支持 @@ -79,4 +87,22 @@ internal static class RegistryInterop return null; } + + private static string GetPowershellLocation() + { + string paths = Environment.GetEnvironmentVariable("Path")!; + + foreach (StringSegment path in new StringTokenizer(paths, ';'.Enumerate().ToArray())) + { + if (path.HasValue && path.Length > 0) + { + if (path.AsSpan().IndexOf("WindowsPowerShell") > 0) + { + return Path.Combine(path.Value, "powershell.exe"); + } + } + } + + throw ThrowHelper.RuntimeEnvironment(SH.ServiceGameRegisteryInteropPowershellNotFound, null!); + } } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Service/User/UserService.cs b/src/Snap.Hutao/Snap.Hutao/Service/User/UserService.cs index 07d53c27..8d2ebc24 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/User/UserService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/User/UserService.cs @@ -6,7 +6,6 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Snap.Hutao.Core.Database; using Snap.Hutao.Core.ExceptionService; -using Snap.Hutao.Extension; using Snap.Hutao.Message; using Snap.Hutao.Model.Entity.Database; using Snap.Hutao.Web.Hoyolab; diff --git a/src/Snap.Hutao/Snap.Hutao/View/Control/SkillPivot.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Control/SkillPivot.xaml.cs index 82f24489..f6634c8a 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Control/SkillPivot.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Control/SkillPivot.xaml.cs @@ -4,9 +4,7 @@ using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; using Snap.Hutao.Control; -using Snap.Hutao.Model.Binding; using Snap.Hutao.Model.Metadata.Avatar; -using System.Collections; namespace Snap.Hutao.View.Control; diff --git a/src/Snap.Hutao/Snap.Hutao/View/Dialog/CommunityGameRecordDialog.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Dialog/CommunityGameRecordDialog.xaml.cs index 043ac57b..605447e6 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Dialog/CommunityGameRecordDialog.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Dialog/CommunityGameRecordDialog.xaml.cs @@ -50,9 +50,16 @@ internal sealed partial class CommunityGameRecordDialog : ContentDialog coreWebView2.SetCookie(user.CookieToken, user.Ltoken, null).SetMobileUserAgent(); jsInterface = new(coreWebView2, scope.ServiceProvider); + jsInterface.ClosePageRequested += OnClosePageRequested; + coreWebView2.Navigate("https://webstatic.mihoyo.com/app/community-game-records/index.html"); } + private void OnClosePageRequested() + { + ThreadHelper.InvokeOnMainThread(Hide); + } + private void OnContentDialogClosed(ContentDialog sender, ContentDialogClosedEventArgs args) { jsInterface = null; diff --git a/src/Snap.Hutao/Snap.Hutao/View/Dialog/GachaLogRefreshProgressDialog.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Dialog/GachaLogRefreshProgressDialog.xaml.cs index f1d2b570..313f9856 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Dialog/GachaLogRefreshProgressDialog.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Dialog/GachaLogRefreshProgressDialog.xaml.cs @@ -4,7 +4,6 @@ using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; using Snap.Hutao.Control; -using Snap.Hutao.Extension; using Snap.Hutao.Model.Binding; using Snap.Hutao.Service.GachaLog; using Snap.Hutao.View.Control; diff --git a/src/Snap.Hutao/Snap.Hutao/View/Helper/NavHelper.cs b/src/Snap.Hutao/Snap.Hutao/View/Helper/NavHelper.cs index 7c1e9d77..1bd078de 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Helper/NavHelper.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Helper/NavHelper.cs @@ -9,8 +9,10 @@ namespace Snap.Hutao.View.Helper; /// /// 导航项帮助类 +/// This type can't be internal /// [HighQuality] +[SuppressMessage("", "SH001")] public sealed class NavHelper { private static readonly DependencyProperty NavigateToProperty = Property.Attach("NavigateTo"); diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/AnnouncementPage.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Page/AnnouncementPage.xaml.cs index cddf0af6..a1ee1dfc 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Page/AnnouncementPage.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Page/AnnouncementPage.xaml.cs @@ -1,9 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using Microsoft.UI.Xaml.Navigation; using Snap.Hutao.Control; -using Snap.Hutao.Service.Navigation; using Snap.Hutao.ViewModel; namespace Snap.Hutao.View.Page; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/Achievement/AchievementViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/Achievement/AchievementViewModel.cs index 75a57a22..bfae1192 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/Achievement/AchievementViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/Achievement/AchievementViewModel.cs @@ -8,7 +8,6 @@ using Microsoft.UI.Xaml.Controls; using Snap.Hutao.Core.Database; using Snap.Hutao.Core.IO; using Snap.Hutao.Core.LifeCycle; -using Snap.Hutao.Extension; using Snap.Hutao.Factory.Abstraction; using Snap.Hutao.Model.InterChange.Achievement; using Snap.Hutao.Service.Abstraction; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/AvatarPropertyViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/AvatarPropertyViewModel.cs index b131817b..0ec7033a 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/AvatarPropertyViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/AvatarPropertyViewModel.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. using CommunityToolkit.Mvvm.Input; +using CommunityToolkit.Mvvm.Messaging; using Microsoft.Extensions.DependencyInjection; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; @@ -9,8 +10,8 @@ using Microsoft.UI.Xaml.Media.Imaging; using Snap.Hutao.Control.Extension; using Snap.Hutao.Control.Media; using Snap.Hutao.Core.IO.DataTransfer; -using Snap.Hutao.Extension; using Snap.Hutao.Factory.Abstraction; +using Snap.Hutao.Message; using Snap.Hutao.Model.Binding.AvatarProperty; using Snap.Hutao.Model.Binding.User; using Snap.Hutao.Model.Entity.Primitive; @@ -38,7 +39,7 @@ namespace Snap.Hutao.ViewModel; /// [HighQuality] [Injection(InjectAs.Scoped)] -internal sealed class AvatarPropertyViewModel : Abstraction.ViewModel +internal sealed class AvatarPropertyViewModel : Abstraction.ViewModel, IRecipient { private readonly IServiceProvider serviceProvider; private readonly IUserService userService; @@ -60,8 +61,10 @@ internal sealed class AvatarPropertyViewModel : Abstraction.ViewModel RefreshFromEnkaApiCommand = new AsyncRelayCommand(RefreshByEnkaApiAsync); RefreshFromHoyolabGameRecordCommand = new AsyncRelayCommand(RefreshByHoyolabGameRecordAsync); RefreshFromHoyolabCalculateCommand = new AsyncRelayCommand(RefreshByHoyolabCalculateAsync); - ExportAsImageCommand = new AsyncRelayCommand(ExportAsImageAsync); + ExportAsImageCommand = new AsyncRelayCommand(ExportAsImageAsync); CultivateCommand = new AsyncRelayCommand(CultivateAsync); + + serviceProvider.GetRequiredService().Register(this); } /// @@ -104,6 +107,15 @@ internal sealed class AvatarPropertyViewModel : Abstraction.ViewModel /// public ICommand CultivateCommand { get; } + /// + public void Receive(UserChangedMessage message) + { + if (UserAndUid.TryFromUser(userService.Current, out UserAndUid? userAndUid)) + { + RefreshCoreAsync(userAndUid, RefreshOption.None, CancellationToken).SafeForget(); + } + } + private Task OpenUIAsync() { if (UserAndUid.TryFromUser(userService.Current, out UserAndUid? userAndUid)) @@ -255,9 +267,9 @@ internal sealed class AvatarPropertyViewModel : Abstraction.ViewModel } } - private async Task ExportAsImageAsync(UIElement? element) + private async Task ExportAsImageAsync(FrameworkElement? element) { - if (element != null) + if (element != null && element.IsLoaded) { RenderTargetBitmap bitmap = new(); await bitmap.RenderAsync(element); diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/CultivationViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/CultivationViewModel.cs index 8a33b037..e6e2235f 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/CultivationViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/CultivationViewModel.cs @@ -2,10 +2,7 @@ // Licensed under the MIT license. using CommunityToolkit.Mvvm.Input; -using CommunityToolkit.WinUI.UI; using Microsoft.Extensions.DependencyInjection; -using Snap.Hutao.Extension; -using Snap.Hutao.Model; using Snap.Hutao.Model.Binding.Cultivation; using Snap.Hutao.Model.Entity; using Snap.Hutao.Service.Abstraction; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/GachaLogViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/GachaLogViewModel.cs index 2bcd0941..82d8898a 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/GachaLogViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/GachaLogViewModel.cs @@ -6,7 +6,6 @@ using Microsoft.UI.Xaml.Controls; using Snap.Hutao.Control.Extension; using Snap.Hutao.Core.ExceptionService; using Snap.Hutao.Core.IO; -using Snap.Hutao.Extension; using Snap.Hutao.Factory.Abstraction; using Snap.Hutao.Model.Binding.Gacha; using Snap.Hutao.Model.Entity; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/TestViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/TestViewModel.cs index 9f6c3035..bbadb76a 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/TestViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/TestViewModel.cs @@ -5,11 +5,7 @@ using CommunityToolkit.Mvvm.Input; using Microsoft.Extensions.DependencyInjection; using Snap.Hutao.Core.IO; using Snap.Hutao.Core.IO.Bits; -using Snap.Hutao.Service.User; using Snap.Hutao.View.Dialog; -using Snap.Hutao.Web.Hoyolab; -using Snap.Hutao.Web.Hoyolab.Passport; -using Snap.Hutao.Web.Response; namespace Snap.Hutao.ViewModel; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/UserViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/UserViewModel.cs index bb17ac92..1d8164d1 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/UserViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/UserViewModel.cs @@ -6,7 +6,6 @@ using CommunityToolkit.Mvvm.Input; using Microsoft.Extensions.DependencyInjection; using Snap.Hutao.Core.ExceptionService; using Snap.Hutao.Core.IO.DataTransfer; -using Snap.Hutao.Extension; using Snap.Hutao.Model.Binding.User; using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Navigation; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/WelcomeViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/WelcomeViewModel.cs index 31dbbe2a..1568ded4 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/WelcomeViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/WelcomeViewModel.cs @@ -11,7 +11,6 @@ using Snap.Hutao.Core.Caching; using Snap.Hutao.Core.IO; using Snap.Hutao.Core.IO.Bits; using Snap.Hutao.Core.Setting; -using Snap.Hutao.Extension; using System.Collections.ObjectModel; using System.IO; using System.IO.Compression; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/WikiAvatarViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/WikiAvatarViewModel.cs index ef7bcf69..ff4ad020 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/WikiAvatarViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/WikiAvatarViewModel.cs @@ -5,7 +5,6 @@ using CommunityToolkit.Mvvm.Input; using CommunityToolkit.WinUI.UI; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Primitives; -using Snap.Hutao.Extension; using Snap.Hutao.Model.Binding.Hutao; using Snap.Hutao.Model.Entity.Primitive; using Snap.Hutao.Model.Intrinsic.Immutable; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/WikiWeaponViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/WikiWeaponViewModel.cs index e3d841e1..bc24caa0 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/WikiWeaponViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/WikiWeaponViewModel.cs @@ -5,7 +5,6 @@ using CommunityToolkit.Mvvm.Input; using CommunityToolkit.WinUI.UI; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Primitives; -using Snap.Hutao.Extension; using Snap.Hutao.Model.Binding.Hutao; using Snap.Hutao.Model.Entity.Primitive; using Snap.Hutao.Model.Intrinsic.Immutable; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSInterface.cs b/src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSInterface.cs index 3faeed86..cfccb202 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSInterface.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSInterface.cs @@ -3,16 +3,12 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Web.WebView2.Core; -using Snap.Hutao.Core.Database; -using Snap.Hutao.Extension; using Snap.Hutao.Model.Binding.User; -using Snap.Hutao.Model.Entity.Database; using Snap.Hutao.Service.User; using Snap.Hutao.Web.Bridge.Model; using Snap.Hutao.Web.Hoyolab; using Snap.Hutao.Web.Hoyolab.Bbs.User; using Snap.Hutao.Web.Hoyolab.DynamicSecret; -using Snap.Hutao.Web.Hoyolab.Passport; using Snap.Hutao.Web.Hoyolab.Takumi.Auth; using System.Runtime.InteropServices; using System.Text; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Enka/Model/TypeValue.cs b/src/Snap.Hutao/Snap.Hutao/Web/Enka/Model/TypeValue.cs index af7af9d4..a8be6350 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Enka/Model/TypeValue.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Enka/Model/TypeValue.cs @@ -24,7 +24,7 @@ internal sealed class TypeValue /// /// 类型 /// 值 - public TypeValue(PlayerProperty type,string? value) + public TypeValue(PlayerProperty type, string? value) { Type = type; Value = value; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Cookie.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Cookie.cs index bb003dfe..846117ea 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Cookie.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Cookie.cs @@ -9,6 +9,7 @@ namespace Snap.Hutao.Web.Hoyolab; /// /// 封装了米哈游的Cookie /// +[HighQuality] internal sealed partial class Cookie { private readonly SortedDictionary inner; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/HoyolabHttpClientExtensions.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/HoyolabHttpClientExtension.cs similarity index 97% rename from src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/HoyolabHttpClientExtensions.cs rename to src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/HoyolabHttpClientExtension.cs index 8537538d..0527ae3a 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/HoyolabHttpClientExtensions.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/HoyolabHttpClientExtension.cs @@ -1,7 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using Snap.Hutao.Extension; using Snap.Hutao.Web.Request; using System.Net.Http; using System.Text; @@ -12,7 +11,7 @@ namespace Snap.Hutao.Web.Hoyolab; /// Hoyolab HttpClient 拓展 /// [HighQuality] -internal static class HoyolabHttpClientExtensions +internal static class HoyolabHttpClientExtension { /// /// 设置用户的 Cookie diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/Binding/BindingClient2.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/Binding/BindingClient2.cs index 38eef652..0351a4ea 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/Binding/BindingClient2.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/Binding/BindingClient2.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient; -using Snap.Hutao.Extension; using Snap.Hutao.Model.Entity; using Snap.Hutao.Web.Hoyolab.Annotation; using Snap.Hutao.Web.Hoyolab.DynamicSecret; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/GameRecordClient.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/GameRecordClient.cs index e6b33ae6..ad0635bb 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/GameRecordClient.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/GameRecordClient.cs @@ -19,6 +19,7 @@ namespace Snap.Hutao.Web.Hoyolab.Takumi.GameRecord; [HighQuality] [UseDynamicSecret] [HttpClient(HttpClientConfigration.XRpc)] +[PrimaryHttpMessageHandler(UseCookies = false)] internal sealed class GameRecordClient { private readonly HttpClient httpClient; @@ -100,11 +101,11 @@ internal sealed class GameRecordClient /// 1:当期,2:上期 /// 取消令牌 /// 深渊信息 - [ApiInformation(Cookie = CookieType.Ltoken, Salt = SaltType.X4)] + [ApiInformation(Cookie = CookieType.Cookie, Salt = SaltType.X4)] public async Task> GetSpiralAbyssAsync(UserAndUid userAndUid, SpiralAbyssSchedule schedule, CancellationToken token = default) { Response? resp = await httpClient - .SetUser(userAndUid.User, CookieType.Ltoken) + .SetUser(userAndUid.User, CookieType.Cookie) .UseDynamicSecret(DynamicSecretVersion.Gen2, SaltType.X4, false) .TryCatchGetFromJsonAsync>(ApiEndpoints.GameRecordSpiralAbyss(schedule, userAndUid.Uid), options, logger, token) .ConfigureAwait(false);