增加了初始弹窗,但是没有成功

更改了CAN和LIN协调
更改了配置程序的名称顺序
This commit is contained in:
2025-01-11 12:04:34 +08:00
parent 620c5e8178
commit e49a48fb25
53 changed files with 5118 additions and 131 deletions

View File

@@ -0,0 +1,160 @@
using Prism.Regions;
using Prism.Services.Dialogs;
using Syncfusion.Windows.Shared;
using Prism.Ioc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using CapMachine.Wpf.Views;
namespace CapMachine.Wpf.Services
{
/// <summary>
/// App启动服务
/// 暂时不用
/// </summary>
public class AppStartService:IAppStartService
{
/// <summary>
/// 退出
/// </summary>
public void Exit()
{
if (System.Windows.Application.Current is IAppTaskBar appTaskBar)
appTaskBar.Dispose();
Environment.Exit(0);
}
/// <summary>
/// 登录退出
/// </summary>
public void Logout()
{
App.Current.MainWindow.Hide();
SplashScreenInitialized();
App.Current.MainWindow.Show();
if (App.Current.MainWindow.DataContext is INavigationAware navigationAware)
navigationAware.OnNavigatedTo(null);
}
/// <summary>
/// CreateShell
/// </summary>
public void CreateShell()
{
var container = ContainerLocator.Container;
//var userConfigurationService = container.Resolve<UserConfigurationService>();
//userConfigurationService.OnAccessTokenRefresh = OnAccessTokenRefresh;
//userConfigurationService.OnSessionTimeOut = OnSessionTimeout;
//初始的窗户
SplashScreenInitialized();
#region
//Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN");
//从容器中获取MainView的实例对象系统运行的主窗体
//var container = ContainerLocator.Container;
var shell = container.Resolve<object>("MainView");
//加载种子数据
//var SeekData = new SeekData(container.Resolve<IFreeSql>());
if (shell is Window view)
{
//更新Prism注册区域信息
var regionManager = container.Resolve<IRegionManager>();
RegionManager.SetRegionManager(view, regionManager);
RegionManager.UpdateRegions();
//给MainView的MainViewFooterContentRegion区域设置FooterView具体的信息
regionManager.RequestNavigate("MainViewFooterContentRegion", nameof(FooterView));
regionManager.RequestNavigate("MainViewContentRegion", nameof(MonitorView));
//调用首页的INavigationAware 接口做一个初始化操作
if (view.DataContext is INavigationAware navigationAware)
{
navigationAware.OnNavigatedTo(null);
//呈现首页
App.Current.MainWindow = view;
}
}
//先加载服务防止在ViewModel中使用时速度慢
var appVersionService = ContainerLocator.Container.Resolve<IFreeSql>();
//var appVersionService1 = ContainerLocator.Container.Resolve<MachineDataService>();
//var appVersionService2 = ContainerLocator.Container.Resolve<ILogService>();
var appVersionService12 = ContainerLocator.Container.Resolve<AlarmService>();
var appVersionService3 = ContainerLocator.Container.Resolve<MachineRtDataService>();
var appVersionService4 = ContainerLocator.Container.Resolve<ProStepConfigPsView>();
var appVersionService5 = ContainerLocator.Container.Resolve<ProConfigView>();
var appVersionService6 = ContainerLocator.Container.Resolve<HistoryDataView>();
var appVersionService7 = ContainerLocator.Container.Resolve<RealTimeChartView>();
var appVersionService8 = ContainerLocator.Container.Resolve<CanDriveService>();
var appVersionService9 = ContainerLocator.Container.Resolve<DataRecordService>();
var appVersionService10 = ContainerLocator.Container.Resolve<HighSpeedDataService>();
var appVersionService11 = ContainerLocator.Container.Resolve<PPCService>();
var appVersionService15 = ContainerLocator.Container.Resolve<ComActionService>();
//给当前的全局异常捕捉服务使用
//LogService = ContainerLocator.Container.Resolve<ILogService>();
//LogService.Error("ex.ToString()");
//base.OnInitialized();
#endregion
//var shell = container.Resolve<object>("MainView");
//if (shell is ChromelessWindow view)
//{
// var regionManager = container.Resolve<IRegionManager>();
// RegionManager.SetRegionManager(view, regionManager);
// RegionManager.UpdateRegions();
// if (view.DataContext is INavigationAware navigationAware)
// {
// navigationAware.OnNavigatedTo(null);
// App.Current.MainWindow = (Window)shell;
// }
//}
}
private void SplashScreenInitialized()
{
var dialogService = ContainerLocator.Container.Resolve<IHostDialogService>();
var result = dialogService.ShowWindow("SplashScreenView").Result;
if (result == ButtonResult.Ignore)
{
if (!Authorization()) Exit();
}
else if (result == ButtonResult.No) Exit();
}
private bool Authorization()
{
var validationResult = Validation();
if (validationResult == ButtonResult.Retry)
return Authorization();
return validationResult == ButtonResult.OK;
static ButtonResult Validation()
{
var dialogService = ContainerLocator.Container.Resolve<IHostDialogService>();
return dialogService.ShowWindow("MainView").Result;
}
}
}
}