添加项目文件。

This commit is contained in:
2024-07-04 17:42:03 +08:00
parent dc72862945
commit 1bd6cd358f
71 changed files with 7218 additions and 0 deletions

149
CapMachine.Wpf/App.xaml.cs Normal file
View File

@@ -0,0 +1,149 @@
using AutoMapper;
using CapMachine.Core.IService;
using CapMachine.Wpf.MapperProfile;
using CapMachine.Wpf.Services;
using CapMachine.Wpf.ViewModels;
using CapMachine.Wpf.Views;
using FreeSql;
using Prism.DryIoc;
using Prism.Ioc;
using Prism.Regions;
using System.Windows;
namespace CapMachine.Wpf
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : PrismApplication
{
public App()
{
try
{
//24.2.7
//Syncfusion.SfSkinManager.SfSkinManager.ApplyStylesOnApplication = true;
Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("MzEyMzM3NkAzMjM0MmUzMDJlMzBHdjVKNUNpNWZxYXQwR05ZbVYvUEtzbGxXMnVxRjYvRGtLSlZUOGpjQW44PQ==");
// 授权 a717c797-59e3-48de-b6b4-574a4e03dc79
if (!HslCommunication.Authorization.SetAuthorizationCode("a717c797-59e3-48de-b6b4-574a4e03dc79"))
{
//active failed
//MessageBox.Show("授权失败当前程序只能使用8小时");
//return;
}
else
{
//IsActive = true;
}
//SfSkinManager.ApplyStylesOnApplication = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
protected override Window CreateShell() => null;
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
////注册日志服务
//containerRegistry.RegisterSingleton<ILogService, LogService>();
////注册设备服务
//containerRegistry.RegisterSingleton<MachineDataService>();
containerRegistry.RegisterSingleton<PlcRtDataService>();
//注册AutoMapper 将IAutoMapperProvider注入IOC容器并对外提供IMapper注入类型。
containerRegistry.RegisterSingleton<IMapperProvider, MapperConfig>();
containerRegistry.Register(typeof(IMapper), GetMapper);
//注册IFreeSql实例 单例
containerRegistry.RegisterSingleton<IFreeSql>(() =>
{
IFreeSql Fsql = new FreeSqlBuilder()
//.UseConnectionString(DataType.SqlServer, "Data Source=CT-PC;user instance=false;Initial Catalog=KylinEMS;Encrypt=True;TrustServerCertificate=True;User ID=sa;Password=12345678")
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=CT-PC;user instance=false;Initial Catalog=CapMachine;Encrypt=True;TrustServerCertificate=True;User ID=sa;Password=12345678")
.UseAutoSyncStructure(true)
.Build();
return Fsql;
});
containerRegistry.RegisterSingleton<INavigationMenuService, NavigationMenuService>();
containerRegistry.RegisterForNavigation<MainView, MainViewModel>();
containerRegistry.RegisterForNavigation<MonitorView, MonitorViewModel>();
containerRegistry.RegisterForNavigation<ProConfigView, ProConfigViewModel>();
containerRegistry.RegisterForNavigation<RealTimeChartView, RealTimeChartViewModel>();
//containerRegistry.RegisterForNavigation<ProChartView, ProChartViewModel>();
//containerRegistry.RegisterForNavigation<ProConfigView, ProConfigViewModel>();
//注册Dialog视图时绑定VM
containerRegistry.RegisterDialog<DialogCreateProView, DialogCreateProViewModel>();
containerRegistry.RegisterDialog<DialogEditProView, DialogEditProViewModel>();
containerRegistry.RegisterDialog<DialogChartRtConfigView, DialogChartRtConfigViewModel>();
//注册AutoMapper
//containerRegistry.RegisterSingleton<IAutoMapperProvider, AutoMapperProvider>();
//containerRegistry.Register(typeof(IMapper), GetMapper);
}
//private IMapper GetMapper(IContainerProvider container)
//{
// var provider = container.Resolve<IAutoMapperProvider>();
// return provider.GetMapper();
//}
/// <summary>
/// 将IAutoMapperProvider注入IOC容器并对外提供IMapper注入类型。
/// </summary>
/// <param name="container"></param>
/// <returns></returns>
private IMapper GetMapper(IContainerProvider container)
{
var provider = container.Resolve<IMapperProvider>();
return provider.GetMapper();
}
/// <summary>
/// 系统初始化
/// </summary>
protected override void OnInitialized()
{
//从容器中获取MainView的实例对象
var container = ContainerLocator.Container;
var shell = container.Resolve<object>("MainView");
if (shell is Window view)
{
//更新Prism注册区域信息
var regionManager = container.Resolve<IRegionManager>();
RegionManager.SetRegionManager(view, regionManager);
RegionManager.UpdateRegions();
//调用首页的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 appVersionService3 = ContainerLocator.Container.Resolve<PlcRtDataService>();
base.OnInitialized();
}
}
}