diff --git a/src/Snap.Hutao/Snap.Hutao.Test/CSharpLanguageFeatureTest.cs b/src/Snap.Hutao/Snap.Hutao.Test/CSharpLanguageFeatureTest.cs index 85e8c873..1d6d72ff 100644 --- a/src/Snap.Hutao/Snap.Hutao.Test/CSharpLanguageFeatureTest.cs +++ b/src/Snap.Hutao/Snap.Hutao.Test/CSharpLanguageFeatureTest.cs @@ -26,6 +26,14 @@ public class CSharpLanguageFeatureTest } } + [TestMethod] + public unsafe void EmptyStringAsSpanIsZeroLength() + { + string testStr = string.Empty; + ReadOnlySpan testSpan = testStr; + Assert.IsTrue(testSpan.Length == 0); + } + [TestMethod] public void EnumParseCanNotHandleEmptyString() { diff --git a/src/Snap.Hutao/Snap.Hutao/App.xaml.cs b/src/Snap.Hutao/Snap.Hutao/App.xaml.cs index 856135f6..0b41c516 100644 --- a/src/Snap.Hutao/Snap.Hutao/App.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/App.xaml.cs @@ -8,7 +8,6 @@ using Snap.Hutao.Core; using Snap.Hutao.Core.ExceptionService; using Snap.Hutao.Core.LifeCycle; using System.Diagnostics; -using Windows.Storage; namespace Snap.Hutao; diff --git a/src/Snap.Hutao/Snap.Hutao/Control/BindingProxy.cs b/src/Snap.Hutao/Snap.Hutao/Control/BindingProxy.cs index 873fe745..2065e1eb 100644 --- a/src/Snap.Hutao/Snap.Hutao/Control/BindingProxy.cs +++ b/src/Snap.Hutao/Snap.Hutao/Control/BindingProxy.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Microsoft.UI.Xaml; -using Microsoft.UI.Xaml.Data; namespace Snap.Hutao.Control; diff --git a/src/Snap.Hutao/Snap.Hutao/Control/Image/CompositionImage.cs b/src/Snap.Hutao/Snap.Hutao/Control/Image/CompositionImage.cs index fa72c05e..c20e1240 100644 --- a/src/Snap.Hutao/Snap.Hutao/Control/Image/CompositionImage.cs +++ b/src/Snap.Hutao/Snap.Hutao/Control/Image/CompositionImage.cs @@ -7,7 +7,6 @@ using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Hosting; using Microsoft.UI.Xaml.Media; using Snap.Hutao.Core.Caching; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Notification; using System.IO; using System.Net.Http; diff --git a/src/Snap.Hutao/Snap.Hutao/Control/Media/SoftwareBitmapExtension.cs b/src/Snap.Hutao/Snap.Hutao/Control/Media/SoftwareBitmapExtension.cs index c6f10f2d..59f7f5a7 100644 --- a/src/Snap.Hutao/Snap.Hutao/Control/Media/SoftwareBitmapExtension.cs +++ b/src/Snap.Hutao/Snap.Hutao/Control/Media/SoftwareBitmapExtension.cs @@ -1,7 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using System.Runtime.InteropServices; using Windows.Foundation; using Windows.Graphics.Imaging; using Windows.Win32; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Caching/ImageCache.cs b/src/Snap.Hutao/Snap.Hutao/Core/Caching/ImageCache.cs index 93ead897..267f7cb9 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Caching/ImageCache.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Caching/ImageCache.cs @@ -8,7 +8,6 @@ using System.Net; using System.Net.Http; using System.Security.Cryptography; using System.Text; -using Windows.Storage; namespace Snap.Hutao.Core.Caching; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Database/DbCurrent.cs b/src/Snap.Hutao/Snap.Hutao/Core/Database/DbCurrent.cs deleted file mode 100644 index 6b36c9af..00000000 --- a/src/Snap.Hutao/Snap.Hutao/Core/Database/DbCurrent.cs +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright (c) DGP Studio. All rights reserved. -// Licensed under the MIT license. - -using CommunityToolkit.Mvvm.Messaging; -using Microsoft.EntityFrameworkCore; - -namespace Snap.Hutao.Core.Database; - -/// -/// 数据库当前项 -/// 简化对数据库中选中项的管理 -/// -/// 实体的类型 -/// 消息的类型 -[HighQuality] -[Obsolete("Use ScopedDbCurrent instead")] -internal sealed class DbCurrent - where TEntity : class, ISelectable - where TMessage : Message.ValueChangedMessage, new() -{ - private readonly DbSet dbSet; - private readonly IMessenger messenger; - - private TEntity? current; - - /// - /// 构造一个新的数据库当前项 - /// - /// 数据集 - /// 消息器 - public DbCurrent(DbSet dbSet, IMessenger messenger) - { - this.dbSet = dbSet; - this.messenger = messenger; - } - - /// - /// 当前选中的项 - /// - public TEntity? Current - { - get => current; - set - { - // prevent useless sets - if (current?.InnerId == value?.InnerId) - { - return; - } - - // only update when not processing a deletion - if (value != null) - { - if (current != null) - { - current.IsSelected = false; - dbSet.UpdateAndSave(current); - } - } - - TMessage message = new() { OldValue = current, NewValue = value }; - - current = value; - - if (current != null) - { - current.IsSelected = true; - dbSet.UpdateAndSave(current); - } - - messenger.Send(message); - } - } -} \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Database/ISelectable.cs b/src/Snap.Hutao/Snap.Hutao/Core/Database/ISelectable.cs index 1194283e..8fa82141 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Database/ISelectable.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Database/ISelectable.cs @@ -5,8 +5,7 @@ namespace Snap.Hutao.Core.Database; /// /// 可选择的项 -/// 若要使用 -/// 或 +/// 若要使用 /// 必须实现该接口 /// [HighQuality] diff --git a/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/EnumerableServiceExtension.cs b/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/EnumerableServiceExtension.cs index 9abda922..7f8fab4c 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/EnumerableServiceExtension.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/EnumerableServiceExtension.cs @@ -1,8 +1,8 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using System.Runtime.CompilerServices; using Snap.Hutao.Core.DependencyInjection.Abstraction; +using System.Runtime.CompilerServices; namespace Snap.Hutao.Core.DependencyInjection; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/IocConfiguration.cs b/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/IocConfiguration.cs index 00d575e3..6e1fb852 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/IocConfiguration.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/IocConfiguration.cs @@ -44,6 +44,7 @@ internal static class IocConfiguration /// /// 服务提供器 /// 服务提供器,用于链式调用 + [EditorBrowsable(EditorBrowsableState.Never)] public static IServiceProvider InitializeCulture(this IServiceProvider serviceProvider) { AppOptions appOptions = serviceProvider.GetRequiredService(); diff --git a/src/Snap.Hutao/Snap.Hutao/Core/ExceptionService/ExceptionRecorder.cs b/src/Snap.Hutao/Snap.Hutao/Core/ExceptionService/ExceptionRecorder.cs index bd2c711b..49258dfe 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/ExceptionService/ExceptionRecorder.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/ExceptionService/ExceptionRecorder.cs @@ -14,7 +14,9 @@ namespace Snap.Hutao.Core.ExceptionService; internal sealed partial class ExceptionRecorder { private readonly ILogger logger; +#if RELEASE private readonly IServiceProvider serviceProvider; +#endif /// /// 记录应用程序异常 diff --git a/src/Snap.Hutao/Snap.Hutao/Core/IO/DataTransfer/Clipboard.cs b/src/Snap.Hutao/Snap.Hutao/Core/IO/DataTransfer/Clipboard.cs deleted file mode 100644 index 9c8e409a..00000000 --- a/src/Snap.Hutao/Snap.Hutao/Core/IO/DataTransfer/Clipboard.cs +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright (c) DGP Studio. All rights reserved. -// Licensed under the MIT license. - -using System.IO; -using Windows.ApplicationModel.DataTransfer; -using Windows.Storage.Streams; - -namespace Snap.Hutao.Core.IO.DataTransfer; - -/// -/// 剪贴板 在主线程使用 -/// -[HighQuality] -internal static class Clipboard -{ - /// - /// 从剪贴板文本中反序列化 - /// - /// 目标类型 - /// 服务提供器 - /// 实例 - public static async Task DeserializeTextAsync(IServiceProvider serviceProvider) - where T : class - { - ITaskContext taskContext = serviceProvider.GetRequiredService(); - await taskContext.SwitchToMainThreadAsync(); - DataPackageView view = Windows.ApplicationModel.DataTransfer.Clipboard.GetContent(); - - if (view.Contains(StandardDataFormats.Text)) - { - string json = await view.GetTextAsync(); - - await taskContext.SwitchToBackgroundAsync(); - return JsonSerializer.Deserialize(json, serviceProvider.GetRequiredService()); - } - - return null; - } - - /// - /// 设置文本 - /// - /// 文本 - public static void SetText(string text) - { - DataPackage content = new() { RequestedOperation = DataPackageOperation.Copy }; - content.SetText(text); - Windows.ApplicationModel.DataTransfer.Clipboard.SetContent(content); - Windows.ApplicationModel.DataTransfer.Clipboard.Flush(); - } - - /// - /// 设置位图 - /// - /// 位图流 - public static void SetBitmap(IRandomAccessStream stream) - { - RandomAccessStreamReference reference = RandomAccessStreamReference.CreateFromStream(stream); - DataPackage content = new() { RequestedOperation = DataPackageOperation.Copy }; - content.SetBitmap(reference); - Windows.ApplicationModel.DataTransfer.Clipboard.SetContent(content); - Windows.ApplicationModel.DataTransfer.Clipboard.Flush(); - } - - /// - /// 设置位图 - /// - /// 文件 - public static void SetBitmap(string file) - { - using (IRandomAccessStream stream = File.OpenRead(file).AsRandomAccessStream()) - { - SetBitmap(stream); - } - } -} \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Core/IO/DataTransfer/ClipboardInterop.cs b/src/Snap.Hutao/Snap.Hutao/Core/IO/DataTransfer/ClipboardInterop.cs index a8baa44c..13817a9a 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/IO/DataTransfer/ClipboardInterop.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/IO/DataTransfer/ClipboardInterop.cs @@ -1,6 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Windows.ApplicationModel.DataTransfer; using Windows.Storage.Streams; namespace Snap.Hutao.Core.IO.DataTransfer; @@ -8,25 +9,46 @@ namespace Snap.Hutao.Core.IO.DataTransfer; /// /// 剪贴板互操作 /// +[ConstructorGenerated] [Injection(InjectAs.Transient, typeof(IClipboardInterop))] -internal sealed class ClipboardInterop : IClipboardInterop +internal sealed partial class ClipboardInterop : IClipboardInterop { - private readonly IServiceProvider serviceProvider; + private readonly JsonSerializerOptions options; + private readonly ITaskContext taskContext; - /// - /// 构造一个新的剪贴板互操作对象 - /// - /// 服务提供器 - public ClipboardInterop(IServiceProvider serviceProvider) + /// + public async Task DeserializeFromJsonAsync() + where T : class { - this.serviceProvider = serviceProvider; + await taskContext.SwitchToMainThreadAsync(); + DataPackageView view = Windows.ApplicationModel.DataTransfer.Clipboard.GetContent(); + + if (view.Contains(StandardDataFormats.Text)) + { + string json = await view.GetTextAsync(); + + await taskContext.SwitchToBackgroundAsync(); + return JsonSerializer.Deserialize(json, options); + } + + return null; } /// - public Task DeserializeTextAsync() - where T : class + public bool SetText(string text) { - return Clipboard.DeserializeTextAsync(serviceProvider); + try + { + DataPackage content = new() { RequestedOperation = DataPackageOperation.Copy }; + content.SetText(text); + Windows.ApplicationModel.DataTransfer.Clipboard.SetContent(content); + Windows.ApplicationModel.DataTransfer.Clipboard.Flush(); + return true; + } + catch + { + return false; + } } /// @@ -34,10 +56,14 @@ internal sealed class ClipboardInterop : IClipboardInterop { try { - Clipboard.SetBitmap(stream); + RandomAccessStreamReference reference = RandomAccessStreamReference.CreateFromStream(stream); + DataPackage content = new() { RequestedOperation = DataPackageOperation.Copy }; + content.SetBitmap(reference); + Windows.ApplicationModel.DataTransfer.Clipboard.SetContent(content); + Windows.ApplicationModel.DataTransfer.Clipboard.Flush(); return true; } - catch (Exception) + catch { return false; } diff --git a/src/Snap.Hutao/Snap.Hutao/Core/IO/DataTransfer/IClipboardInterop.cs b/src/Snap.Hutao/Snap.Hutao/Core/IO/DataTransfer/IClipboardInterop.cs index 47edd99e..c6d61118 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/IO/DataTransfer/IClipboardInterop.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/IO/DataTransfer/IClipboardInterop.cs @@ -15,7 +15,7 @@ internal interface IClipboardInterop /// /// 目标类型 /// 实例 - Task DeserializeTextAsync() + Task DeserializeFromJsonAsync() where T : class; /// @@ -24,4 +24,11 @@ internal interface IClipboardInterop /// 图片流 /// 是否设置成功 bool SetBitmap(IRandomAccessStream stream); + + /// + /// 设置文本 + /// + /// 文本 + /// 是否设置成功 + bool SetText(string text); } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/Core/IO/ValueFile.cs b/src/Snap.Hutao/Snap.Hutao/Core/IO/ValueFile.cs index 5106bbab..30a616b8 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/IO/ValueFile.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/IO/ValueFile.cs @@ -34,16 +34,6 @@ internal readonly struct ValueFile return new(value); } - public static bool operator ==(ValueFile left, ValueFile right) - { - return left.Value == right.Value; - } - - public static bool operator !=(ValueFile left, ValueFile right) - { - return !(left == right); - } - /// /// 异步反序列化文件中的内容 /// @@ -92,12 +82,6 @@ internal readonly struct ValueFile } } - /// - public override bool Equals(object? obj) - { - return obj is ValueFile other && Equals(other); - } - /// public override int GetHashCode() { diff --git a/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/Activation.cs b/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/Activation.cs index e5008028..69f99859 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/Activation.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/Activation.cs @@ -5,7 +5,6 @@ using CommunityToolkit.WinUI.Notifications; using Microsoft.Extensions.Caching.Memory; using Microsoft.Windows.AppLifecycle; using Snap.Hutao.Core.Setting; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.DailyNote; using Snap.Hutao.Service.Hutao; using Snap.Hutao.Service.Metadata; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/ScheduleTaskHelper.cs b/src/Snap.Hutao/Snap.Hutao/Core/ScheduleTaskHelper.cs index ebe5944d..1396090c 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/ScheduleTaskHelper.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/ScheduleTaskHelper.cs @@ -5,7 +5,6 @@ using Microsoft.Win32.TaskScheduler; using System.IO; using System.Runtime.InteropServices; using Windows.Storage; -using SchedulerTask = Microsoft.Win32.TaskScheduler.Task; namespace Snap.Hutao.Core; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Threading/TaskContext.cs b/src/Snap.Hutao/Snap.Hutao/Core/Threading/TaskContext.cs index 9f3c9773..aa65daab 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Threading/TaskContext.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Threading/TaskContext.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Microsoft.UI.Dispatching; -using System.Runtime.CompilerServices; namespace Snap.Hutao.Core.Threading; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Threading/ThreadPoolSwitchOperation.cs b/src/Snap.Hutao/Snap.Hutao/Core/Threading/ThreadPoolSwitchOperation.cs index 4342086a..df572106 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Threading/ThreadPoolSwitchOperation.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Threading/ThreadPoolSwitchOperation.cs @@ -27,11 +27,9 @@ internal readonly struct ThreadPoolSwitchOperation : IAwaitable public bool IsCompleted { - get - { + get => // 如果已经处于后台就不再切换新的线程 - return !dispatherQueue.HasThreadAccess; - } + !dispatherQueue.HasThreadAccess; } /// diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Threading/ValueResultExtension.cs b/src/Snap.Hutao/Snap.Hutao/Core/Threading/ValueResultExtension.cs index 77815be9..c00b4416 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Threading/ValueResultExtension.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Threading/ValueResultExtension.cs @@ -15,7 +15,7 @@ internal static class ValueResultExtension /// 结果 /// 值 /// 是否获取成功 - public static bool TryGetValue(this in ValueResult valueResult,[NotNullWhen(true)] out TValue value) + public static bool TryGetValue(this in ValueResult valueResult, [NotNullWhen(true)] out TValue value) { value = valueResult.Value; return valueResult.IsOk; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/WindowSubclass.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/WindowSubclass.cs index 5031d024..29de6ea3 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/WindowSubclass.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/WindowSubclass.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Microsoft.UI.Xaml; -using System.Runtime.CompilerServices; using Windows.Win32.Foundation; using Windows.Win32.UI.Shell; using Windows.Win32.UI.WindowsAndMessaging; diff --git a/src/Snap.Hutao/Snap.Hutao/MainWindow.xaml.cs b/src/Snap.Hutao/Snap.Hutao/MainWindow.xaml.cs index 9835f223..35186dab 100644 --- a/src/Snap.Hutao/Snap.Hutao/MainWindow.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/MainWindow.xaml.cs @@ -6,7 +6,6 @@ using Microsoft.UI.Xaml; using Snap.Hutao.Core.Setting; using Snap.Hutao.Core.Windowing; using Snap.Hutao.Message; -using Windows.Graphics; using Windows.Win32.UI.WindowsAndMessaging; namespace Snap.Hutao; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Entity/Database/AppDbContextDesignTimeFactory.cs b/src/Snap.Hutao/Snap.Hutao/Model/Entity/Database/AppDbContextDesignTimeFactory.cs index e134722f..1b37217e 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Entity/Database/AppDbContextDesignTimeFactory.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Entity/Database/AppDbContextDesignTimeFactory.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Microsoft.EntityFrameworkCore.Design; -using Snap.Hutao.Model.Entity.Database; namespace Snap.Hutao.Model.Entity.Database; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Intrinsic/FightProperty.cs b/src/Snap.Hutao/Snap.Hutao/Model/Intrinsic/FightProperty.cs index 716b5d83..980c78fa 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Intrinsic/FightProperty.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Intrinsic/FightProperty.cs @@ -1,8 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using Snap.Hutao.Model.Intrinsic.Format; - namespace Snap.Hutao.Model.Intrinsic; /// diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/DescriptionsParametersDescriptor.cs b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/DescriptionsParametersDescriptor.cs index 98602643..76c9004e 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/DescriptionsParametersDescriptor.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/DescriptionsParametersDescriptor.cs @@ -3,9 +3,7 @@ using Snap.Hutao.Control; using Snap.Hutao.Model.Metadata.Avatar; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Text; using System.Text.RegularExpressions; namespace Snap.Hutao.Model.Metadata.Converter; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/PropertiesParametersDescriptor.cs b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/PropertiesParametersDescriptor.cs index 08ee2041..710dbd0c 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/PropertiesParametersDescriptor.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/Converter/PropertiesParametersDescriptor.cs @@ -3,8 +3,6 @@ using Snap.Hutao.Control; using Snap.Hutao.Model.Intrinsic; -using Snap.Hutao.Model.Intrinsic.Format; -using Snap.Hutao.ViewModel.AvatarProperty; namespace Snap.Hutao.Model.Metadata.Converter; diff --git a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/ParameterFormat.cs b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/ParameterFormat.cs index 4bfc9543..3f2df3ef 100644 --- a/src/Snap.Hutao/Snap.Hutao/Model/Metadata/ParameterFormat.cs +++ b/src/Snap.Hutao/Snap.Hutao/Model/Metadata/ParameterFormat.cs @@ -1,8 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using System.Runtime.CompilerServices; - namespace Snap.Hutao.Model.Metadata; /// diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Achievement/AchievementService.Collection.cs b/src/Snap.Hutao/Snap.Hutao/Service/Achievement/AchievementService.Collection.cs index c30158af..a745ba91 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Achievement/AchievementService.Collection.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Achievement/AchievementService.Collection.cs @@ -81,9 +81,7 @@ internal sealed partial class AchievementService using (IServiceScope scope = serviceProvider.CreateScope()) { AppDbContext appDbContext = scope.ServiceProvider.GetRequiredService(); - await appDbContext.AchievementArchives - .ExecuteDeleteWhereAsync(a => a.InnerId == archive.InnerId) - .ConfigureAwait(false); + await appDbContext.AchievementArchives.RemoveAndSaveAsync(archive).ConfigureAwait(false); } } } diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoService.cs b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoService.cs index 986d546c..6dd2ff09 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/AvatarInfoService.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Snap.Hutao.Core.Diagnostics; -using Snap.Hutao.Model.Entity.Database; using Snap.Hutao.Service.AvatarInfo.Factory; using Snap.Hutao.Service.Metadata; using Snap.Hutao.ViewModel.AvatarProperty; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryAvatarFactory.cs b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryAvatarFactory.cs index 9980e23d..74fb2401 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryAvatarFactory.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/AvatarInfo/Factory/SummaryAvatarFactory.cs @@ -3,7 +3,6 @@ using Snap.Hutao.Model.Intrinsic; using Snap.Hutao.Model.Metadata.Converter; -using Snap.Hutao.Model.Primitive; using Snap.Hutao.ViewModel.AvatarProperty; using Snap.Hutao.Web.Enka.Model; using MetadataAvatar = Snap.Hutao.Model.Metadata.Avatar.Avatar; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Cultivation/CultivationService.Collection.cs b/src/Snap.Hutao/Snap.Hutao/Service/Cultivation/CultivationService.Collection.cs index feaf4336..200f1879 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Cultivation/CultivationService.Collection.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Cultivation/CultivationService.Collection.cs @@ -1,19 +1,10 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using Microsoft.EntityFrameworkCore; using Snap.Hutao.Core.Database; -using Snap.Hutao.Core.ExceptionService; -using Snap.Hutao.Model; using Snap.Hutao.Model.Entity; using Snap.Hutao.Model.Entity.Database; -using Snap.Hutao.Model.Entity.Primitive; -using Snap.Hutao.Model.Metadata.Item; -using Snap.Hutao.Model.Primitive; -using Snap.Hutao.Service.Metadata; -using Snap.Hutao.ViewModel.Cultivation; using System.Collections.ObjectModel; -using System.Runtime.InteropServices; namespace Snap.Hutao.Service.Cultivation; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Cultivation/CultivationService.cs b/src/Snap.Hutao/Snap.Hutao/Service/Cultivation/CultivationService.cs index 795a152b..977c3dad 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Cultivation/CultivationService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Cultivation/CultivationService.cs @@ -13,7 +13,6 @@ using Snap.Hutao.Model.Primitive; using Snap.Hutao.Service.Metadata; using Snap.Hutao.ViewModel.Cultivation; using System.Collections.ObjectModel; -using System.Runtime.InteropServices; namespace Snap.Hutao.Service.Cultivation; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/DailyNote/DailyNoteService.cs b/src/Snap.Hutao/Snap.Hutao/Service/DailyNote/DailyNoteService.cs index 39ba3e01..2415559d 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/DailyNote/DailyNoteService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/DailyNote/DailyNoteService.cs @@ -7,8 +7,6 @@ using Snap.Hutao.Core.Database; using Snap.Hutao.Message; using Snap.Hutao.Model.Entity; using Snap.Hutao.Model.Entity.Database; -using Snap.Hutao.Service.Abstraction; -using Snap.Hutao.Service.Game; using Snap.Hutao.Service.Notification; using Snap.Hutao.Service.User; using Snap.Hutao.ViewModel.User; 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 16e06f7f..96e6cee3 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/GachaStatisticsFactory.cs @@ -7,7 +7,6 @@ using Snap.Hutao.Model.Intrinsic; using Snap.Hutao.Model.Metadata; using Snap.Hutao.Model.Metadata.Avatar; using Snap.Hutao.Model.Metadata.Weapon; -using Snap.Hutao.Model.Primitive; using Snap.Hutao.Service.Metadata; using Snap.Hutao.ViewModel.GachaLog; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/HistoryWishBuilder.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/HistoryWishBuilder.cs index 95c3c271..ecc9a1d3 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/HistoryWishBuilder.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/Factory/HistoryWishBuilder.cs @@ -3,8 +3,6 @@ using Snap.Hutao.Model.Metadata; using Snap.Hutao.Model.Metadata.Abstraction; -using Snap.Hutao.Model.Metadata.Avatar; -using Snap.Hutao.Model.Metadata.Weapon; using Snap.Hutao.ViewModel.GachaLog; using Snap.Hutao.Web.Hoyolab.Hk4e.Event.GachaInfo; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaArchives.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaArchives.cs index 1517828d..7958da53 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaArchives.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaArchives.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Microsoft.Data.Sqlite; -using Microsoft.EntityFrameworkCore; using Snap.Hutao.Core.ExceptionService; using Snap.Hutao.Model.Entity; using Snap.Hutao.Model.Entity.Database; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogExportService.cs b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogExportService.cs index 296708df..a7260186 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogExportService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/GachaLog/GachaLogExportService.cs @@ -4,7 +4,6 @@ using Snap.Hutao.Model.Entity; using Snap.Hutao.Model.Entity.Database; using Snap.Hutao.Model.InterChange.GachaLog; -using Snap.Hutao.Model.Metadata.Abstraction; namespace Snap.Hutao.Service.GachaLog; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/Locator/RegistryLauncherLocator.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/Locator/RegistryLauncherLocator.cs index 125b6dfd..8f353984 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Game/Locator/RegistryLauncherLocator.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/Locator/RegistryLauncherLocator.cs @@ -83,7 +83,7 @@ internal sealed partial class RegistryLauncherLocator : IGameLocator // 不包含中文 // Some one's folder might begin with 'u' - if (!hex4Result.Contains(@"\u")) + if (!hex4Result.Contains(@"\u")) { // fix path with \ hex4Result = hex4Result.Replace(@"\", @"\\"); diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Game/Package/PackageConverter.cs b/src/Snap.Hutao/Snap.Hutao/Service/Game/Package/PackageConverter.cs index 9933fdd8..22400011 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Game/Package/PackageConverter.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Game/Package/PackageConverter.cs @@ -4,7 +4,6 @@ using Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient; using Snap.Hutao.Core.ExceptionService; using Snap.Hutao.Core.IO; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Notification; using Snap.Hutao.Web.Hoyolab.SdkStatic.Hk4e.Launcher; using System.IO; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Navigation/NavigationService.cs b/src/Snap.Hutao/Snap.Hutao/Service/Navigation/NavigationService.cs index a360042c..9adf4eda 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Navigation/NavigationService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Navigation/NavigationService.cs @@ -4,7 +4,6 @@ using Microsoft.UI.Xaml.Controls; using Snap.Hutao.Control; using Snap.Hutao.Core.Setting; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Notification; using Snap.Hutao.View.Helper; using Snap.Hutao.View.Page; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarService.cs b/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarService.cs index 2daf1bed..b1588fd8 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/Notification/InfoBarService.cs @@ -3,7 +3,6 @@ using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Media.Animation; -using Snap.Hutao.Service.Abstraction; namespace Snap.Hutao.Service.Notification; diff --git a/src/Snap.Hutao/Snap.Hutao/Service/User/UserService.cs b/src/Snap.Hutao/Snap.Hutao/Service/User/UserService.cs index c5d056ea..09b14d84 100644 --- a/src/Snap.Hutao/Snap.Hutao/Service/User/UserService.cs +++ b/src/Snap.Hutao/Snap.Hutao/Service/User/UserService.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using CommunityToolkit.Mvvm.Messaging; -using Microsoft.EntityFrameworkCore; using Snap.Hutao.Core.Database; using Snap.Hutao.Core.ExceptionService; using Snap.Hutao.Message; diff --git a/src/Snap.Hutao/Snap.Hutao/View/MainView.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/MainView.xaml.cs index 4d2dc337..42f3074e 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/MainView.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/MainView.xaml.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using Microsoft.UI.Xaml.Controls; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Navigation; using Snap.Hutao.Service.Notification; using Snap.Hutao.View.Page; diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/LoginHoyoverseUserPage.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Page/LoginHoyoverseUserPage.xaml.cs index 422ad6da..938187a7 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Page/LoginHoyoverseUserPage.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Page/LoginHoyoverseUserPage.xaml.cs @@ -3,7 +3,6 @@ using Microsoft.UI.Xaml; using Microsoft.Web.WebView2.Core; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Navigation; using Snap.Hutao.Service.Notification; using Snap.Hutao.Service.User; diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/LoginMihoyoUserPage.xaml.cs b/src/Snap.Hutao/Snap.Hutao/View/Page/LoginMihoyoUserPage.xaml.cs index 46525847..d55da03a 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Page/LoginMihoyoUserPage.xaml.cs +++ b/src/Snap.Hutao/Snap.Hutao/View/Page/LoginMihoyoUserPage.xaml.cs @@ -3,7 +3,6 @@ using Microsoft.UI.Xaml; using Microsoft.Web.WebView2.Core; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Navigation; using Snap.Hutao.Service.Notification; using Snap.Hutao.Service.User; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/Abstraction/ViewModelSlim.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/Abstraction/ViewModelSlim.cs index 91ac2432..53a59898 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/Abstraction/ViewModelSlim.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/Abstraction/ViewModelSlim.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using CommunityToolkit.Mvvm.ComponentModel; -using CommunityToolkit.Mvvm.Input; using Microsoft.UI.Xaml.Controls; using Snap.Hutao.Service.Navigation; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/Achievement/AchievementImporter.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/Achievement/AchievementImporter.cs index 3e83635f..dcf56a24 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/Achievement/AchievementImporter.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/Achievement/AchievementImporter.cs @@ -7,7 +7,6 @@ using Snap.Hutao.Core.IO; using Snap.Hutao.Core.IO.DataTransfer; using Snap.Hutao.Factory.Abstraction; using Snap.Hutao.Model.InterChange.Achievement; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Achievement; using Snap.Hutao.Service.Notification; using Snap.Hutao.View.Dialog; @@ -97,7 +96,7 @@ internal sealed partial class AchievementImporter { return await serviceProvider .GetRequiredService() - .DeserializeTextAsync() + .DeserializeFromJsonAsync() .ConfigureAwait(false); } catch (Exception ex) diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/AvatarProperty/AvatarPropertyViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/AvatarProperty/AvatarPropertyViewModel.cs index 156fba1c..881664b3 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/AvatarProperty/AvatarPropertyViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/AvatarProperty/AvatarPropertyViewModel.cs @@ -1,7 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Messaging; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; @@ -13,7 +12,6 @@ using Snap.Hutao.Factory.Abstraction; using Snap.Hutao.Message; using Snap.Hutao.Model.Calculable; using Snap.Hutao.Model.Entity.Primitive; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.AvatarInfo; using Snap.Hutao.Service.Cultivation; using Snap.Hutao.Service.Notification; @@ -21,7 +19,6 @@ using Snap.Hutao.Service.User; using Snap.Hutao.View.Dialog; using Snap.Hutao.ViewModel.User; using Snap.Hutao.Web.Response; -using System.Runtime.InteropServices; using Windows.Graphics.Imaging; using Windows.Storage.Streams; using Windows.UI; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/Cultivation/CultivationViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/Cultivation/CultivationViewModel.cs index 2c436729..039cd5e1 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/Cultivation/CultivationViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/Cultivation/CultivationViewModel.cs @@ -1,10 +1,8 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using CommunityToolkit.Mvvm.Input; using Snap.Hutao.Model.Entity; using Snap.Hutao.Model.Metadata.Item; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Cultivation; using Snap.Hutao.Service.Metadata; using Snap.Hutao.Service.Navigation; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteViewModel.cs index ce994c19..60b30831 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteViewModel.cs @@ -1,13 +1,9 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using CommunityToolkit.Mvvm.Input; -using Snap.Hutao.Core; using Snap.Hutao.Core.Database; -using Snap.Hutao.Model; using Snap.Hutao.Model.Entity; using Snap.Hutao.Model.Entity.Database; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.DailyNote; using Snap.Hutao.Service.Notification; using Snap.Hutao.Service.User; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteViewModelSlim.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteViewModelSlim.cs index 38f35403..b64c9748 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteViewModelSlim.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/DailyNote/DailyNoteViewModelSlim.cs @@ -2,11 +2,9 @@ // Licensed under the MIT license. using Snap.Hutao.Model.Entity; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.DailyNote; using Snap.Hutao.Service.Notification; using Snap.Hutao.Service.User; -using Snap.Hutao.ViewModel.User; using System.Collections.ObjectModel; namespace Snap.Hutao.ViewModel.DailyNote; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/ExperimentalFeaturesViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/ExperimentalFeaturesViewModel.cs index 5ab99900..2d9e9703 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/ExperimentalFeaturesViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/ExperimentalFeaturesViewModel.cs @@ -2,14 +2,12 @@ // Licensed under the MIT license. using CommunityToolkit.Mvvm.ComponentModel; -using CommunityToolkit.Mvvm.Input; using Microsoft.EntityFrameworkCore; using Microsoft.UI.Xaml.Controls; using Microsoft.Windows.AppLifecycle; using Snap.Hutao.Core; using Snap.Hutao.Factory.Abstraction; using Snap.Hutao.Model.Entity.Database; -using Windows.Storage; using Windows.System; namespace Snap.Hutao.ViewModel; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/GachaLog/GachaLogViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/GachaLog/GachaLogViewModel.cs index 73316a0b..14d23e1c 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/GachaLog/GachaLogViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/GachaLog/GachaLogViewModel.cs @@ -1,7 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using CommunityToolkit.Mvvm.Input; using Microsoft.UI.Xaml.Controls; using Snap.Hutao.Control.Extension; using Snap.Hutao.Core.Database; @@ -10,7 +9,6 @@ using Snap.Hutao.Core.IO; using Snap.Hutao.Factory.Abstraction; using Snap.Hutao.Model.Entity; using Snap.Hutao.Model.InterChange.GachaLog; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.GachaLog; using Snap.Hutao.Service.GachaLog.QueryProvider; using Snap.Hutao.Service.Notification; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/Game/LaunchGameViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/Game/LaunchGameViewModel.cs index 0294aa80..216595d5 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/Game/LaunchGameViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/Game/LaunchGameViewModel.cs @@ -1,14 +1,12 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using CommunityToolkit.Mvvm.Input; using Microsoft.Extensions.Caching.Memory; using Snap.Hutao.Control.Extension; using Snap.Hutao.Core.ExceptionService; using Snap.Hutao.Core.LifeCycle; using Snap.Hutao.Model.Entity; using Snap.Hutao.Service; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Game; using Snap.Hutao.Service.Navigation; using Snap.Hutao.Service.Notification; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/HutaoPassportViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/HutaoPassportViewModel.cs index 3eefd713..d44e0a61 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/HutaoPassportViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/HutaoPassportViewModel.cs @@ -1,9 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using CommunityToolkit.Mvvm.Input; using Snap.Hutao.Core.Setting; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Hutao; using Snap.Hutao.Service.Navigation; using Snap.Hutao.Service.Notification; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/SettingViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/SettingViewModel.cs index 931f28e0..d9b8c808 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/SettingViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/SettingViewModel.cs @@ -209,10 +209,9 @@ internal sealed partial class SettingViewModel : Abstraction.ViewModel private void CopyDeviceId() { IInfoBarService infoBarService = serviceProvider.GetRequiredService(); - try { - Clipboard.SetText(HutaoOptions.DeviceId); + serviceProvider.GetRequiredService().SetText(HutaoOptions.DeviceId); infoBarService.Success(SH.ViewModelSettingCopyDeviceIdSuccess); } catch (COMException ex) diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs index 9efcc96c..ced04fb8 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/SpiralAbyss/SpiralAbyssRecordViewModel.cs @@ -1,13 +1,11 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Messaging; using Snap.Hutao.Message; using Snap.Hutao.Model.Entity; using Snap.Hutao.Model.Metadata; using Snap.Hutao.Model.Primitive; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Metadata; using Snap.Hutao.Service.Notification; using Snap.Hutao.Service.SpiralAbyss; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/TestViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/TestViewModel.cs index c0b62754..a098cb41 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/TestViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/TestViewModel.cs @@ -1,7 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using CommunityToolkit.Mvvm.Input; using Microsoft.Windows.AppLifecycle; using Snap.Hutao.View.Dialog; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/User/UserViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/User/UserViewModel.cs index 3636fe6e..76fd6db1 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/User/UserViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/User/UserViewModel.cs @@ -2,7 +2,6 @@ // Licensed under the MIT license. using CommunityToolkit.Mvvm.ComponentModel; -using CommunityToolkit.Mvvm.Input; using Snap.Hutao.Core.ExceptionService; using Snap.Hutao.Core.IO.DataTransfer; using Snap.Hutao.Service.Navigation; @@ -196,8 +195,7 @@ internal sealed partial class UserViewModel : ObservableObject .AppendIf(user.LToken != null, ';') .Append(user.CookieToken) .ToString(); - - Clipboard.SetText(cookieString); + serviceProvider.GetRequiredService().SetText(cookieString); infoBarService.Success(string.Format(SH.ViewModelUserCookieCopied, user.UserInfo!.Nickname)); } catch (Exception e) diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/WelcomeViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/WelcomeViewModel.cs index 3fa2d92d..7bca093c 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/WelcomeViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/WelcomeViewModel.cs @@ -3,12 +3,10 @@ using CommunityToolkit.Common; using CommunityToolkit.Mvvm.ComponentModel; -using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Messaging; using CommunityToolkit.WinUI.Notifications; using Snap.Hutao.Core; using Snap.Hutao.Core.Caching; -using Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient; using Snap.Hutao.Core.IO; using Snap.Hutao.Core.Setting; using System.Collections.ObjectModel; diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/Wiki/WikiAvatarViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/Wiki/WikiAvatarViewModel.cs index 4981530a..4d05b2ba 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/Wiki/WikiAvatarViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/Wiki/WikiAvatarViewModel.cs @@ -1,7 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using CommunityToolkit.Mvvm.Input; using CommunityToolkit.WinUI.UI; using Microsoft.Extensions.Primitives; using Snap.Hutao.Model.Calculable; @@ -12,7 +11,6 @@ using Snap.Hutao.Model.Metadata; using Snap.Hutao.Model.Metadata.Avatar; using Snap.Hutao.Model.Metadata.Item; using Snap.Hutao.Model.Primitive; -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Cultivation; using Snap.Hutao.Service.Hutao; using Snap.Hutao.Service.Metadata; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSInterface.cs b/src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSInterface.cs index 445b706b..ba785b8f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSInterface.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Bridge/MiHoYoJSInterface.cs @@ -10,7 +10,6 @@ using Snap.Hutao.Web.Hoyolab; using Snap.Hutao.Web.Hoyolab.Bbs.User; using Snap.Hutao.Web.Hoyolab.DynamicSecret; using Snap.Hutao.Web.Hoyolab.Takumi.Auth; -using System.Globalization; using System.Runtime.InteropServices; using System.Text; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hutao/GachaLog/EndIds.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hutao/GachaLog/EndIds.cs index fa681035..4a380daa 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hutao/GachaLog/EndIds.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hutao/GachaLog/EndIds.cs @@ -5,7 +5,6 @@ using Microsoft.EntityFrameworkCore; using Snap.Hutao.Model.Entity; using Snap.Hutao.Model.Entity.Database; using Snap.Hutao.Web.Hoyolab.Hk4e.Event.GachaInfo; -using System.Collections; namespace Snap.Hutao.Web.Hutao.GachaLog; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hutao/HomaGachaLogClient.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hutao/HomaGachaLogClient.cs index 73a4e78b..3ab46eb0 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hutao/HomaGachaLogClient.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hutao/HomaGachaLogClient.cs @@ -3,8 +3,6 @@ using Snap.Hutao.Core.DependencyInjection.Annotation.HttpClient; using Snap.Hutao.Service.Hutao; -using Snap.Hutao.Web.Hoyolab; -using Snap.Hutao.Web.Hoyolab.Hk4e.Event.GachaInfo; using Snap.Hutao.Web.Hutao.GachaLog; using Snap.Hutao.Web.Response; using System.Net.Http; diff --git a/src/Snap.Hutao/Snap.Hutao/Web/HutaoEndpoints.cs b/src/Snap.Hutao/Snap.Hutao/Web/HutaoEndpoints.cs index 5d652bd1..7b76ac61 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/HutaoEndpoints.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/HutaoEndpoints.cs @@ -1,8 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using Snap.Hutao.Web.Hoyolab; - namespace Snap.Hutao.Web; /// @@ -56,11 +54,11 @@ internal static class HutaoEndpoints } #endregion - #region Passport + #region Passport - /// - /// 获取注册验证码 - /// + /// + /// 获取注册验证码 + /// public const string PassportVerify = $"{HomaSnapGenshinApi}/Passport/Verify"; /// diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Response/Response.cs b/src/Snap.Hutao/Snap.Hutao/Web/Response/Response.cs index d0880976..c1c6601f 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Response/Response.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Response/Response.cs @@ -1,7 +1,6 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. -using Snap.Hutao.Service.Abstraction; using Snap.Hutao.Service.Notification; using Snap.Hutao.Web.Bridge.Model; using System.Runtime.CompilerServices;