using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HH.WCS.JingyuNongfu.util { public class Settings { public static string HostToAgvServerUrl { get; set; } public static string OITcpSeverUrl { get; set; } public static string SqlServer { get; set; } public static string Time { get; set; } public static List deviceInfos { get; set; } public static List ppZones { get; set; } public static List cpZones { get; set; } public static List taskTypePris { get; set; } public static List GetThirdPartyUrlList { get; set; } public static List GetHttpApiVerifyList { get; set; } public static List Gettransport { get; set; } public static string FactoryCode { get; set; } public static string FactoryName { get; set; } public static string ProjectName { get; set; } public static string OneSign { get; set; } public static void Init() { LogHelper.Info("加载配置文件信息 开始"); try { var jsonFile = System.AppDomain.CurrentDomain.BaseDirectory + "/config/config.json"; //var jsonFile = System.AppDomain.CurrentDomain.BaseDirectory + "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 == "TableName") { var list = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); list.ForEach(a => STAttribute.attributes.Add(a.name, a.code)); } if (keyValue.Name == "HostToAgvServerUrl") { HostToAgvServerUrl = keyValue.Value.ToString(); } if (keyValue.Name == "Time") { Time = keyValue.Value.ToString(); } if (keyValue.Name == "OITcpSeverUrl") { OITcpSeverUrl = keyValue.Value.ToString(); } if (keyValue.Name == "SqlServer") { SqlServer = keyValue.Value.ToString(); } if (keyValue.Name == "DeviceInfo") { deviceInfos = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } if (keyValue.Name == "DeviceInfo") { deviceInfos = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } if (keyValue.Name == "PPZone") { ppZones = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } if (keyValue.Name == "CPZone") { cpZones = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } if (keyValue.Name == "taskTypePri") { taskTypePris = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } if (keyValue.Name == "GetThirdPartyUrlList") { GetThirdPartyUrlList = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } if (keyValue.Name == "FactoryCode") { FactoryCode = keyValue.Value.ToString(); } if (keyValue.Name == "FactoryName") { FactoryName = keyValue.Value.ToString(); } if (keyValue.Name == "GetHttpApiVerifyList") { GetHttpApiVerifyList = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } if (keyValue.Name == "transport") { Gettransport = JsonConvert.DeserializeObject>(keyValue.Value.ToString()); } if (keyValue.Name == "ProjectName") { ProjectName = keyValue.Value.ToString(); } if (keyValue.Name == "OneSign") { OneSign = keyValue.Value.ToString(); } } } } LogHelper.Info("加载配置文件信息 完成"); } catch (Exception ex) { LogHelper.Error("加载配置文件失败!" + ex.Message, ex); } } public class ThirdPartyUrlModel { /// /// URL编号-唯一 /// public string UrlNo { get; set; } /// /// URL标识名 /// public string UrlName { get; set; } /// /// URL路径 /// public string Url { get; set; } /// /// 是否启用 /// public string Enable { get; set; } } public class deviceInfo { public string address { get; set; } public string deviceName { get; set; } public string[] deviceNo { get; set; } public string[] 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 zoneInfo { public string zone { get; set; } public string deviceName { get; set; } /// /// public int zoneType { get; set; } public int[] rows { get; set; } public string[] bits { get; set; } } public class zoneInfo1 { public string deviceName { get; set; } /// /// 库区列表,按数组下标顺序选择 /// public string[] zone { get; set; } /// ///zoneType=0 成品下线区域(一条线可以下线去多个库区,库区优先级按数组顺序排列) ///zoneType=1 空双托上线区 ///zoneType=2 空单托上线区 ///zoneType=3 空托准备区-双托 /// public int zoneType { get; set; } } public class HttpApiVerifyModel { /// /// 验证编码 /// public string VerifyNo { get; set; } /// /// 项目编码 /// public string Project { get; set; } /// /// 扩展编码 /// public string[] Extend { get; set; } /// /// 是否启用 /// public string Enable { get; set; } } /// /// 任务类型对应优先级 /// public class taskTypePri { public string name { get; set; } public int pri { get; set; } } public class transport { public string startloc { get; set; } public string endloc { get; set; } } } }