From 8fdb10898a3df9755a916379b46bda6988957ee5 Mon Sep 17 00:00:00 2001 From: DismissedLight <1686188646@qq.com> Date: Thu, 29 Jun 2023 14:38:19 +0800 Subject: [PATCH] Improve export experience for Snap Hutao --- res/App.Designer.cs | 4 ++-- res/App.resx | 4 ++-- res/App.zh.resx | 8 ++++---- src/Export.cs | 20 ++++++++++++++------ 4 files changed, 22 insertions(+), 14 deletions(-) diff --git a/res/App.Designer.cs b/res/App.Designer.cs index d49deae..c87d1ba 100644 --- a/res/App.Designer.cs +++ b/res/App.Designer.cs @@ -157,7 +157,7 @@ namespace YaeAchievement.res { } /// - /// Looks up a localized string similar to Please update SnapGenshin and retry.. + /// Looks up a localized string similar to Please update Snap Hutao and retry.. /// internal static string ExportToSnapGenshinNeedUpdate { get { @@ -166,7 +166,7 @@ namespace YaeAchievement.res { } /// - /// Looks up a localized string similar to Successfully exported to snap genshin.. + /// Looks up a localized string similar to Successfully exported to Snap Hutao.. /// internal static string ExportToSnapGenshinSuccess { get { diff --git a/res/App.resx b/res/App.resx index cbef798..b4d121c 100644 --- a/res/App.resx +++ b/res/App.resx @@ -41,10 +41,10 @@ Input a number (0-5): {0} - Successfully exported to snap genshin. + Successfully exported to Snap Hutao. - Please update SnapGenshin and retry. + Please update Snap Hutao and retry. Successfully exported to {0} diff --git a/res/App.zh.resx b/res/App.zh.resx index af01949..56ca7cf 100644 --- a/res/App.zh.resx +++ b/res/App.zh.resx @@ -20,13 +20,13 @@ 导出至: [0] 椰羊 (https://cocogoat.work/achievement, 默认) -[1] Snap.HuTao +[1] Snap Hutao [2] Paimon.moe [3] Seelie.me [4] 表格文件 [5] 寻空 [6] 原魔工具箱 -[7] UIAF JSON文件 +[7] UIAF JSON 文件 输入一个数字 (0-7): @@ -36,10 +36,10 @@ 在小程序导入页面输入以下代码: {0} - 在 SnapHutao 进行下一步操作 + 在 Snap Hutao 中进行下一步操作 - 更新 SnapHutao 至最新版本后重试 + 更新/安装 Snap Hutao 最新版本后重试 成就数据已导出至 {0} diff --git a/src/Export.cs b/src/Export.cs index cbe48b6..06153c1 100644 --- a/src/Export.cs +++ b/src/Export.cs @@ -77,9 +77,17 @@ public static class Export { } private static void ToHuTao(AchievementAllDataNotify data) { - Utils.CopyToClipboard(JsonSerializer.Serialize(ExportToUIAFApp(data))); - Utils.ShellOpen("hutao://achievement/import"); - Console.WriteLine(App.ExportToSnapGenshinSuccess); + if (CheckWinUIAppScheme("hutao")) + { + Utils.CopyToClipboard(JsonSerializer.Serialize(ExportToUIAFApp(data))); + Utils.ShellOpen("hutao://achievement/import"); + Console.WriteLine(App.ExportToSnapGenshinSuccess); + } + else + { + Console.WriteLine(App.ExportToSnapGenshinNeedUpdate); + Utils.ShellOpen("ms-windows-store://pdp/?productid=9PH4NXJ2JN52"); + } } // ReSharper disable once InconsistentNaming @@ -161,7 +169,7 @@ public static class Export { } private static void ToXunkong(AchievementAllDataNotify data) { - if (CheckXunkongScheme()) { + if (CheckWinUIAppScheme("xunkong")) { Utils.CopyToClipboard(JsonSerializer.Serialize(ExportToUIAFApp(data))); Utils.ShellOpen("xunkong://import-achievement?caller=YaeAchievement&from=clipboard"); Console.WriteLine(App.ExportToXunkongSuccess); @@ -203,8 +211,8 @@ public static class Export { }; } - private static bool CheckXunkongScheme() { - return (string?)Registry.ClassesRoot.OpenSubKey("xunkong")?.GetValue("") == "URL:xunkong"; + private static bool CheckWinUIAppScheme(string protocol) { + return (string?)Registry.ClassesRoot.OpenSubKey(protocol)?.GetValue("") == $"URL:{protocol}"; } private static string JoinToString(this IEnumerable list, string separator) {