Browse Source

窗口管理器增加图标控制,数据库配置增加个性化替换字符

yuzhengyang 1 year ago
parent
commit
506b138275

+ 33 - 1
Azylee.Utils/Azylee.Core/AppUtils/AppConfigUtils/AppConfigModels/AppConfigDbItem.cs

@@ -1,4 +1,5 @@
 using Azylee.Core.AppUtils.AppConfigUtils.AppConfigInterfaces;
+using Azylee.Core.DataUtils.CollectionUtils;
 using Azylee.Core.DataUtils.EncryptUtils;
 using Azylee.Core.DataUtils.StringUtils;
 using Azylee.Core.DbUtils;
@@ -84,6 +85,10 @@ namespace Azylee.Core.AppUtils.AppConfigUtils.AppConfigModels
         /// </summary>
         public string ExtConnectString { get; set; }
         /// <summary>
+        /// 自定义替换参数
+        /// </summary>
+        public List<string> CustRepList { get; set; }
+        /// <summary>
         /// 描述信息
         /// </summary>
         public string Desc { get; set; }
@@ -102,7 +107,7 @@ namespace Azylee.Core.AppUtils.AppConfigUtils.AppConfigModels
         /// <param name="extConnectString"></param>
         /// <param name="desc"></param>
         /// <param name="commandTimeout"></param>
-        public AppConfigDbItem(int number, string type, string name, string server, string port, string userid, string password, string database, string extConnectString, string desc, int commandTimeout)
+        public AppConfigDbItem(int number, string type, string name, string server, string port, string userid, string password, string database, string extConnectString, List<string> custRep, string desc, int commandTimeout)
         {
             Number = number;
             Type = type;
@@ -113,10 +118,37 @@ namespace Azylee.Core.AppUtils.AppConfigUtils.AppConfigModels
             SetPasswordEnc(password);
             Database = database;
             ExtConnectString = extConnectString;
+            CustRepList = custRep;
             Desc = desc;
             CommandTimeout = commandTimeout;
         }
 
+        /// <summary>
+        /// 获取用户自定义替换参数的对照信息
+        /// 示例:{{$HI.CUSREP=>USER.ACCOUNT1}} 1
+        /// </summary>
+        /// <returns></returns>
+        public Dictionary<string, string> GetCustRepParams()
+        {
+            if (!Ls.ok(CustRepList)) return null;
+            Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
+            foreach (var item in CustRepList)
+            {
+                string begSign = "{{$HI.CUSREP=>";
+                string endSign = "}}";
+                int endPos = item.IndexOf(endSign);
+                if (item.StartsWith(begSign) && endPos > -1)
+                {
+                    string key = item.Substring(0, endPos);
+                    if (key.Ok()) key = key + endSign;
+                    string val = item.Substring(endPos + endSign.Length);
+                    if (val.Ok()) val = val.Trim();
+                    keyValuePairs[key] = val;
+                }
+            }
+            return keyValuePairs;
+        }
+
         public DatabaseType DbType()
         {
             switch (Type.ToLower())

+ 17 - 1
Azylee.Utils/Azylee.Core/FormUtils/FormManTool.cs

@@ -38,7 +38,7 @@ namespace Azylee.Core.FormUtils
         /// </summary>
         /// <typeparam name="T"></typeparam>
         /// <returns></returns>
-        public T GetUnique<T>() where T : Form, new()
+        public T GetUnique<T>(string title = "") where T : Form, new()
         {
             if (UniqueForms.ContainsKey(typeof(T)))
             {
@@ -63,9 +63,25 @@ namespace Azylee.Core.FormUtils
             // 未能返回正确的窗体,则创建新窗体(使用默认new方法)
             T form = new T();
             if (BackColor != null) form.BackColor = (Color)BackColor;
+            form.Text = title + form.Text;
             if (AddUnique(form)) return form;
             return null;
         }
+
+        /// <summary>
+        /// 显示窗口并激活
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="title"></param>
+        /// <param name="icon"></param>
+        public void ShowAndActivate<T>(string title = "", Icon icon = null) where T : Form, new()
+        {
+            GetUnique<T>(title);
+            if (icon != null) GetUnique<T>(title).Icon = icon;
+            GetUnique<T>().Show();
+            GetUnique<T>().Activate();
+        }
+
         private bool AddUnique<T>(T value) where T : Form, new()
         {
             if (!UniqueForms.ContainsKey(typeof(T)))

+ 24 - 4
Azylee.Utils/Tests/Test.YeahWeb/Program.cs

@@ -1,4 +1,5 @@
-using Azylee.Core.DataUtils.StringUtils;
+using Azylee.Core.DataUtils.CollectionUtils;
+using Azylee.Core.DataUtils.StringUtils;
 using Azylee.Core.LogUtils.SimpleLogUtils;
 using Azylee.Jsons;
 using Azylee.YeahWeb.BaiDuWebAPI.dwz;
@@ -14,11 +15,30 @@ namespace Test.YeahWeb
     {
         static void Main(string[] args)
         {
-            var result = IPCNTool.Get();
+            List<string> CustRepList = new List<string>();
+            CustRepList.Add("{{$HI.SYSREP=>USER.ACCOUNT1}}1");
+            CustRepList.Add("{{$HI.SYSREP=>USER.ACCOUNT2}}  2");
+            Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
+            foreach (var item in CustRepList)
+            {
+                string begSign = "{{$";
+                string endSign = "}}";
+                int endPos = item.IndexOf(endSign);
+                if (item.StartsWith(begSign) && endPos > -1)
+                {
+                    string key = item.Substring(0, endPos);
+                    if (key.Ok()) key = key + endSign;
+                    string val = item.Substring(endPos + endSign.Length);
+                    if (val.Ok()) val = val.Trim();
+                    keyValuePairs[key] = val;
+                }
+            }
+            Console.WriteLine(keyValuePairs);
+            //var result = IPCNTool.Get();
 
-            var rs2 = IPLocationTool.GetLocation();
+            //var rs2 = IPLocationTool.GetLocation();
 
-            Console.ReadLine();
+            //Console.ReadLine();
         }
     }
 }