using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Text.Json.Nodes; using static HH.WCS.JuShi.util.Settings; namespace HH.WCS.JuShi.util { public class Settings { public static string HostToAgvServerUrl { get; set; } public static string HASeverUrl { get; set; } public static string GZSeverUrl { get; set; } public static string SqlServer { get; set; } public static string SqlServer1 { get; set; } public static List deviceInfos { get; set; } public static List tableUrls { get; set; } public static List LocAreas { get; set; } public static List ReservoirAreas { get; set; } public static List PriorityLocs { get; set; } public static List ConveyorLinesInfos { get; set; } public static List linePlcInfos { get; set; } public static List SafeInteractions { get; set; } public static int port { get; set; } public static string WHCode { get; set; } public static string FacCode { get; set; } public static string OLMA_Adress { get; set; } public static string[] OLMA_LOC { get; set; } public static void Init() { LogHelper.Info("加载配置文件信息 开始"); try { var jsonFile = System.AppDomain.CurrentDomain.BaseDirectory + "/config/config.json"; using (System.IO.StreamReader file = System.IO.File.OpenText(jsonFile)) { using (JsonTextReader reader = new JsonTextReader(file)) { JObject o = (JObject)JToken.ReadFrom(reader); foreach (Newtonsoft.Json.Linq.JProperty keyValue in o.Properties()) { Console.WriteLine(keyValue.Name); if (keyValue.Name == "HostToAgvServerUrl") { HostToAgvServerUrl = keyValue.Value.ToString(); } if (keyValue.Name == "HASeverUrl") { HASeverUrl = keyValue.Value.ToString(); } if (keyValue.Name == "GZSeverUrl") { GZSeverUrl = keyValue.Value.ToString(); } if (keyValue.Name == "SqlServer") { SqlServer = keyValue.Value.ToString(); } //if (keyValue.Name == "SqlServer1") //{ // SqlServer1 = keyValue.Value.ToString(); //} if (keyValue.Name == "WHCode") { WHCode = keyValue.Value.ToString(); } if (keyValue.Name == "FacCode") { FacCode = keyValue.Value.ToString(); } if (keyValue.Name == "ApiPort") { port = int.Parse(keyValue.Value.ToString()); } if (keyValue.Name == "OLMA_Adress") { OLMA_Adress = keyValue.Value.ToString(); } if (keyValue.Name == "OLMA_LOC") { OLMA_LOC = JsonConvert.DeserializeObject(keyValue.Value.ToString()); } if (keyValue.Name == "DeviceInfo") { deviceInfos = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } //if (keyValue.Name == "TableUrl") //{ // tableUrls = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); //} //if (keyValue.Name == "LocArea") //{ // LocAreas = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); //} if (keyValue.Name == "ReservoirArea") { ReservoirAreas = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } if (keyValue.Name == "linePlcInfo") { linePlcInfos = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } if (keyValue.Name == "ConveyorLinesInfo") { ConveyorLinesInfos = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } if (keyValue.Name == "PriorityLoc") { PriorityLocs = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } if (keyValue.Name == "SafeInteraction") { SafeInteractions = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } } } } LogHelper.Info("加载配置文件信息 完成"); } catch (Exception ex) { LogHelper.Error("加载配置文件失败!" + ex.Message, ex); } } public class deviceInfo { public string address { get; set; } public string deviceName { get; set; } public string[] deviceNo { get; set; } public string TN_Location { get; set; } public int deviceType { get; set; } public int enable { get; set; } } public class TableName { public string name { get; set; } public string code { get; set; } } public class TableUrl { public int id { get; set; } public string url { get; set; } } public class LocArea { public string startBit { get; set; } public string endArea { get; set; } public string endBit { get; set; } public string startArea { get; set; } } public class ReservoirArea { public string areaName { get; set; } public string areaCode { get; set; } } public class linePlcInfo { public string code { get; set; } public string location { get; set; } public string deviceNo { get; set; } public string address { get; set; } public int writeAddr { get; set; } public int readAddr { get; set; } public string[] useAddrNo { get; set; } public string inLoca { get; set; } public string outLoca { get; set; } public string taskType { get; set; } public int enable { get; set; } } public class ConveyorLinesInfo { public string deviceNo { get; set; } public string deviceSign { get; set; } public int code { get; set; } public string location { get; set; } public int writeAddr { get; set; } public double readAddr { get; set; } public int enable { get; set; } } public class PriorityLoc { public string Location { get; set; } public string PrimaryArea { get; set; } public string SecondaryArea { get; set; } } public class SafeInteraction { public string pointCode { get; set; } public string ip { get; set; } public string type { get; set; } public string location { get; set; } } } }