From fe2b566c8d9c097d2568ad211088fa5bc6f8c229 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期二, 23 三月 2021 13:48:25 +0800 Subject: [PATCH] 2.增加住宅绑定网关判断,没有绑定网关的住宅,ON+不再显示 --- HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs | 199 ++++++++++++++++++++++--------------------------- 1 files changed, 90 insertions(+), 109 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs index e62c484..e65cb76 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs @@ -8,6 +8,38 @@ { public class Method { + /// <summary> + /// 绾㈠瀹濈▼搴忎富鍏ュ彛 + /// </summary> + /// <param name="frame"></param> + /// <param name="function"></param> + public void MainView(FrameLayout frame, Entity.Function function,Action action) + { + + Pir pirDevice = new Pir(); + if (function != null) + {//鏁版嵁杞崲 + pirDevice.name = function.name; + pirDevice.deviceId = function.deviceId; + pirDevice.sid = function.sid; + pirDevice.online = function.online; + } + Pir.currPir = pirDevice; + GetControlList(frame, () => + { + Application.RunOnMainThread(() => + { + var page = new PirMain(); + MainPage.BasePageView.AddChidren(page); + page.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + PirMain.BackAction += () => + { + action?.Invoke(); + }; + }); + }, Pir.currPir); + } /// <summary> /// 绠$悊浣嶇疆 @@ -181,25 +213,10 @@ var pirJosn = Newtonsoft.Json.JsonConvert.DeserializeObject<Pir>(str); if (pirJosn != null) { - -/* 椤圭洰鈥淗DL-ON_iOS鈥濈殑鏈悎骞剁殑鏇存敼 -鍦ㄦ涔嬪墠: - if (null == Pir.pirDeviceList.Find((c) => c.deviceId == pirJosn.deviceId)) -鍦ㄦ涔嬪悗: - if (null == list.pirDeviceList.Find((c) => c.deviceId == pirJosn.deviceId)) -*/ + if (null == PirDevice.Pir.pirDeviceList.Find((c) => c.deviceId == pirJosn.deviceId)) - { - - -/* 椤圭洰鈥淗DL-ON_iOS鈥濈殑鏈悎骞剁殑鏇存敼 -鍦ㄦ涔嬪墠: - Pir.pirDeviceList.Add(pirJosn); -鍦ㄦ涔嬪悗: - list.pirDeviceList.Add(pirJosn); -*/ + { PirDevice.Pir.pirDeviceList.Add(pirJosn); - } } } @@ -241,7 +258,7 @@ } /// <summary> - /// 鑾峰彇閬ユ帶鍣ㄥ垪琛� + /// 鑾峰彇鎵�鏈夌孩澶栧疂閬ユ帶鍣ㄥ垪琛� /// </summary> /// <param name="action">鍥炶皟鍑芥暟</param> public static void GetControlList(Action action) @@ -256,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()); @@ -296,6 +313,34 @@ { IsBackground = true }.Start(); } + + /// <summary> + /// 鑾峰彇鍗曚釜绾㈠瀹濋仴鎺у櫒鍒楄〃 + /// </summary> + /// <param name="action">鍥炶皟鍑芥暟</param> + public static void GetControlList(FrameLayout frame, Action action, Pir pirDevice) + { + 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> /// 鑾峰彇璁惧璇︽儏閫氳繃(spk,sid) /// </summary> @@ -304,113 +349,40 @@ /// <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> /// <param name="control">鍙戦�佹暟鎹璞�</param> /// <param name="action">鍥炶皟鍑芥暟</param> /// <param name="str">鍒ゆ柇瀛楃</param> + /// <param name="view">鍒ゆ柇log鐖舵帶浠�</param> /// <param name="frame">log鐖舵帶浠�</param> - public void ThreadSend(Control control, Action<ResponsePackNew> action, string str, FrameLayout frame) + /// <param name="dialog">log鐖舵帶浠�</param> + public static void ThreadSend(Control control, Action<ResponsePackNew> action, string str,string view, FrameLayout frame, Dialog dialog) { //鍔犺浇log Loading loading = new Loading(); - frame.AddChidren(loading); + if (view == "dialog") + { + dialog.AddChidren(loading); + } + else + { + frame.AddChidren(loading); + } loading.Start(); ResponsePackNew responsePackNew = null; new System.Threading.Thread(() => { try { - if (str == "鍒犻櫎") - { - responsePackNew = PirSend.DeleteDevice(control.deviceId); - } - else if (str == "淇敼鍚嶇О") - { - - responsePackNew = PirSend.DeviceRename(control.deviceId, control.name); - } - else if (str == "鍒犻櫎鎸夐敭") { - // responsePackNew = PirSend.CodeRemove(control.deviceId, control.name); - } - } - catch { } - finally - { - Application.RunOnMainThread(() => - { - loading.Hide(); - if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") - { - action(responsePackNew); - } - else - { - Method method = new Method(); - method.ErrorShow(responsePackNew, ""); - } - - }); - } - - }) - { IsBackground = true }.Start(); - - - } - /// <summary> - /// 鍙戦�佸懡浠ょ嚎绋� - /// </summary> - /// <param name="control">鍙戦�佹暟鎹璞�</param> - /// <param name="action">鍥炶皟鍑芥暟</param> - /// <param name="str">鍒ゆ柇瀛楃</param> - /// <param name="dialog">log鐖舵帶浠�</param> - public void ThreadSend(Control control, Action<ResponsePackNew> action, string str,Dialog dialog) - { - //鍔犺浇log - Loading loading = new Loading(); - dialog.AddChidren(loading); - ResponsePackNew responsePackNew = null; - loading.Start(); - new System.Threading.Thread(() => - { - try - { - - if (str == "鍒犻櫎") { responsePackNew = PirSend.DeleteDevice(control.deviceId); @@ -422,7 +394,16 @@ } else if (str == "鍒犻櫎鎸夐敭") { - // responsePackNew = PirSend.CodeRemove(control.deviceId, control.name); + // 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 { } @@ -480,7 +461,7 @@ str = buttondata; } - if (!string.IsNullOrEmpty(controldata)) + if (!string.IsNullOrEmpty(str)) { try { -- Gitblit v1.8.0