diff --git a/res/App.Designer.cs b/res/App.Designer.cs
index 3617e79..a31960e 100644
--- a/res/App.Designer.cs
+++ b/res/App.Designer.cs
@@ -255,15 +255,6 @@ namespace YaeAchievement.res {
}
}
- ///
- /// Looks up a localized string similar to To fetch new data, Restart the application after delete cache\d1a8ef40a67a5929.miko..
- ///
- internal static string RefreshData {
- get {
- return ResourceManager.GetString("RefreshData", resourceCulture);
- }
- }
-
///
/// Looks up a localized string similar to Reward not taken.
///
@@ -348,7 +339,7 @@ namespace YaeAchievement.res {
}
///
- /// Looks up a localized string similar to Use previous fetched data..
+ /// Looks up a localized string similar to Use previous fetched data? (yes|no).
///
internal static string UsePreviousData {
get {
diff --git a/res/App.resx b/res/App.resx
index f153414..4f6ee1f 100644
--- a/res/App.resx
+++ b/res/App.resx
@@ -105,10 +105,7 @@ Input a number (0-5):
YaeAchievement ({0})
- Use previous fetched data.
-
-
- To fetch new data, Restart the application after delete cache\d1a8ef40a67a5929.miko.
+ Use previous fetched data? (yes|no)
Network error:
diff --git a/res/App.zh.resx b/res/App.zh.resx
index 8c9f82c..ae865f4 100644
--- a/res/App.zh.resx
+++ b/res/App.zh.resx
@@ -99,10 +99,7 @@
YaeAchievement - 原神成就导出工具 ({0})
- 使用上一次获取到的成就数据
-
-
- 要重新获取数据,手动删除 cache\d1a8ef40a67a5929.miko 后重新启动 YaeAchievement
+ 要使用上一次获取到的成就数据吗? (yes|no)
网络错误: {0}
diff --git a/src/Program.cs b/src/Program.cs
index 1342fb6..990c7d7 100644
--- a/src/Program.cs
+++ b/src/Program.cs
@@ -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;