From 2d6787d9dedca3553ccd9ae5eb1bc7e52d2608e2 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期二, 16 三月 2021 16:44:33 +0800
Subject: [PATCH] 3.

---
 HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs |  324 +++++++++++++++++++++++++++--------------------------
 1 files changed, 165 insertions(+), 159 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs
index 8fd747b..d0745a8 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs
@@ -24,16 +24,16 @@
         /// <summary>
         /// 淇敼鍚嶇О
         /// </summary>
-        /// <param name="tipText">鎻愮ず鏂囨湰</param>
+        /// <param name="tipText">鎻愮ず鏍囬鏂囨湰</param>
         /// <param name="list">褰撳墠瀛樺湪鍚嶇О鍒楄〃</param>
         /// <param name="currName">褰撳墠鍚嶇О</param>
         /// <param name="action">鍥炶皟鍑芥暟</param>
-        public void EditControlName(int tipText ,List<string> list, string currName, Action<string, Dialog> action,Action actionCancel, bool tag=false)
+        public void EditControlName(int tipText, List<string> list, string currName, Action<string, Dialog> action, Action actionCancel, bool tag = false)
         {
-            new View.TipView().InputBox(StringId.editName, currName, StringId.nameNull, StringId.NameAlreadyExists, list, (text, view
+            new View.TipView().InputBox(tipText, currName, StringId.nameNull, StringId.NameAlreadyExists, list, (text, view
                 ) =>
             {
-                action(text,view);
+                action(text, view);
             }, () => { actionCancel(); }, tag);
         }
         /// <summary>
@@ -71,7 +71,7 @@
         /// <param name="action">鍥炶皟鍑芥暟</param>
         public void ThreadAddControl(Control control, FrameLayout frame, Action<Control> action)
         {
-            DAL.Server.ResponsePackNew responsePackNew = null;
+            Cloud mqttdate = null;
             Loading loading = new Loading();
             frame.AddChidren(loading);
             loading.Start();
@@ -80,10 +80,16 @@
                 try
                 {
                     //鍙戦�佹坊鍔犲懡浠�
-                    responsePackNew = PirSend.Add(control);
-
-
-
+                    var responsePackNew = PirSend.Add(control);
+                    if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
+                    {
+                        string sid = responsePackNew.Data.ToString();
+                        mqttdate = MqttDate(sid);
+                        if (mqttdate != null)
+                        {
+                            control.sid = sid;
+                        }
+                    }
 
                 }
                 catch { }
@@ -92,55 +98,47 @@
                     Application.RunOnMainThread(() =>
                     {
                         loading.Hide();
-                        if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
+                        ///杩欓噷锛氱洃鍚琈TTP鎺ㄩ�佷笅鏉ヤ富棰�;
+                        if (mqttdate != null)
                         {
-                            string sid = responsePackNew.Data.ToString();
-                            var mqttdate =MqttDate(sid);
-                            ///杩欓噷锛氱洃鍚琈TTP鎺ㄩ�佷笅鏉ヤ富棰橈紝鎵嶇煡閬撴槸鍚︽坊鍔犳垚鍔�
-                            if (mqttdate != null)
+                            //浼戠湢500姣锛屼负绛夊緟浜戠鍒涘缓deviceid锛�
+                            System.Threading.Thread.Sleep(500);
+                            //璇诲彇娣诲姞閬ユ帶鍣╠eviceID锛屾墠鐭ラ亾鏄惁娣诲姞鎴愬姛锛�
+                            GetControl(frame, control, (device) =>
                             {
-                                control.sid = sid;
-                                //浼戠湢500姣锛屼负绛夊緟浜戠鍒涘缓deviceid锛�
-                                System.Threading.Thread.Sleep(500);
-                                GetControl(frame, control, (device) =>
+                                if (device != null)
                                 {
-                                    if (device != null)
-                                    {
-                                        control.deviceId = device.deviceId;
-                                        frame.RemoveFromParent();//娣诲姞鎴愬姛鍏抽棴寮圭獥
-
-                                        action(control);
-                                    }
-                                    else
-                                    {
-                                        //璇诲彇deviceid杩斿洖閿欒鎻愮ず
-                                        View.FailView failView = new View.FailView();
-                                        failView.ShouError((view) =>
-                                        {
-                                            view.Close();
-                                            ThreadAddControl(control, frame, action);
-                                        });
-
-                                    }
-                                });
-                            }
-                            else
-                            {
-                                //鐩戝惉Mqtt鎺ㄩ�佷笅鏉ョ姸鎬佺爜鍋氭彁绀�
-                                View.FailView failView = new View.FailView();
-                                failView.ShouError((view) =>
+                                    control.deviceId = device.deviceId;
+                                    frame.RemoveFromParent();//娣诲姞鎴愬姛鍏抽棴寮圭獥
+                                    action(control);
+                                }
+                                else
                                 {
-                                    view.Close();
-                                    ThreadAddControl(control, frame, action);
-                                });
-                            }
+                                    //鐩戝惉Mqtt鎺ㄩ�佷笅鏉ョ姸鎬佺爜鍋氭彁绀�
+                                    View.FailView failView = new View.FailView();
+                                    failView.ShouError((view) =>
+                                    {
+                                        view.Close();
+                                        ThreadAddControl(control, frame, action);
+                                    });
+
+                                }
+
+                            });
                         }
                         else
                         {
-                            ErrorShow(responsePackNew);
+                            //鐩戝惉Mqtt鎺ㄩ�佷笅鏉ョ姸鎬佺爜鍋氭彁绀�
+                            View.FailView failView = new View.FailView();
+                            failView.ShouError((view) =>
+                            {
+                                view.Close();
+                                ThreadAddControl(control, frame, action);
+                            });
                         }
-                    });
 
