improve user experience

This commit is contained in:
HolographicHat
2022-11-01 11:11:11 +08:00
parent afee99fd3f
commit 9e0d18910b
4 changed files with 16 additions and 20 deletions

11
res/App.Designer.cs generated
View File

@@ -255,15 +255,6 @@ namespace YaeAchievement.res {
}
}
/// <summary>
/// Looks up a localized string similar to To fetch new data, Restart the application after delete cache\d1a8ef40a67a5929.miko..
/// </summary>
internal static string RefreshData {
get {
return ResourceManager.GetString("RefreshData", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Reward not taken.
/// </summary>
@@ -348,7 +339,7 @@ namespace YaeAchievement.res {
}
/// <summary>
/// Looks up a localized string similar to Use previous fetched data..
/// Looks up a localized string similar to Use previous fetched data? (yes|no).
/// </summary>
internal static string UsePreviousData {
get {

View File

@@ -105,10 +105,7 @@ Input a number (0-5): </value>
<value>YaeAchievement ({0})</value>
</data>
<data name="UsePreviousData" xml:space="preserve">
<value>Use previous fetched data.</value>
</data>
<data name="RefreshData" xml:space="preserve">
<value>To fetch new data, Restart the application after delete cache\d1a8ef40a67a5929.miko.</value>
<value>Use previous fetched data? (yes|no)</value>
</data>
<data name="NetworkError" xml:space="preserve">
<value>Network error:</value>

View File

@@ -99,10 +99,7 @@
<value>YaeAchievement - 原神成就导出工具 ({0})</value>
</data>
<data name="UsePreviousData" xml:space="preserve">
<value>使用上一次获取到的成就数据</value>
</data>
<data name="RefreshData" xml:space="preserve">
<value>要重新获取数据,手动删除 cache\d1a8ef40a67a5929.miko 后重新启动 YaeAchievement</value>
<value>使用上一次获取到的成就数据吗? (yes|no)</value>
</data>
<data name="NetworkError" xml:space="preserve">
<value>网络错误: {0}</value>

View File

@@ -28,11 +28,22 @@ new EventLog("AppInit") {
{ "SystemVersion", DeviceHelper.GetSystemVersion() }
}
}.Enqueue();
var usePreviousData = false;
var historyCache = new CacheFile("ExportData");
if (historyCache.LastWriteTime.AddMinutes(10) > DateTime.UtcNow) {
Console.WriteLine(App.UsePreviousData);
Console.WriteLine(App.RefreshData);
Export.Choose(AchievementAllDataNotify.Parser.ParseFrom(historyCache.Read().Content));
usePreviousData = Console.ReadLine() == "yes";
}
Export:
if(usePreviousData) {
AchievementAllDataNotify data;
try {
data = AchievementAllDataNotify.Parser.ParseFrom(historyCache.Read().Content);
} catch (Exception) {
usePreviousData = false;
goto Export;
}
Export.Choose(data);
} else {
StartAndWaitResult(AppConfig.GamePath, str => {
GlobalVars.UnexpectedExit = false;