diff --git a/Ink Canvas/Helpers/DeviceIdentifier.cs b/Ink Canvas/Helpers/DeviceIdentifier.cs
index 461fefc9..d326079e 100644
--- a/Ink Canvas/Helpers/DeviceIdentifier.cs
+++ b/Ink Canvas/Helpers/DeviceIdentifier.cs
@@ -960,6 +960,23 @@ namespace Ink_Canvas.Helpers
}
}
+ ///
+ /// 获取上次更新检查时间
+ ///
+ public static DateTime GetLastUpdateCheck()
+ {
+ try
+ {
+ var stats = LoadUsageStats();
+ return stats.LastUpdateCheck;
+ }
+ catch (Exception ex)
+ {
+ LogHelper.WriteLogToFile($"DeviceIdentifier | 获取上次更新检查时间失败: {ex.Message}", LogHelper.LogType.Error);
+ return DateTime.MinValue;
+ }
+ }
+
///
/// 从备份文件恢复使用统计数据
diff --git a/Ink Canvas/Windows/SettingsViews/SettingsViews/UpdateCenterPanel.xaml.cs b/Ink Canvas/Windows/SettingsViews/SettingsViews/UpdateCenterPanel.xaml.cs
index b7b1f07d..9b2ed276 100644
--- a/Ink Canvas/Windows/SettingsViews/SettingsViews/UpdateCenterPanel.xaml.cs
+++ b/Ink Canvas/Windows/SettingsViews/SettingsViews/UpdateCenterPanel.xaml.cs
@@ -53,29 +53,25 @@ namespace Ink_Canvas.Windows.SettingsViews
{
try
{
- var lastCheckTimePath = Path.Combine(App.RootPath, "last_update_check.dat");
- if (File.Exists(lastCheckTimePath))
+ var lastCheckTime = DeviceIdentifier.GetLastUpdateCheck();
+ if (lastCheckTime != DateTime.MinValue)
{
- var timeStr = File.ReadAllText(lastCheckTimePath);
- if (DateTime.TryParse(timeStr, out var lastCheckTime))
+ var now = DateTime.Now;
+ var timeDiff = now - lastCheckTime;
+
+ if (timeDiff.TotalDays < 1 && lastCheckTime.Date == now.Date)
{
- var now = DateTime.Now;
- var timeDiff = now - lastCheckTime;
-
- if (timeDiff.TotalDays < 1 && lastCheckTime.Date == now.Date)
- {
- LastCheckTimeText.Text = $"上次检查时间: 今天, {lastCheckTime:HH:mm}";
- }
- else if (timeDiff.TotalDays < 2 && lastCheckTime.Date == now.Date.AddDays(-1))
- {
- LastCheckTimeText.Text = $"上次检查时间: 昨天, {lastCheckTime:HH:mm}";
- }
- else
- {
- LastCheckTimeText.Text = $"上次检查时间: {lastCheckTime:yyyy-MM-dd HH:mm}";
- }
- return;
+ LastCheckTimeText.Text = $"上次检查时间: 今天, {lastCheckTime:HH:mm}";
}
+ else if (timeDiff.TotalDays < 2 && lastCheckTime.Date == now.Date.AddDays(-1))
+ {
+ LastCheckTimeText.Text = $"上次检查时间: 昨天, {lastCheckTime:HH:mm}";
+ }
+ else
+ {
+ LastCheckTimeText.Text = $"上次检查时间: {lastCheckTime:yyyy-MM-dd HH:mm}";
+ }
+ return;
}
LastCheckTimeText.Text = "上次检查时间: 从未";
}
@@ -89,8 +85,7 @@ namespace Ink_Canvas.Windows.SettingsViews
{
try
{
- var lastCheckTimePath = Path.Combine(App.RootPath, "last_update_check.dat");
- File.WriteAllText(lastCheckTimePath, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
+ DeviceIdentifier.RecordUpdateCheck();
LoadLastCheckTime();
}
catch (Exception ex)