diff --git a/src/Program.cs b/src/Program.cs index 2a7a73c..5867367 100644 --- a/src/Program.cs +++ b/src/Program.cs @@ -25,9 +25,18 @@ new EventLog("AppInit") { { "SystemVersion", DeviceHelper.GetSystemVersion() } } }.Enqueue(); -StartAndWaitResult(GlobalVars.GamePath, str => { - GlobalVars.UnexpectedExit = false; - var list = AchievementAllDataNotify.Parser.ParseFrom(Convert.FromBase64String(str)); - Export.Choose(list); - return true; -}); +var historyCache = new CacheFile("ExportData"); +if (historyCache.LastWriteTime.AddMinutes(10) > DateTime.UtcNow) { + Console.WriteLine("使用上一次获取到的成就数据"); + Console.WriteLine("要重新获取数据,手动删除 cache\\d1a8ef40a67a5929.miko 后重新启动 YaeAchievement"); + Export.Choose(AchievementAllDataNotify.Parser.ParseFrom(historyCache.Read().Content)); +} else { + StartAndWaitResult(GlobalVars.GamePath, str => { + GlobalVars.UnexpectedExit = false; + var data = Convert.FromBase64String(str); + var list = AchievementAllDataNotify.Parser.ParseFrom(data); + historyCache.Write(data); + Export.Choose(list); + return true; + }); +} \ No newline at end of file