+
+                    });
 
                 }
             })
@@ -159,56 +157,63 @@
             //鍔犺浇log
             Loading loading = new Loading();
             frame.AddChidren(loading);
-            HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null;
             loading.Start();
             new System.Threading.Thread(() =>
             {
                 try
                 {
-                    responsePackNew = PirSend.GetDeviceList("ir.module");
+                    var responsePackNew = PirSend.GetDeviceList("ir.module");
+                    if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
+                    {
+                        var jobject = Newtonsoft.Json.Linq.JObject.Parse(responsePackNew.Data.ToString());
+                        string list = jobject["list"].ToString();
+
+                        var jArray = Newtonsoft.Json.Linq.JArray.Parse(list);
+                        for (int a = 0; a < jArray.Count; a++)
+                        {
+                            var jay = jArray[a];
+                            string spk = jay["spk"].ToString();
+                            if (spk == "ir.module")
+                            {
+                                //鏁版嵁杩斿簭鍒楀寲涓篖ogic瀵硅薄
+                                var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
+                                var pirJosn = Newtonsoft.Json.JsonConvert.DeserializeObject<Pir>(str);
+                                if (pirJosn != null)
+                                {
+                                    if (null == Pir.pirDeviceList.Find((c) => c.deviceId == pirJosn.deviceId))
+                                    {
+
+                                        Pir.pirDeviceList.Add(pirJosn);
+
+                                    }
+                                }
+                            }
+
+                        }
+
+                    }
                 }
                 catch { }
                 finally
                 {
                     Application.RunOnMainThread(() =>
                     {
-                        loading.Hide();
                         try
                         {
-                            if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
+                            if (Pir.pirDeviceList.Count != 0)
                             {
-                                var jobject = Newtonsoft.Json.Linq.JObject.Parse(responsePackNew.Data.ToString());
-                                string list = jobject["list"].ToString();
-
-                                var jArray = Newtonsoft.Json.Linq.JArray.Parse(list);
-                                for (int a = 0; a < jArray.Count; a++)
+                                GetControlList(() =>
                                 {
-                                    var jay = jArray[a];
-                                    string spk = jay["spk"].ToString();
-                                    if (spk == "ir.module")
-                                    {
-                                        //鏁版嵁杩斿簭鍒楀寲涓篖ogic瀵硅薄
-                                        var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay);
-                                        var pirJosn = Newtonsoft.Json.JsonConvert.DeserializeObject<Pir>(str);
-                                        if (pirJosn != null)
-                                        {
-                                            if (null == Pir.pirDeviceList.Find((c) => c.deviceId == pirJosn.deviceId))
-                                            {
+                                    loading.Hide();
+                                    action();
 
-                                                Pir.pirDeviceList.Add(pirJosn);
-
-                                            }
-                                        }
-                                    }
-
-                                }
-                                GetControlList(frame, action);
-
+                                });
                             }
                             else
                             {
+                                loading.Hide();
                                 Method method = new Method();
-                                method.ErrorShow(responsePackNew);
+                                method.ErrorShow(null,"璇诲彇绾㈠瀹濆垪琛ㄥけ璐�");
                             }
                         }
                         catch { }
@@ -223,15 +228,10 @@
         /// <summary>
         /// 鑾峰彇閬ユ帶鍣ㄥ垪琛�
         /// </summary>
-        /// <param name="frame">log鍥炬爣鍔犺浇鐣岄潰</param>
         /// <param name="action">鍥炶皟鍑芥暟</param>
-        public static void GetControlList(FrameLayout frame, Action action)
+        public static void GetControlList(Action action)
         {
-            //鍔犺浇log
-            Loading loading = new Loading();
-            frame.AddChidren(loading);
-            HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null;
-            loading.Start();
+
             new System.Threading.Thread(() =>
             {
                 try
@@ -241,56 +241,42 @@
                         var pirDevice = Pir.pirDeviceList[i];
                         try
                         {
-                            responsePackNew = PirSend.ControlList(pirDevice);
+                            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 { }
-                        finally
-                        {
-                            Application.RunOnMainThread(() =>
-                            {
-                                try
-                                {
-                                    if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "")
-                                    {
-                                        var jArray = Newtonsoft.Json.Linq.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);
-                                                }
-                                            }
 
-                                        }
-                                    }
-                                    else
-                                    {
-                                        //Method method = new Method();
-                                        //method.ErrorShow(responsePackNew);
-                                    }
-                                }
-                                catch { }
-
-                            });
-                        }
                     }
                 }
                 catch { }
                 finally
                 {
+
                     Application.RunOnMainThread(() =>
                     {
-                        loading.Hide();
                         action();
                     });
                 }
