From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlThreadLogic.cs |   68 +++++++++++++++++++++++++---------
 1 files changed, 50 insertions(+), 18 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlThreadLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlThreadLogic.cs
index b7e2b4e..5b405df 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlThreadLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlThreadLogic.cs
@@ -36,7 +36,7 @@
         /// <summary>
         /// 瀛愮嚎绋嬫墽琛�(鍒涘缓杩欎釜涓滆タ,鏄负浜哃og鍑哄姏)
         /// </summary>
-        public void RunThread(Action action)
+        public void RunThread(Action action, ShowErrorMode mode = ShowErrorMode.YES)
         {
             new System.Threading.Thread(() =>
             {
@@ -49,17 +49,18 @@
                 }
                 catch (Exception ex)
                 {
-                    Application.RunOnMainThread(() =>
+                    if (mode == ShowErrorMode.YES)
                     {
-                        //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け
-                        var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost));
-                        alert.Show();
-                    });
+                        Application.RunOnMainThread(() =>
+                        {
+                            //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け
+                            var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+                            alert.Show();
+                        });
+                    }
                     //Log鍑哄姏
-                    string msg = "褰撳墠婵�娲荤殑鐣岄潰[" + nowFormId + "]\r\n";
-                    msg += ex.Message + "\r\n";
-                    msg += ex.TargetSite.ToString();
-                    HdlLogLogic.Current.WriteLog(-1, msg);
+                    string msg = "褰撳墠婵�娲荤殑鐣岄潰[" + nowFormId + "]";
+                    HdlLogLogic.Current.WriteLog(ex, msg);
                 }
             })
             { IsBackground = true }.Start();
@@ -68,7 +69,7 @@
         /// <summary>
         /// 鎵ц杩愯瀛愮嚎绋嬮噷闈㈢殑涓荤嚎绋�(鍒涘缓杩欎釜涓滆タ,鏄负浜哃og鍑哄姏)
         /// </summary>
-        public void RunMainInThread(Action action)
+        public void RunMainInThread(Action action, ShowErrorMode mode = ShowErrorMode.YES)
         {
             new System.Threading.Thread(() =>
             {
@@ -83,14 +84,15 @@
                     }
                     catch (Exception ex)
                     {
-                        //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け
-                        var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost));
-                        alert.Show();
+                        if (mode == ShowErrorMode.YES)
+                        {
+                            //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け
+                            var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+                            alert.Show();
+                        }
                         //Log鍑哄姏
-                        string msg = "褰撳墠婵�娲荤殑鐣岄潰[" + nowFormId + "]\r\n";
-                        msg += ex.Message + "\r\n";
-                        msg += ex.TargetSite.ToString();
-                        HdlLogLogic.Current.WriteLog(-1, msg);
+                        string msg = "褰撳墠婵�娲荤殑鐣岄潰[" + nowFormId + "]";
+                        HdlLogLogic.Current.WriteLog(ex, msg);
                     }
                 });
                 
@@ -98,6 +100,36 @@
             { IsBackground = true }.Start();
         }
 
+        /// <summary>
+        /// 鎵ц杩愯浜庝富绾跨▼(鍒涘缓杩欎釜涓滆タ,鏄负浜哃og鍑哄姏)
+        /// </summary>
+        public void RunMain(Action action, ShowErrorMode mode = ShowErrorMode.YES)
+        {
+            Application.RunOnMainThread(() =>
+            {
+                //璁板綍璧峰綋鍓嶇晫闈紝铏界劧浼间箮娌″暐鐢�
+                string nowFormId = UserCenterResourse.NowActionFormID;
+                try
+                {
+                    action.Invoke();
+                    action = null;
+                }
+                catch (Exception ex)
+                {
+                    if (mode == ShowErrorMode.YES)
+                    {
+                        //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け
+                        var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+                        alert.Show();
+                    }
+
+                    //Log鍑哄姏
+                    string msg = "褰撳墠婵�娲荤殑鐣岄潰[" + nowFormId + "]";
+                    HdlLogLogic.Current.WriteLog(ex, msg);
+                }
+            });
+        }
+
         #endregion
     }
 }

--
Gitblit v1.8.0