diff --git a/src/Snap.Hutao/Snap.Hutao/App.xaml b/src/Snap.Hutao/Snap.Hutao/App.xaml index d44683f7..a47b389b 100644 --- a/src/Snap.Hutao/Snap.Hutao/App.xaml +++ b/src/Snap.Hutao/Snap.Hutao/App.xaml @@ -61,8 +61,9 @@ https://hut.ao/features/mhy-account-switch.html https://hut.ao/statements/bug-report.html - https://github.com/HolographicHat/GetToken/releases/latest https://translate.hut.ao + https://hut.ao + https://github.com/HolographicHat/GetToken/releases/latest https://afdian.net/a/DismissedLight https://static.snapgenshin.com/Bg/UI_ItemIcon_None.png diff --git a/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/CastableServiceExtension.cs b/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/CastableServiceExtension.cs index 03ab1a4f..e569a1c5 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/CastableServiceExtension.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/DependencyInjection/CastableServiceExtension.cs @@ -15,7 +15,7 @@ internal static class CastableServiceExtension /// 目标转换类型 /// 对象 /// 转换类型后的对象 - public static T? ImplictAs(this ICastableService service) + public static T? As(this ICastableService service) where T : class { return service as T; diff --git a/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/Activation.cs b/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/Activation.cs index a50406f5..f87b7472 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/Activation.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/LifeCycle/Activation.cs @@ -188,7 +188,7 @@ internal static class Activation Ioc.Default .GetRequiredService() - .ImplictAs()? + .As()? .InitializeInternalAsync() .SafeForget(); } 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 57d87ea7..5ab6c40b 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs @@ -1950,6 +1950,24 @@ namespace Snap.Hutao.Resource.Localization { } } + /// + /// 查找类似 该操作是不可逆的,所有用户登录状态会丢失 的本地化字符串。 + /// + internal static string ViewDialogSettingDeleteUserDataContent { + get { + return ResourceManager.GetString("ViewDialogSettingDeleteUserDataContent", resourceCulture); + } + } + + /// + /// 查找类似 是否永久删除用户数据 的本地化字符串。 + /// + internal static string ViewDialogSettingDeleteUserDataTitle { + get { + return ResourceManager.GetString("ViewDialogSettingDeleteUserDataTitle", resourceCulture); + } + } + /// /// 查找类似 立即前往 的本地化字符串。 /// @@ -4290,6 +4308,15 @@ namespace Snap.Hutao.Resource.Localization { } } + /// + /// 查找类似 前往官网 的本地化字符串。 + /// + internal static string ViewPageSettingOfficialSiteNavigate { + get { + return ResourceManager.GetString("ViewPageSettingOfficialSiteNavigate", resourceCulture); + } + } + /// /// 查找类似 重置 的本地化字符串。 /// diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx index 96f60eb6..7358557b 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx @@ -1788,4 +1788,13 @@ 设置 Cookie + + 前往官网 + + + 该操作是不可逆的,所有用户登录状态会丢失 + + + 是否永久删除用户数据 + \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml b/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml index 3d5766ab..650221b5 100644 --- a/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml +++ b/src/Snap.Hutao/Snap.Hutao/View/Page/SettingPage.xaml @@ -18,52 +18,56 @@ - + - + + + + + + + + + + + + - - - - - - - - - - - - - - - (); - await appDbContext.Users.ExecuteDeleteAsync().ConfigureAwait(false); - AppInstance.Restart(string.Empty); + ContentDialogResult result = await scope.ServiceProvider + .GetRequiredService() + .ConfirmCancelAsync(SH.ViewDialogSettingDeleteUserDataTitle, SH.ViewDialogSettingDeleteUserDataContent) + .ConfigureAwait(false); + + if (result == ContentDialogResult.Primary) + { + AppDbContext appDbContext = scope.ServiceProvider.GetRequiredService(); + await appDbContext.Users.ExecuteDeleteAsync().ConfigureAwait(false); + + AppInstance.Restart(string.Empty); + } } } } \ No newline at end of file diff --git a/src/Snap.Hutao/Snap.Hutao/ViewModel/WelcomeViewModel.cs b/src/Snap.Hutao/Snap.Hutao/ViewModel/WelcomeViewModel.cs index 02a80573..901346ac 100644 --- a/src/Snap.Hutao/Snap.Hutao/ViewModel/WelcomeViewModel.cs +++ b/src/Snap.Hutao/Snap.Hutao/ViewModel/WelcomeViewModel.cs @@ -204,7 +204,7 @@ internal sealed class WelcomeViewModel : ObservableObject private void ExtractFiles(string file) { - IImageCacheFilePathOperation imageCache = serviceProvider.GetRequiredService().ImplictAs()!; + IImageCacheFilePathOperation imageCache = serviceProvider.GetRequiredService().As()!; try { using (ZipArchive archive = ZipFile.OpenRead(file))