From 053a67587bf9ea03ae16fb7925ecdb46adba75ba Mon Sep 17 00:00:00 2001 From: denglihong2007 <98096191+denglihong2007@users.noreply.github.com> Date: Sun, 8 Jun 2025 22:04:38 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=94=B9=E9=83=A8?= =?UTF-8?q?=E5=88=86=E5=8F=98=E9=87=8F=E3=80=81=E5=B1=9E=E6=80=A7=E3=80=81?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E5=99=A8=E5=90=8D=E7=A7=B0=20[skip=20cliff]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ImageConverter.cs => NumberToImageConverter.cs} | 2 +- .../Converters/TrainStateColorConverter.cs | 12 ++++++------ .../ViewModels/Ankang/ExitScreenViewModel.cs | 2 +- .../BeijingNan/PrimaryScreenViewModel.cs | 2 +- .../ViewModels/BeijingXi/PrimaryScreenViewModel.cs | 2 +- .../ChengduDong/SecondaryScreenViewModel.cs | 2 +- .../SecondaryScreenViewModel.cs | 2 +- .../DezhouDong/PrimaryScreenViewModel.cs | 2 +- .../GuangdongIntercity/SecondaryScreenViewModel.cs | 2 +- .../ViewModels/Guangyuan/PrimaryScreenViewModel.cs | 2 +- .../ViewModels/Harbin/PrimaryScreenViewModel.cs | 2 +- .../ViewModels/Jinanxi/SmallScreenViewModel.cs | 2 +- .../ViewModels/Niuzhou/PrimaryScreenViewModel.cs | 2 +- .../ViewModels/ScreenViewModel.cs | 14 +++++++------- .../ViewModels/Shanghai/OutsideScreenViewModel.cs | 2 +- .../ViewModels/Zibo/PrimaryScreenViewModel.cs | 2 +- .../ViewModels/Zibo/SecondaryScreenViewModel.cs | 2 +- .../ViewModels/Zibo/TicketCheckScreenViewModel.cs | 8 ++++---- .../Views/BeijingNan/PrimaryScreenView.xaml | 2 +- .../SecondaryScreenView.xaml | 4 ++-- .../Views/FuzhouNan/TicketCheckScreenView.xaml | 2 +- .../GuangdongIntercity/SecondaryScreenView.xaml | 2 +- .../Views/Jinanxi/SmallScreenView.xaml | 2 +- .../Views/Zibo/PrimaryScreenView.xaml | 2 +- .../Views/Zibo/SecondaryScreenView.xaml | 2 +- 25 files changed, 40 insertions(+), 40 deletions(-) rename CRSim.ScreenSimulator/Converters/{TrainNumberToImageConverter.cs => NumberToImageConverter.cs} (96%) diff --git a/CRSim.ScreenSimulator/Converters/TrainNumberToImageConverter.cs b/CRSim.ScreenSimulator/Converters/NumberToImageConverter.cs similarity index 96% rename from CRSim.ScreenSimulator/Converters/TrainNumberToImageConverter.cs rename to CRSim.ScreenSimulator/Converters/NumberToImageConverter.cs index 2940fde..60f7d02 100644 --- a/CRSim.ScreenSimulator/Converters/TrainNumberToImageConverter.cs +++ b/CRSim.ScreenSimulator/Converters/NumberToImageConverter.cs @@ -3,7 +3,7 @@ using System.Windows.Data; namespace CRSim.ScreenSimulator.Converters { - public class TrainNumberToImageConverter : IValueConverter + public class NumberToImageConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { diff --git a/CRSim.ScreenSimulator/Converters/TrainStateColorConverter.cs b/CRSim.ScreenSimulator/Converters/TrainStateColorConverter.cs index 2c80362..b560312 100644 --- a/CRSim.ScreenSimulator/Converters/TrainStateColorConverter.cs +++ b/CRSim.ScreenSimulator/Converters/TrainStateColorConverter.cs @@ -20,8 +20,8 @@ namespace CRSim.ScreenSimulator.Converters public List WaitingColorList { get; set; } = []; public SolidColorBrush WaitingColor { get; set; } = new(Colors.White); - public SolidColorBrush CheckingTicketsColor { get; set; } = new(Colors.LightGreen); - public SolidColorBrush StopCheckingTicketsColor { get; set; } = new(Colors.Red); + public SolidColorBrush CheckInColor { get; set; } = new(Colors.LightGreen); + public SolidColorBrush StopCheckInColor { get; set; } = new(Colors.Red); object IMultiValueConverter.Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { var serviceProvider = (IServiceProvider)Application.Current.Resources["ServiceProvider"]; @@ -38,7 +38,7 @@ namespace CRSim.ScreenSimulator.Converters //过路站 if (_timeService.GetDateTimeNow() > departureTime.Subtract(_settings.PassingCheckInAdvanceDuration) && _timeService.GetDateTimeNow() < departureTime.Subtract(_settings.StopCheckInAdvanceDuration)) { - return CheckingTicketsColor; + return CheckInColor; } } else @@ -46,16 +46,16 @@ namespace CRSim.ScreenSimulator.Converters //始发站 if (_timeService.GetDateTimeNow() > departureTime.Subtract(_settings.DepartureCheckInAdvanceDuration) && _timeService.GetDateTimeNow() < departureTime.Subtract(_settings.StopCheckInAdvanceDuration)) { - return CheckingTicketsColor; + return CheckInColor; } } if (_timeService.GetDateTimeNow() > departureTime.Subtract(_settings.StopCheckInAdvanceDuration)) { - return StopCheckingTicketsColor; + return StopCheckInColor; } if (values[2] is TimeSpan state && state.TotalMinutes > 0) { - return StopCheckingTicketsColor; + return StopCheckInColor; } if (DisplayMode == "Alternating_Row_Colors" && values.Length > 3 && values[3] is int rowNumber){ return WaitingColorList[rowNumber % WaitingColorList.Count]; diff --git a/CRSim.ScreenSimulator/ViewModels/Ankang/ExitScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/Ankang/ExitScreenViewModel.cs index 8a09977..7aa688b 100644 --- a/CRSim.ScreenSimulator/ViewModels/Ankang/ExitScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/Ankang/ExitScreenViewModel.cs @@ -9,7 +9,7 @@ namespace CRSim.ScreenSimulator.ViewModels.Ankang { Text = $"西安局集团公司推出西铁行APP站车服务产品,欢迎体验使用。"; ItemsPerPage = 7; - PageCount = 1; + ScreenCount = 1; StationType = StationType.Arrival; } } diff --git a/CRSim.ScreenSimulator/ViewModels/BeijingNan/PrimaryScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/BeijingNan/PrimaryScreenViewModel.cs index 821d463..a657111 100644 --- a/CRSim.ScreenSimulator/ViewModels/BeijingNan/PrimaryScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/BeijingNan/PrimaryScreenViewModel.cs @@ -8,7 +8,7 @@ namespace CRSim.ScreenSimulator.ViewModels.BeijingNan : base(timeService, settingsService) { ItemsPerPage = 10; - PageCount = 1; + ScreenCount = 1; StationType = StationType.Departure; } } diff --git a/CRSim.ScreenSimulator/ViewModels/BeijingXi/PrimaryScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/BeijingXi/PrimaryScreenViewModel.cs index 4dc56fd..b9523e4 100644 --- a/CRSim.ScreenSimulator/ViewModels/BeijingXi/PrimaryScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/BeijingXi/PrimaryScreenViewModel.cs @@ -8,7 +8,7 @@ namespace CRSim.ScreenSimulator.ViewModels.BeijingXi : base(timeService, settingsService) { ItemsPerPage = 13; - PageCount = 2; + ScreenCount = 2; StationType = StationType.Departure; } } diff --git a/CRSim.ScreenSimulator/ViewModels/ChengduDong/SecondaryScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/ChengduDong/SecondaryScreenViewModel.cs index 3229156..9e04ecc 100644 --- a/CRSim.ScreenSimulator/ViewModels/ChengduDong/SecondaryScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/ChengduDong/SecondaryScreenViewModel.cs @@ -9,7 +9,7 @@ namespace CRSim.ScreenSimulator.ViewModels.ChengduDong { Text = " 检票口信息请以车站显示屏信息为准。公共场所请妥善保管个人贵重物品。"; ItemsPerPage = 12; - PageCount = 2; + ScreenCount = 2; StationType = StationType.Departure; } } diff --git a/CRSim.ScreenSimulator/ViewModels/ChengduShuangliuAirport/SecondaryScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/ChengduShuangliuAirport/SecondaryScreenViewModel.cs index aec86a7..91a545c 100644 --- a/CRSim.ScreenSimulator/ViewModels/ChengduShuangliuAirport/SecondaryScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/ChengduShuangliuAirport/SecondaryScreenViewModel.cs @@ -9,7 +9,7 @@ namespace CRSim.ScreenSimulator.ViewModels.ChengduShuangliuAirport { Text = $"国内航班截载时间为起飞前{settingsService.GetSettings().StopCheckInAdvanceDuration.TotalMinutes}分钟。"; ItemsPerPage = 7; - PageCount = 1; + ScreenCount = 1; StationType = StationType.Departure; } } diff --git a/CRSim.ScreenSimulator/ViewModels/DezhouDong/PrimaryScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/DezhouDong/PrimaryScreenViewModel.cs index 7ef549a..76f216f 100644 --- a/CRSim.ScreenSimulator/ViewModels/DezhouDong/PrimaryScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/DezhouDong/PrimaryScreenViewModel.cs @@ -8,7 +8,7 @@ namespace CRSim.ScreenSimulator.ViewModels.DezhouDong : base(timeService, settingsService) { ItemsPerPage = 10; - PageCount = 1; + ScreenCount = 1; StationType = StationType.Departure; } } diff --git a/CRSim.ScreenSimulator/ViewModels/GuangdongIntercity/SecondaryScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/GuangdongIntercity/SecondaryScreenViewModel.cs index b492759..a974a70 100644 --- a/CRSim.ScreenSimulator/ViewModels/GuangdongIntercity/SecondaryScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/GuangdongIntercity/SecondaryScreenViewModel.cs @@ -8,7 +8,7 @@ namespace CRSim.ScreenSimulator.ViewModels.GuangdongIntercity { Text = $"列 车 到 发 信 息"; ItemsPerPage = 8; - PageCount = 1; + ScreenCount = 1; } } } diff --git a/CRSim.ScreenSimulator/ViewModels/Guangyuan/PrimaryScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/Guangyuan/PrimaryScreenViewModel.cs index 00c2c7a..a55d7e3 100644 --- a/CRSim.ScreenSimulator/ViewModels/Guangyuan/PrimaryScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/Guangyuan/PrimaryScreenViewModel.cs @@ -9,7 +9,7 @@ namespace CRSim.ScreenSimulator.ViewModels.Guangyuan { Text = "成都铁路客服电话:028-12306"; ItemsPerPage = 12; - PageCount = 1; + ScreenCount = 1; StationType = StationType.Departure; } } diff --git a/CRSim.ScreenSimulator/ViewModels/Harbin/PrimaryScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/Harbin/PrimaryScreenViewModel.cs index a0b77d0..3c057ec 100644 --- a/CRSim.ScreenSimulator/ViewModels/Harbin/PrimaryScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/Harbin/PrimaryScreenViewModel.cs @@ -9,7 +9,7 @@ namespace CRSim.ScreenSimulator.ViewModels.Harbin { Text = $"开车前{settingsService.GetSettings().StopCheckInAdvanceDuration.TotalMinutes}分钟停止检票"; ItemsPerPage = 6; - PageCount = 2; + ScreenCount = 2; StationType = StationType.Departure; } } diff --git a/CRSim.ScreenSimulator/ViewModels/Jinanxi/SmallScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/Jinanxi/SmallScreenViewModel.cs index 6fa5ebe..7d91ad3 100644 --- a/CRSim.ScreenSimulator/ViewModels/Jinanxi/SmallScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/Jinanxi/SmallScreenViewModel.cs @@ -8,7 +8,7 @@ namespace CRSim.ScreenSimulator.ViewModels.Jinanxi : base(timeService, settingsService) { ItemsPerPage = 9; - PageCount = 1; + ScreenCount = 1; StationType = StationType.Departure; SetText(); } diff --git a/CRSim.ScreenSimulator/ViewModels/Niuzhou/PrimaryScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/Niuzhou/PrimaryScreenViewModel.cs index 4de43c4..98cb3f5 100644 --- a/CRSim.ScreenSimulator/ViewModels/Niuzhou/PrimaryScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/Niuzhou/PrimaryScreenViewModel.cs @@ -9,7 +9,7 @@ namespace CRSim.ScreenSimulator.ViewModels.Niuzhou { Text = $"开车前{settingsService.GetSettings().PassingCheckInAdvanceDuration.TotalMinutes}分钟开始检票,开车前{settingsService.GetSettings().StopCheckInAdvanceDuration.TotalMinutes}分钟停止检票。"; ItemsPerPage = 10; - PageCount = 1; + ScreenCount = 1; StationType = StationType.Departure; } } diff --git a/CRSim.ScreenSimulator/ViewModels/ScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/ScreenViewModel.cs index 6d5f194..f87eb34 100644 --- a/CRSim.ScreenSimulator/ViewModels/ScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/ScreenViewModel.cs @@ -45,11 +45,11 @@ namespace CRSim.ScreenSimulator.ViewModels } [ObservableProperty] private int _currentPageIndex = 0; - public int PagesCount + public int PageCount { get { - return Math.Min((int)Math.Ceiling((double)TrainInfo.Count / ItemsPerPage * PageCount.Value),_settings.MaxPages); + return Math.Min((int)Math.Ceiling((double)TrainInfo.Count / ItemsPerPage * ScreenCount.Value),_settings.MaxPages); } } public int ItemsPerPage = 1; @@ -57,7 +57,7 @@ namespace CRSim.ScreenSimulator.ViewModels // // 适用于翻页屏的屏幕个数参数,非翻页屏请不要设置。 // - public int? PageCount = null; + public int? ScreenCount = null; private async void Initialize() { @@ -150,7 +150,7 @@ namespace CRSim.ScreenSimulator.ViewModels { Application.Current.Dispatcher.Invoke(() => { - if (PageCount == null) + if (ScreenCount == null) { for (int i = 0; i < ItemsPerPage; i++) { @@ -165,10 +165,10 @@ namespace CRSim.ScreenSimulator.ViewModels } return; } - int pageCount = (int)Math.Ceiling((double)TrainInfo.Count / (ItemsPerPage * PageCount.Value)); - int startIndex = CurrentPageIndex * ItemsPerPage * PageCount.Value; + int pageCount = (int)Math.Ceiling((double)TrainInfo.Count / (ItemsPerPage * ScreenCount.Value)); + int startIndex = CurrentPageIndex * ItemsPerPage * ScreenCount.Value; - switch (PageCount) + switch (ScreenCount) { case 1: { diff --git a/CRSim.ScreenSimulator/ViewModels/Shanghai/OutsideScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/Shanghai/OutsideScreenViewModel.cs index d697ae7..04f353b 100644 --- a/CRSim.ScreenSimulator/ViewModels/Shanghai/OutsideScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/Shanghai/OutsideScreenViewModel.cs @@ -8,7 +8,7 @@ namespace CRSim.ScreenSimulator.ViewModels.Shanghai : base(timeService, settingsService) { ItemsPerPage = 9; - PageCount = 1; + ScreenCount = 1; StationType = StationType.Departure; } } diff --git a/CRSim.ScreenSimulator/ViewModels/Zibo/PrimaryScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/Zibo/PrimaryScreenViewModel.cs index 4105581..69a5dd9 100644 --- a/CRSim.ScreenSimulator/ViewModels/Zibo/PrimaryScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/Zibo/PrimaryScreenViewModel.cs @@ -8,7 +8,7 @@ namespace CRSim.ScreenSimulator.ViewModels.Zibo : base(timeService, settingsService) { ItemsPerPage = 8; - PageCount = 2; + ScreenCount = 2; StationType = StationType.Departure; } } diff --git a/CRSim.ScreenSimulator/ViewModels/Zibo/SecondaryScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/Zibo/SecondaryScreenViewModel.cs index c6181a8..93aa835 100644 --- a/CRSim.ScreenSimulator/ViewModels/Zibo/SecondaryScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/Zibo/SecondaryScreenViewModel.cs @@ -9,7 +9,7 @@ namespace CRSim.ScreenSimulator.ViewModels.Zibo { Text = $"开车前{settingsService.GetSettings().StopCheckInAdvanceDuration.TotalMinutes}分钟停止检票"; ItemsPerPage = 18; - PageCount = 1; + ScreenCount = 1; StationType = StationType.Departure; } } diff --git a/CRSim.ScreenSimulator/ViewModels/Zibo/TicketCheckScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/Zibo/TicketCheckScreenViewModel.cs index ce9a4c2..ea35ab9 100644 --- a/CRSim.ScreenSimulator/ViewModels/Zibo/TicketCheckScreenViewModel.cs +++ b/CRSim.ScreenSimulator/ViewModels/Zibo/TicketCheckScreenViewModel.cs @@ -12,17 +12,17 @@ namespace CRSim.ScreenSimulator.ViewModels.Zibo Text = $" 开车前{settingsService.GetSettings().StopCheckInAdvanceDuration.TotalMinutes}分钟停止检票"; StationType = StationType.Departure; ItemsPerPage = 5; - PageCount = 2; + ScreenCount = 2; } public override void RefreshDisplay(object? sender, EventArgs? e) { Application.Current.Dispatcher.Invoke(() => { - int pageCount = (int)Math.Ceiling((double)TrainInfo.Count / (ItemsPerPage * PageCount.Value)); + int pageCount = (int)Math.Ceiling((double)TrainInfo.Count / (ItemsPerPage * ScreenCount.Value)); ScreenA.Clear(); ScreenB.Clear(); - int startIndex = CurrentPageIndex * ItemsPerPage * PageCount.Value; - var ItemsToShow = TrainInfo.Skip(startIndex).Take(ItemsPerPage * PageCount.Value).ToList(); + int startIndex = CurrentPageIndex * ItemsPerPage * ScreenCount.Value; + var ItemsToShow = TrainInfo.Skip(startIndex).Take(ItemsPerPage * ScreenCount.Value).ToList(); var leftItems = ItemsToShow.Where((item, index) => index % 2 == 0).ToList(); var rightItems = ItemsToShow.Where((item, index) => index % 2 == 1).ToList(); while (leftItems.Count < ItemsPerPage) diff --git a/CRSim.ScreenSimulator/Views/BeijingNan/PrimaryScreenView.xaml b/CRSim.ScreenSimulator/Views/BeijingNan/PrimaryScreenView.xaml index 0fb40ed..8c3c963 100644 --- a/CRSim.ScreenSimulator/Views/BeijingNan/PrimaryScreenView.xaml +++ b/CRSim.ScreenSimulator/Views/BeijingNan/PrimaryScreenView.xaml @@ -13,7 +13,7 @@ - + diff --git a/CRSim.ScreenSimulator/Views/ChengduShuangliuAirport/SecondaryScreenView.xaml b/CRSim.ScreenSimulator/Views/ChengduShuangliuAirport/SecondaryScreenView.xaml index d55ce1e..f5b009f 100644 --- a/CRSim.ScreenSimulator/Views/ChengduShuangliuAirport/SecondaryScreenView.xaml +++ b/CRSim.ScreenSimulator/Views/ChengduShuangliuAirport/SecondaryScreenView.xaml @@ -22,11 +22,11 @@ - + - + - + diff --git a/CRSim.ScreenSimulator/Views/GuangdongIntercity/SecondaryScreenView.xaml b/CRSim.ScreenSimulator/Views/GuangdongIntercity/SecondaryScreenView.xaml index 591e85e..43dbbdf 100644 --- a/CRSim.ScreenSimulator/Views/GuangdongIntercity/SecondaryScreenView.xaml +++ b/CRSim.ScreenSimulator/Views/GuangdongIntercity/SecondaryScreenView.xaml @@ -17,7 +17,7 @@ - +