You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.8 KiB
65 lines
1.8 KiB
using EC.Util.CameraSDK;
|
|
using EC.Util.Common;
|
|
using JiLinApp.Biz.TransmitAlarm;
|
|
using JiLinApp.Docking.Alarm;
|
|
using JiLinApp.Docking.Military;
|
|
using JiLinApp.Docking.Ptz;
|
|
using NewLife.Configuration;
|
|
using System;
|
|
using System.IO;
|
|
|
|
namespace JiLinApp.Core;
|
|
|
|
public static class Global
|
|
{
|
|
#region Fields
|
|
|
|
private static JsonConfigProvider ConfigProvider { get; }
|
|
|
|
public static AppConfig AppConfig { get; }
|
|
|
|
public static MilitaryService MilitaryService { get; }
|
|
|
|
public static IAlarmService AlarmService { get; }
|
|
|
|
#endregion Fields
|
|
|
|
static Global()
|
|
{
|
|
try
|
|
{
|
|
// Config
|
|
string filePath = Path.Combine("config", "appconfig.json");
|
|
if (!File.Exists(filePath)) throw new FileNotFoundException(filePath);
|
|
ConfigProvider = new() { FileName = filePath };
|
|
AppConfig = new AppConfig();
|
|
ConfigProvider.Bind(AppConfig);
|
|
|
|
// BaseConfig
|
|
BaseConfig baseConfig = AppConfig.Base;
|
|
// ptzCtrlTypes
|
|
PtzControlTypeConfigHelper.Init(baseConfig.PtzCtrlTypes);
|
|
|
|
// MilitaryConfig
|
|
MilitaryConfig militaryConfig = AppConfig.Military;
|
|
MilitaryService = new MilitaryService(militaryConfig);
|
|
|
|
// AlarmPlatformConfig
|
|
AlarmPlatformConfig alarmPlatformConfig = AppConfig.AlarmPlatform;
|
|
AlarmService = AlarmServiceFactory.CreateService(alarmPlatformConfig);
|
|
AlarmService.Start();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
throw;
|
|
}
|
|
}
|
|
|
|
public static void Init()
|
|
{
|
|
// 静态类在调用之后才会初始化静态类构造方法
|
|
CameraFactory.VirtualInit();
|
|
LogUnit.VirtualInit();
|
|
AlarmCodeHelper.VirtualInit();
|
|
}
|
|
}
|