From 6edb41a89f56634a0684dedf65b29f9277002c7f Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期四, 21 十一月 2019 17:58:15 +0800
Subject: [PATCH] 2019.11.21

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs |   89 +++++++++++++++++++++++++++++---------------
 1 files changed, 59 insertions(+), 30 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs
index b059beb..3afd627 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/Base/CommonFormBase.cs
@@ -28,6 +28,8 @@
         {
             //灏嗗綋鍓嶇殑鐢婚潰淇濆瓨鍒板唴瀛樺綋涓�
             UserCenterLogic.AddActionForm(this);
+            //Log鍑哄姏
+            HdlLogLogic.Current.WriteLog(1, this.FormID + " 鐣岄潰鎵撳紑");
         }
 
         /// <summary>
@@ -70,25 +72,50 @@
         #region 鈻� 鍏抽棴鐣岄潰___________________________
 
         /// <summary>
+        /// 鐢婚潰鍏抽棴涔嬪墠(搴曞眰鍙樻洿,涓嶈兘閲嶈浇CloseForm鏂规硶浜�)
+        /// </summary>
+        public virtual void CloseFormBefore()
+        {
+        }
+
+        /// <summary>
+        /// 鐢婚潰鍏抽棴涔嬪悗(鏂板)
+        /// </summary>
+        public virtual void CloseFormAfter()
+        {
+        }
+
+        /// <summary>
         /// 鐢婚潰鍏抽棴
         /// </summary>
         public virtual void CloseForm()
         {
-            //绉婚櫎鎺ュ彈鍦ㄧ嚎鐘舵�佹帹閫�
-            this.RemoveGatewayOnlinePush();
-            //绉婚櫎璁惧灞炴�у彉鏇存帹閫�
-            this.RemoveDeviceAttributePush();
+            //Log鍑哄姏
+            HdlLogLogic.Current.WriteLog(1, this.FormID + " 鐣岄潰鍏抽棴");
+            try
+            {
+                //绉婚櫎鎺ュ彈鍦ㄧ嚎鐘舵�佹帹閫�
+                this.RemoveGatewayOnlinePush();
+                //绉婚櫎璁惧灞炴�у彉鏇存帹閫�
+                this.RemoveDeviceAttributePush();
 
-            //鍏抽棴杩涘害鏉�
-            this.CloseProgressBar();
+                //鍏抽棴杩涘害鏉�
+                this.CloseProgressBar();
 
-            //璋冪敤鐨勬槸Base鐨勭Щ闄ゆ帶浠跺嚱鏁�
-            //鑰屼笉鏄皟鐢╰his鐨勭Щ闄ゆ帶浠跺嚱
-            base.RemoveFromParent();
+                //璋冪敤鐨勬槸Base鐨勭Щ闄ゆ帶浠跺嚱鏁�
+                //鑰屼笉鏄皟鐢╰his鐨勭Щ闄ゆ帶浠跺嚱
+                base.RemoveFromParent();
 
-            //浠庡垪琛ㄤ腑绉婚櫎(闃叉鐢婚潰浜岄噸娣诲姞)
-            UserCenterLogic.RemoveActionForm(this);
-
+                //浠庡垪琛ㄤ腑绉婚櫎(闃叉鐢婚潰浜岄噸娣诲姞)
+                UserCenterLogic.RemoveActionForm(this);
+            }
+            catch (Exception ex)
+            {
+                //鍑虹幇鏈煡閿欒
+                this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+                //Log鍑哄姏
+                HdlLogLogic.Current.WriteLog(ex);
+            }
         }
 
         /// <summary>
@@ -267,8 +294,19 @@
                 {
                     alert.ConfirmClickEvent += () =>
                     {
-                        //鍥炶皟鍑芥暟
-                        action?.Invoke();
+                        try
+                        {
+                            //鍥炶皟鍑芥暟
+                            action?.Invoke();
+                        }
+                        catch (Exception ex)
+                        {
+                            //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け
+                            this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost));
+
+                            //Log鍑哄姏
+                            HdlLogLogic.Current.WriteLog(ex);
+                        }
                         action = null;
                     };
                 }
@@ -353,13 +391,16 @@
                 {
                     return null;
                 }
-                return form.GetType().InvokeMember(method, System.Reflection.BindingFlags.InvokeMethod, null, form, parameter);
+                var myMethod = form.GetType().GetMethod(method);
+                return myMethod.Invoke(form, parameter);
             }
             catch (Exception ex)
             {
-                string msg = ex.Message + "\r\n";
-                msg += ex.TargetSite.ToString();
-                this.ShowMassage(ShowMsgType.Error, msg);
+                //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け
+                this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnknownErrorAndDataLost));
+
+                //Log鍑哄姏
+                HdlLogLogic.Current.WriteLog(ex);
 
                 return null;
             }
@@ -377,18 +418,6 @@
             form.AddForm(parameter);
         }
 
-        #endregion
-
-        #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________
-
-        /// <summary>
-        /// 鑷韩鐨勪笂灞傜晫闈㈠叧闂悗,瀹冭嚜韬浜庢渶涓婂眰鏃�,瑙﹀彂鐨勪簨浠�
-        /// </summary>
-        public virtual void FormActionAgainEvent()
-        {
-            return;
-        }
-
         #endregion
     }
 }

--
Gitblit v1.8.0