From 832bb54e356b8d04a984ad7ea854ea3399b79765 Mon Sep 17 00:00:00 2001 From: denglihong2007 <98096191+denglihong2007@users.noreply.github.com> Date: Fri, 16 Jan 2026 22:48:55 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E6=95=B0=E6=8D=AE=E5=88=B7=E6=96=B0=E9=A2=91=E7=8E=87?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CRSim.Core/Models/Settings.cs | 2 +- CRSim.Core/Services/TimeService.cs | 2 +- CRSim/ViewModels/SettingsPageViewModel.cs | 4 ++++ CRSim/Views/SettingsPage.xaml | 3 +++ 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CRSim.Core/Models/Settings.cs b/CRSim.Core/Models/Settings.cs index a5a47ff..4cdadba 100644 --- a/CRSim.Core/Models/Settings.cs +++ b/CRSim.Core/Models/Settings.cs @@ -32,7 +32,7 @@ namespace CRSim.Core.Models public string UserKey { get; set; } = ""; public bool LoadTodayOnly { get; set; } = false; public bool ReopenUnclosedScreensOnLoad { get; set; } = true; - + public int RefreshIntervalSeconds { get; set; } = 1; public List TrainColors { get; set; } = [ new TrainColor { Prefix = "G", Color = Color.Magenta }, diff --git a/CRSim.Core/Services/TimeService.cs b/CRSim.Core/Services/TimeService.cs index a693f00..e0bfdbc 100644 --- a/CRSim.Core/Services/TimeService.cs +++ b/CRSim.Core/Services/TimeService.cs @@ -35,7 +35,7 @@ namespace CRSim.Core.Services { _settings = settingsService.GetSettings(); - _oneSecondTimer = new(1000); + _oneSecondTimer = new(_settings.RefreshIntervalSeconds * 1000); _oneSecondTimer.Elapsed += OnOneSecondElapsed; _twentySecondsTimer = new(_settings.SwitchPageSeconds * 1000); diff --git a/CRSim/ViewModels/SettingsPageViewModel.cs b/CRSim/ViewModels/SettingsPageViewModel.cs index 06b62a0..bd957c0 100644 --- a/CRSim/ViewModels/SettingsPageViewModel.cs +++ b/CRSim/ViewModels/SettingsPageViewModel.cs @@ -60,6 +60,8 @@ namespace CRSim.ViewModels [ObservableProperty] public partial List TrainColors { get; set; } + [ObservableProperty] + public partial string RefreshIntervalSeconds { get; set; } #endregion public SettingsPageViewModel(ISettingsService settingsService, IDatabaseService databaseService, IDialogService dialogService, INetworkService networkService) { @@ -82,6 +84,7 @@ namespace CRSim.ViewModels Api = Apis.First(x => x.Name == _settings.Api.Name); MaxPages = _settings.MaxPages.ToString(); SwitchPageSeconds = _settings.SwitchPageSeconds.ToString(); + RefreshIntervalSeconds = _settings.RefreshIntervalSeconds.ToString(); UserKey = _settings.UserKey; LoadTodayOnly = _settings.LoadTodayOnly; ReopenUnclosedScreensOnLoad = _settings.ReopenUnclosedScreensOnLoad; @@ -98,6 +101,7 @@ namespace CRSim.ViewModels UpdateSettings(StopCheckInAdvanceDuration, false, value => _settings.StopCheckInAdvanceDuration = TimeSpan.FromMinutes(value)); UpdateSettings(MaxPages, false, value => _settings.MaxPages = value); UpdateSettings(SwitchPageSeconds, false, value => _settings.SwitchPageSeconds = value); + UpdateSettings(RefreshIntervalSeconds, false, value => _settings.RefreshIntervalSeconds = value); _settings.UserKey = UserKey; _settings.LoadTodayOnly = LoadTodayOnly; _settings.ReopenUnclosedScreensOnLoad = ReopenUnclosedScreensOnLoad; diff --git a/CRSim/Views/SettingsPage.xaml b/CRSim/Views/SettingsPage.xaml index 35ca5e4..abcf2f6 100644 --- a/CRSim/Views/SettingsPage.xaml +++ b/CRSim/Views/SettingsPage.xaml @@ -56,6 +56,9 @@ + + +