Merge pull request #62 from Lightczx/master

Improve export experience for Snap Hutao
This commit is contained in:
HolographicHat
2023-06-29 21:30:58 +08:00
committed by GitHub
4 changed files with 22 additions and 14 deletions

4
res/App.Designer.cs generated
View File

@@ -157,7 +157,7 @@ namespace YaeAchievement.res {
}
/// <summary>
/// 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..
/// </summary>
internal static string ExportToSnapGenshinNeedUpdate {
get {
@@ -166,7 +166,7 @@ namespace YaeAchievement.res {
}
/// <summary>
/// Looks up a localized string similar to Successfully exported to snap genshin..
/// Looks up a localized string similar to Successfully exported to Snap Hutao..
/// </summary>
internal static string ExportToSnapGenshinSuccess {
get {

View File

@@ -41,10 +41,10 @@ Input a number (0-5): </value>
<value>{0}</value>
</data>
<data name="ExportToSnapGenshinSuccess" xml:space="preserve">
<value>Successfully exported to snap genshin.</value>
<value>Successfully exported to Snap Hutao.</value>
</data>
<data name="ExportToSnapGenshinNeedUpdate" xml:space="preserve">
<value>Please update SnapGenshin and retry.</value>
<value>Please update Snap Hutao and retry.</value>
</data>
<data name="ExportToFileSuccess" xml:space="preserve">
<value>Successfully exported to {0}</value>

View File

@@ -20,13 +20,13 @@
<data name="ExportChoose" xml:space="preserve">
<value>导出至:
[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): </value>
</data>
<data name="ExportToCocogoatSuccess" xml:space="preserve">
@@ -36,10 +36,10 @@
<value>在小程序导入页面输入以下代码: {0}</value>
</data>
<data name="ExportToSnapGenshinSuccess" xml:space="preserve">
<value>在 SnapHutao 进行下一步操作</value>
<value>在 Snap Hutao 进行下一步操作</value>
</data>
<data name="ExportToSnapGenshinNeedUpdate" xml:space="preserve">
<value>更新 SnapHutao 最新版本后重试</value>
<value>更新/安装 Snap Hutao 最新版本后重试</value>
</data>
<data name="ExportToFileSuccess" xml:space="preserve">
<value>成就数据已导出至 {0}</value>

View File

@@ -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<object> list, string separator) {