+
             })
             { IsBackground = true }.Start();
 
@@ -307,49 +293,48 @@
             //鍔犺浇log
             Loading loading = new Loading();
             frame.AddChidren(loading);
-            HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null;
             loading.Start();
             new System.Threading.Thread(() =>
             {
                 try
                 {
                     // 鑾峰彇璁惧璇︽儏閫氳繃(spk,sid)
-                    responsePackNew = PirSend.GetinfoBySid(control);
+                    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(() =>
                     {
-                        try
-                        {
-                            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>(str);
-                            }
-                            else
-                            {
-                                Method method = new Method();
-                                method.ErrorShow(responsePackNew);
-                            }
-                        }
-                        catch { }
-                        finally
-                        {
-                            Application.RunOnMainThread(() =>
-                            {
-                                loading.Hide();
-                                action(function);
-                            });
-                        }
-
+                        loading.Hide();
+                        action(function);
                     });
                 }
 
             })
             { IsBackground = true }.Start();
         }
+        /// <summary>
+        /// 鍙戦�佸懡浠ょ嚎绋�
+        /// </summary>
+        /// <param name="control">鍙戦�佹暟鎹璞�</param>
+        /// <param name="action">鍥炶皟鍑芥暟</param>
+        /// <param name="str">鍒ゆ柇瀛楃</param>
+        /// <param name="frame">log鐖舵帶浠�</param>
+        /// <param name="dialog">log鐖舵帶浠�</param>
+        public void ThreadSend(Control control, Action<HDL_ON.DAL.Server.ResponsePackNew> action, string str, FrameLayout frame, Dialog dialog)
+        {
+
+
+
+        }
+
+
         /// <summary>
         /// MQTT涓婚鎺ㄩ�佷笅鏉ョ殑鏁版嵁
         /// </summary>
@@ -377,10 +362,14 @@
                             if (sid == objects.sid)
                             {
                                 cloud = cloudjson;
+                                mqttdata = "";
                                 break;
                             }
                         }
-                        break;
+                        if (cloud!=null)
+                        {
+                            break;
+                        }
                     }
                     catch { }
                 }
@@ -393,23 +382,43 @@
         /// </summary>
         /// <param name="responsePackNew"></param>
         /// <param name="str"></param>
-        public void ErrorShow(ResponsePackNew responsePackNew,string str="")
+        public void ErrorShow(ResponsePackNew responsePackNew=null, string str = "")
         {
-            if (str == "鍒犻櫎閬ユ帶鍣�") {
+            if (str == "鍒犻櫎閬ユ帶鍣�")
+            {
                 new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.delFail));
+            } else if (str == "璇诲彇绾㈠瀹濆垪琛ㄥけ璐�") {
+
+                new Intelligence.Automation.LogicView.TipPopView().FlashingBox("璇诲彇绾㈠瀹濆垪琛ㄥけ璐�");
             }
             else
             {
-                if (responsePackNew != null && responsePackNew.Code == "14005")
-                {
-                    new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.gatewayNotOnline));
 
-                }
-                else
+                if (responsePackNew != null)
                 {
-                    new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
+                    switch (responsePackNew.Code)
+                    {
 
+                        case "14005":
+                            {
+                                new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.gatewayNotOnline));
+                            }
+                            break;
+                        case "10807":
+                            {
+                                //绾㈠瀹濅笅閬ユ帶鍣ㄨ秴杩囨渶澶�(10涓�)鏁伴噺闄愬埗
+                                new Intelligence.Automation.LogicView.TipPopView().FlashingBox("绾㈠瀹濅笅閬ユ帶鍣ㄨ秴杩囨渶澶�(10涓�)鏁伴噺闄愬埗");
+                            }
+                            break;
+                        default:
+                            {
+                                new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
+                            }
+                            break;
+
+                    }
                 }
+
             }
         }
 
@@ -417,9 +426,6 @@
     [Serializable]
     public class Cloud
     {
-        /// <summary>
-        /// 璁惧id
-        /// </summary>
         public string id = "";
         public List<Objects> objects = new List<Objects>();
         public string time_stamp = string.Empty;

--
Gitblit v1.8.0