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