From 81dfbed3ff3fb995ed780c40e9ddd21356b55cd5 Mon Sep 17 00:00:00 2001 From: denglihong2007 <2639367181@qq.com> Date: Sun, 13 Apr 2025 03:59:55 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=A6=8F=E5=B7=9E?= =?UTF-8?q?=E5=8D=97=E7=AB=99=E6=A3=80=E7=A5=A8=E5=8F=A3=E7=9C=8B=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TrainInfoToTicketCheckTimeConverter.cs | 35 +++ .../FuzhouNan/TicketCheckScreenViewModel.cs | 37 +++ .../FuzhouNan/TicketCheckScreenView.xaml | 238 ++++++++++++++++++ .../FuzhouNan/TicketCheckScreenView.xaml.cs | 37 +++ CRSim/App.xaml.cs | 2 + .../FuzhouNan/TicketCheckScreen.png | Bin 0 -> 28288 bytes CRSim/CRSim.csproj | 2 + CRSim/Models/StylesInfoData.json | 12 + 8 files changed, 363 insertions(+) create mode 100644 CRSim.ScreenSimulator/Converters/TrainInfoToTicketCheckTimeConverter.cs create mode 100644 CRSim.ScreenSimulator/ViewModels/Windows/Stations/FuzhouNan/TicketCheckScreenViewModel.cs create mode 100644 CRSim.ScreenSimulator/Views/Windows/Stations/FuzhouNan/TicketCheckScreenView.xaml create mode 100644 CRSim.ScreenSimulator/Views/Windows/Stations/FuzhouNan/TicketCheckScreenView.xaml.cs create mode 100644 CRSim/Assets/StyleImages/FuzhouNan/TicketCheckScreen.png diff --git a/CRSim.ScreenSimulator/Converters/TrainInfoToTicketCheckTimeConverter.cs b/CRSim.ScreenSimulator/Converters/TrainInfoToTicketCheckTimeConverter.cs new file mode 100644 index 0000000..e50885e --- /dev/null +++ b/CRSim.ScreenSimulator/Converters/TrainInfoToTicketCheckTimeConverter.cs @@ -0,0 +1,35 @@ +using CRSim.Core.Models; +using CRSim.Core.Services; +using CRSim.ScreenSimulator.Models; +using Microsoft.Extensions.DependencyInjection; +using System.Globalization; +using System.Windows; +using System.Windows.Data; + +namespace CRSim.ScreenSimulator.Converters +{ + public class TrainInfoToTicketCheckTimeConverter : IValueConverter + { + private ITimeService _timeService; + private Settings _settings; + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value is TrainInfo trainInfo && trainInfo.DepartureTime!=null) + { + var serviceProvider = (IServiceProvider)Application.Current.Resources["ServiceProvider"]; + _timeService = serviceProvider.GetRequiredService(); + _settings = serviceProvider.GetRequiredService().GetSettings(); + if (trainInfo.ArrivalTime == null) + { + return trainInfo.DepartureTime.Value.Subtract(_settings.DepartureCheckInAdvanceDuration).ToString("HH:mm");//始发车 + } + return trainInfo.DepartureTime.Value.Subtract(_settings.PassingCheckInAdvanceDuration).ToString("HH:mm");//过路车 + } + return string.Empty; + } + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/CRSim.ScreenSimulator/ViewModels/Windows/Stations/FuzhouNan/TicketCheckScreenViewModel.cs b/CRSim.ScreenSimulator/ViewModels/Windows/Stations/FuzhouNan/TicketCheckScreenViewModel.cs new file mode 100644 index 0000000..21455e3 --- /dev/null +++ b/CRSim.ScreenSimulator/ViewModels/Windows/Stations/FuzhouNan/TicketCheckScreenViewModel.cs @@ -0,0 +1,37 @@ +using CRSim.Core.Services; +using CRSim.ScreenSimulator.Models; +using System.Collections.ObjectModel; +using CRSim.Core.Models; +using System.Windows; +namespace CRSim.ScreenSimulator.ViewModels.FuzhouNan +{ + public class TicketCheckScreenViewModel : ScreenViewModel + { + public ObservableCollection Screen { get; set; } = []; + public TicketCheckScreenViewModel(ITimeService timeService, ISettingsService settingsService) + : base(timeService, settingsService) + { + Text = $"开车前{settingsService.GetSettings().StopCheckInAdvanceDuration.TotalMinutes}分钟停止检票"; + StationType = StationType.Departure; + timeService.RefreshSecondsElapsed += RefreshDisplay; + Initialize(); + } + private async void Initialize() + { + ItemsPerPage = 6; + await WaitForDataLoadAsync(); + RefreshDisplay(null,null); + } + private void RefreshDisplay(object? sender, EventArgs e) + { + Application.Current.Dispatcher.Invoke(() => + { + Screen.Clear(); + for (int i = 0; i < ItemsPerPage; i++) + { + Screen.Add(TrainInfo.Count > i ? TrainInfo[i] : new()); + } + }); + } + } +} diff --git a/CRSim.ScreenSimulator/Views/Windows/Stations/FuzhouNan/TicketCheckScreenView.xaml b/CRSim.ScreenSimulator/Views/Windows/Stations/FuzhouNan/TicketCheckScreenView.xaml new file mode 100644 index 0000000..c04c7f2 --- /dev/null +++ b/CRSim.ScreenSimulator/Views/Windows/Stations/FuzhouNan/TicketCheckScreenView.xaml @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CRSim.ScreenSimulator/Views/Windows/Stations/FuzhouNan/TicketCheckScreenView.xaml.cs b/CRSim.ScreenSimulator/Views/Windows/Stations/FuzhouNan/TicketCheckScreenView.xaml.cs new file mode 100644 index 0000000..d5ac3cd --- /dev/null +++ b/CRSim.ScreenSimulator/Views/Windows/Stations/FuzhouNan/TicketCheckScreenView.xaml.cs @@ -0,0 +1,37 @@ +using CRSim.ScreenSimulator.ViewModels.FuzhouNan; +using System.Windows; +using System.Windows.Input; +using System.Windows.Media; + +namespace CRSim.ScreenSimulator.Views.FuzhouNan +{ + /// + /// SecondaryScreen.xaml 的交互逻辑 + /// + public partial class TicketCheckScreenView : Window + { + public TicketCheckScreenViewModel ViewModel { get; } + public TicketCheckScreenView(TicketCheckScreenViewModel viewModel) + { + InitializeComponent(); + RenderOptions.SetEdgeMode(this, EdgeMode.Aliased); + ViewModel = viewModel; + DataContext = viewModel; + } + private void Window_MouseDown(object sender, MouseButtonEventArgs e) + { + if (e.ChangedButton == MouseButton.Left) + { + DragMove(); + } + } + + private void Window_KeyDown(object sender, KeyEventArgs e) + { + if (e.Key == Key.Escape) + { + Close(); + } + } + } +} diff --git a/CRSim/App.xaml.cs b/CRSim/App.xaml.cs index 6c37647..9343b68 100644 --- a/CRSim/App.xaml.cs +++ b/CRSim/App.xaml.cs @@ -73,6 +73,8 @@ services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); + services.AddTransient(); services.AddTransient(); services.AddTransient(); }).Build(); diff --git a/CRSim/Assets/StyleImages/FuzhouNan/TicketCheckScreen.png b/CRSim/Assets/StyleImages/FuzhouNan/TicketCheckScreen.png new file mode 100644 index 0000000000000000000000000000000000000000..44f7cef3e079b02083099283a6d32f3ee7f9d43d GIT binary patch literal 28288 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 QNI47*mAlGSind|@4@a*OW&i*H literal 0 HcmV?d00001 diff --git a/CRSim/CRSim.csproj b/CRSim/CRSim.csproj index 36ef8c2..30c848f 100644 --- a/CRSim/CRSim.csproj +++ b/CRSim/CRSim.csproj @@ -17,6 +17,7 @@ + @@ -43,6 +44,7 @@ + diff --git a/CRSim/Models/StylesInfoData.json b/CRSim/Models/StylesInfoData.json index 84fc035..e55373a 100644 --- a/CRSim/Models/StylesInfoData.json +++ b/CRSim/Models/StylesInfoData.json @@ -34,6 +34,18 @@ "Text" ] }, + { + "UniqueId": "FuzhouNan TicketCheckScreen", + "Title": "福州南站检票口看板", + "Station": "FuzhouNan", + "StyleName": "TicketCheckScreenView", + "ImagePath": "Assets/StyleImages/FuzhouNan/TicketCheckScreen.png", + "Parameters": [ + "Station", + "TicketCheck", + "Text" + ] + }, { "UniqueId": "BeijingXi PrimaryScreen", "Title": "北京西站主要看板",