using Newtonsoft.Json; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Text.RegularExpressions; namespace Sinvo.EplanHpD.Plugin.WPFUI.Utils { public class Consts { private const string CONFIG_FILE_PATH = @"\\192.168.1.160\plm系统文档\线材资料检查"; public static string DATA_FILE_PATH = @"\\192.168.1.160\plm系统文档\线材资料检查"; /// /// 线材端子号码管配对表(配CE端子).xlsm /// public static string DATA_FILE_PATH_WIRE_TERMINAL = @"线材端子号码管配对表(配CE端子).xlsm"; /// /// 绝缘软套 /// public static string DATA_FILE_PATH_INSULATION = @"绝缘软套规格.xlsx"; public static string TEMPLATE_FILE_NAME = @"下单模板.xlsx"; #if DEBUG public static string PLUGIN_DATA_FILE_PATH = @"\\192.168.1.160\体系内部资料\李韩波\Eplan\测试用数据表"; #else public static string PLUGIN_DATA_FILE_PATH = @"\\192.168.1.160\plm系统文档\线材选型"; #endif public static string PLUGIN_DATA_FILE_NAME = "线材选型数据表.xlsx"; public static string PLUGIN_DATA_FILE_NAME_BOM = "BOM表.xlsx"; public static string PLUGIN_TEMPLATE_FILE_NAME = "下单定制线模板.xlsx"; public static string PLUGIN_MULTI_CORE_WIRE_FILE_NAME = "多芯线材选型数据.xlsx"; /// /// 线径平方规格匹配 /// public static readonly Regex regex = new("RV[\\d]+\\.?[\\d]*", RegexOptions.Compiled); /// /// 变色套平方规格匹配 /// public static readonly Regex dRegex = new("V-[\\d]+\\.?[\\d]*", RegexOptions.Compiled); /// /// 线径大小匹配(伺服电机线材选型) /// public static readonly Regex InsulationRegex = new("(?:[T]{0,}RVV\\d×)(\\d\\.{0,}\\d+)(?:-2000W)?(-CE)?", RegexOptions.Compiled); /// /// 括号内容匹配 /// public static readonly Regex regexParenthesesContent = new(@"(?<=\()[^)]*(?=\))", RegexOptions.Compiled); public static void InitConfigs() { #if !DEBUG var jsonObj = JsonConvert.DeserializeObject>(File.ReadAllText(Path.Combine(CONFIG_FILE_PATH, "config.json"))); if(jsonObj != null) { if (jsonObj.ContainsKey("DATA_FILE_PATH")) { DATA_FILE_PATH = jsonObj["DATA_FILE_PATH"]; Debug.WriteLine(DATA_FILE_PATH); } if (jsonObj.ContainsKey("DATA_FILE_PATH_WIRE_TERMINAL")) { DATA_FILE_PATH_WIRE_TERMINAL = jsonObj["DATA_FILE_PATH_WIRE_TERMINAL"]; Debug.WriteLine(DATA_FILE_PATH_WIRE_TERMINAL); } if (jsonObj.ContainsKey("DATA_FILE_PATH_INSULATION")) { DATA_FILE_PATH_INSULATION = jsonObj["DATA_FILE_PATH_INSULATION"]; Debug.WriteLine(DATA_FILE_PATH_INSULATION); } if (jsonObj.ContainsKey("TEMPLATE_FILE_NAME")) { TEMPLATE_FILE_NAME = jsonObj["TEMPLATE_FILE_NAME"]; Debug.WriteLine(TEMPLATE_FILE_NAME); } // 插件 if (jsonObj.ContainsKey("PLUGIN_DATA_FILE_PATH")) { PLUGIN_DATA_FILE_PATH = jsonObj["PLUGIN_DATA_FILE_PATH"]; Debug.WriteLine(PLUGIN_DATA_FILE_PATH); } if (jsonObj.ContainsKey("PLUGIN_DATA_FILE_NAME")) { PLUGIN_DATA_FILE_NAME = jsonObj["PLUGIN_DATA_FILE_NAME"]; Debug.WriteLine(PLUGIN_DATA_FILE_NAME); } if (jsonObj.ContainsKey("PLUGIN_DATA_FILE_NAME_BOM")) { PLUGIN_DATA_FILE_NAME_BOM = jsonObj["PLUGIN_DATA_FILE_NAME_BOM"]; Debug.WriteLine(PLUGIN_DATA_FILE_NAME_BOM); } if (jsonObj.ContainsKey("PLUGIN_TEMPLATE_FILE_NAME")) { PLUGIN_TEMPLATE_FILE_NAME = jsonObj["PLUGIN_TEMPLATE_FILE_NAME"]; Debug.WriteLine(PLUGIN_TEMPLATE_FILE_NAME); } if (jsonObj.ContainsKey("PLUGIN_MULTI_CORE_WIRE_FILE_NAME")) { PLUGIN_MULTI_CORE_WIRE_FILE_NAME = jsonObj["PLUGIN_MULTI_CORE_WIRE_FILE_NAME"]; Debug.WriteLine(PLUGIN_MULTI_CORE_WIRE_FILE_NAME); } } #endif } } }