From 002bb6950a15e703e2ad6ef7b2b4c5d80c4ee64b Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 22 三月 2021 17:56:07 +0800
Subject: [PATCH] 2021-3-22-2

---
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs |  124 +++++++++++++----------------------------
 1 files changed, 40 insertions(+), 84 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs
index 0fbb506..e65cb76 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs
@@ -33,7 +33,8 @@
                     MainPage.BasePageView.AddChidren(page);
                     page.Show();
                     MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                    page.BackAction += () => {
+                    PirMain.BackAction += () =>
+                    {
                         action?.Invoke();
                     };
                 });
@@ -272,7 +273,7 @@
                         var pirDevice = Pir.pirDeviceList[i];
                         try
                         {
-                            var responsePackNew = PirSend.ControlList(pirDevice);
+                            var responsePackNew = PirSend.ControlList(pirDevice.deviceId);
                             if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
                             {
                                 var jArray = JArray.Parse(responsePackNew.Data.ToString());
@@ -317,57 +318,27 @@
         /// 鑾峰彇鍗曚釜绾㈠瀹濋仴鎺у櫒鍒楄〃
         /// </summary>
         /// <param name="action">鍥炶皟鍑芥暟</param>
-        public static void GetControlList(FrameLayout frame ,Action action, Pir pirDevice)
+        public static void GetControlList(FrameLayout frame, Action action, Pir pirDevice)
         {
-            Loading loading = new Loading();
-            frame.AddChidren(loading);
-            loading.Start();
-            new System.Threading.Thread(() =>
-            {
-                try
-                {
-
-                    try
-                    {
-                        var responsePackNew = PirSend.ControlList(pirDevice);
-                        if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
-                        {
-                            var jArray = JArray.Parse(responsePackNew.Data.ToString());
-                            for (int a = 0; a < jArray.Count; a++)
-                            {
-                                var jay = jArray[a];
-                                //鏁版嵁杩斿簭鍒楀寲涓篖ogic瀵硅薄
-                                var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
-                                var pirJosn = Newtonsoft.Json.JsonConvert.DeserializeObject<Entity.Function>(str);
-                                if (pirJosn != null)
-                                {
-                                    if (null == pirDevice.FunctioList.Find((c) => c.sid == pirJosn.sid))
-                                    {
-                                        pirDevice.FunctioList.Add(pirJosn);
-                                    }
-                                }
-
-                            }
-                        }
-
-                    }
-                    catch { }
-
-
-                }
-                catch { }
-                finally
-                {
-
-                    Application.RunOnMainThread(() =>
-                    {
-                        loading.Hide();
-                        action();
-                    });
-                }
-
-            })
-            { IsBackground = true }.Start();
+            ThreadSend(new Control { deviceId = pirDevice.deviceId }, (responsePackNew) =>
+             {
+                 var jArray = JArray.Parse(responsePackNew.Data.ToString());
+                 for (int a = 0; a < jArray.Count; a++)
+                 {
+                     var jay = jArray[a];
+                     //鏁版嵁杩斿簭鍒楀寲涓篖ogic瀵硅薄
+                     var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
+                     var pirJosn = Newtonsoft.Json.JsonConvert.DeserializeObject<Entity.Function>(str);
+                     if (pirJosn != null)
+                     {
+                         if (null == pirDevice.FunctioList.Find((c) => c.deviceId == pirJosn.deviceId))
+                         {
+                             pirDevice.FunctioList.Add(pirJosn);
+                         }
+                     }
+                 }
+                 action();
+             }, "鑾峰彇閬ユ帶鍣ㄥ垪琛�", "frame", frame, null);
 
         }
         /// <summary>
@@ -378,37 +349,12 @@
         /// <param name="action">鍥炶皟鍑芥暟</param>
         public void GetControl(FrameLayout frame, Control control, Action<Entity.Function> action)
         {
-            Entity.Function function = null;
-            //鍔犺浇log
-            Loading loading = new Loading();
-            frame.AddChidren(loading);
-            loading.Start();
-            new System.Threading.Thread(() =>
+            ThreadSend(control, (responsePackNew) =>
             {
-                try
-                {
-                    // 鑾峰彇璁惧璇︽儏閫氳繃(spk,sid)
-                    var responsePackNew = PirSend.GetinfoBySid(control);
-                    if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
-                    {
-                        //var str = Newtonsoft.Json.JsonConvert.SerializeObject(responsePackNew.Data.ToString());
-                        function = Newtonsoft.Json.JsonConvert.DeserializeObject<Entity.Function>(responsePackNew.Data.ToString());
-                    }
-                }
-                catch { }
-                finally
-                {
-                    Application.RunOnMainThread(() =>
-                    {
-                        loading.Hide();
-                        action(function);
-                    });
-                }
-
-            })
-            { IsBackground = true }.Start();
+                var function = Newtonsoft.Json.JsonConvert.DeserializeObject<Entity.Function>(responsePackNew.Data.ToString());
+                action(function);
+            }, "鑾峰彇璁惧璇︽儏", "frame", frame, null);
         }
-
         /// <summary>
         /// 鍙戦�佸懡浠ょ嚎绋�
         /// </summary>
@@ -446,8 +392,18 @@
 
                         responsePackNew = PirSend.DeviceRename(control.deviceId, control.name);
                     }
-                    else if (str == "鍒犻櫎鎸夐敭") {
-                       // responsePackNew = PirSend.CodeRemove(control.deviceId, control.name);
+                    else if (str == "鍒犻櫎鎸夐敭")
+                    {
+                        // responsePackNew = PirSend.CodeRemove(control.deviceId, control.name);
+                    }
+                    else if (str == "鑾峰彇璁惧璇︽儏")
+                    {
+                        // 鑾峰彇璁惧璇︽儏閫氳繃(spk,sid)
+                        responsePackNew = PirSend.GetinfoBySid(control);
+                    }
+                    else if (str == "鑾峰彇閬ユ帶鍣ㄥ垪琛�")
+                    {
+                        responsePackNew = PirSend.ControlList(control.deviceId);
                     }
                 }
                 catch { }
@@ -505,7 +461,7 @@
                     str = buttondata;
                 }
 
-                if (!string.IsNullOrEmpty(controldata))
+                if (!string.IsNullOrEmpty(str))
                 {
                     try
                     {

--
Gitblit v1.8.0