From 3cebdfad56d78ba04a214fccd1b942a010aeba77 Mon Sep 17 00:00:00 2001 From: tzy <274116637@qq.com> Date: 星期五, 26 三月 2021 09:42:26 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/temp-wxr' into dev-tzy --- HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs | 278 +++++++++++++++++++++++++++++++++---------------------- 1 files changed, 167 insertions(+), 111 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs index 19bca3c..f5f2ed2 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs @@ -8,12 +8,13 @@ { public class Method { + /// <summary> - /// 绋嬪簭涓诲叆鍙� + /// 绾㈠瀹濈▼搴忎富鍏ュ彛 /// </summary> /// <param name="frame"></param> /// <param name="function"></param> - public void MainView(FrameLayout frame, Entity.Function function,Action action) + public void MainView(FrameLayout frame, Entity.Function function, Action action) { Pir pirDevice = new Pir(); if (function != null) @@ -22,6 +23,7 @@ pirDevice.deviceId = function.deviceId; pirDevice.sid = function.sid; pirDevice.online = function.online; + pirDevice.versions = function.versions; } Pir.currPir = pirDevice; GetControlList(frame, () => @@ -32,8 +34,10 @@ MainPage.BasePageView.AddChidren(page); page.Show(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - page.BackAction += () => { + PirMain.BackAction += () => + { action?.Invoke(); + PirMain.BackAction = null; }; }); }, Pir.currPir); @@ -139,7 +143,13 @@ { if (device != null) { + control.deviceId = device.deviceId; + //閬ユ帶鍣ㄦ坊鍔犲埌鍒楄〃锛� + if (null == Pir.currPir.FunctioList.Find((c) => c.deviceId == device.deviceId)) + { + Pir.currPir.FunctioList.Add(device); + } frame.RemoveFromParent();//娣诲姞鎴愬姛鍏抽棴寮圭獥 action(control); } @@ -211,25 +221,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); - } } } @@ -258,7 +253,7 @@ { loading.Hide(); Method method = new Method(); - method.ErrorShow(null,"璇诲彇绾㈠瀹濆垪琛ㄥけ璐�"); + method.ErrorShow(null, "璇诲彇绾㈠瀹濆垪琛ㄥけ璐�"); } } catch { } @@ -286,7 +281,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()); @@ -331,57 +326,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> @@ -392,37 +357,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> @@ -432,9 +372,10 @@ /// <param name="view">鍒ゆ柇log鐖舵帶浠�</param> /// <param name="frame">log鐖舵帶浠�</param> /// <param name="dialog">log鐖舵帶浠�</param> - public static void ThreadSend(Control control, Action<ResponsePackNew> action, string str,string view, FrameLayout frame, Dialog dialog) + /// <param name="attributesStatus">瀛︿範鎸夐敭</param> + public static void ThreadSend(Control control, Action<ResponsePackNew> action, string str, string view, FrameLayout frame, Dialog dialog, Entity.AttributesStatus attributesStatus=null) { - + //鍔犺浇log Loading loading = new Loading(); if (view == "dialog") @@ -460,8 +401,25 @@ responsePackNew = PirSend.DeviceRename(control.deviceId, control.name); } - else if (str == "鍒犻櫎鎸夐敭") { - // responsePackNew = PirSend.CodeRemove(control.deviceId, control.name); + else if (str == "鍒犻櫎鎸夐敭") + { + if (attributesStatus != null) + { + responsePackNew = PirSend.CodeRemove(attributesStatus, control.deviceId); + } + } + else if (str == "鑾峰彇璁惧璇︽儏") + { + // 鑾峰彇璁惧璇︽儏閫氳繃(spk,sid) + responsePackNew = PirSend.GetinfoBySid(control); + } + else if (str == "鑾峰彇閬ユ帶鍣ㄥ垪琛�") + { + responsePackNew = PirSend.ControlList(control.deviceId); + } + else if (str == "搴撶爜娴嬭瘯") + { + responsePackNew = PirSend.CodeTest(control); } } catch { } @@ -477,7 +435,28 @@ else { Method method = new Method(); - method.ErrorShow(responsePackNew, ""); + //鑷畾涔夐敊璇彁绀烘枃鏈� + string eorroText = ""; + if (str == "鍒犻櫎") + { + } + else if (str == "淇敼鍚嶇О") + { + + } + else if (str == "鍒犻櫎鎸夐敭") + { + } + else if (str == "鑾峰彇璁惧璇︽儏") + { + } + else if (str == "鑾峰彇閬ユ帶鍣ㄥ垪琛�") + { + } + else if (str == "搴撶爜娴嬭瘯") + { + } + method.ErrorShow(responsePackNew, eorroText); } }); @@ -519,7 +498,7 @@ str = buttondata; } - if (!string.IsNullOrEmpty(controldata)) + if (!string.IsNullOrEmpty(str)) { try { @@ -559,7 +538,11 @@ } else if (text == "璇诲彇绾㈠瀹濆垪琛ㄥけ璐�") { - str = "璇诲彇绾㈠瀹濆垪琛ㄥけ璐�"; //Language.StringByID(StringId.delFail); + str = Language.StringByID(StringId.huoqushujushibao); + } + else if (text == "娣诲姞澶辫触") + { + str = Language.StringByID(StringId.tianjiashibai); } else { @@ -577,19 +560,19 @@ break; case "10807": { - str = "绾㈠瀹濅笅閬ユ帶鍣ㄨ秴杩囨渶澶�(10涓�)鏁伴噺闄愬埗";// Language.StringByID(StringId.gatewayNotOnline); + str = Language.StringByID(StringId.bunengchaoguo10); } break; case "2": { - str = "绯荤粺缁存姢涓瓇璇风◢鍚庡啀璇晘"; + str = Language.StringByID(StringId.xitongweihuzhong); } break; default: { - str ="鑾峰彇鏁版嵁澶辫触" ;// Language.StringByID(StringId.saveFail); + str = Language.StringByID(StringId.huoqushujushibao); } break; @@ -607,6 +590,79 @@ case 3: { } break; } } + /// <summary> + ///鎸囧畾鍒锋柊鐣岄潰 + /// </summary> + /// <param name="strView">鍒ゆ柇瀛楃</param> + public static void RefreshView(string strView) + { + //鏍囪鏄笉鏄凡缁忓埛鏂板畬鎴� + bool if_bool = false; + for (int i = MainPage.BasePageView.ChildrenCount - 1; 0 <= i; i--) + { + var view = MainPage.BasePageView.GetChildren(i); + if (strView == "PirMain") + { + if (view.GetType() == typeof(PirMain)) + { + //寮哄埗杞崲瀵硅薄 + var f = (PirMain)view; + //绉婚櫎鎵�鏈夊瓙鎺т欢 + f.RemoveAll(); + //閲嶆柊鍔犺浇UI + f.Show(); + //閫�鍑篺or寰幆 + //break; + if_bool = true; + } + } + if (if_bool) + { + //閫�鍑篺or寰幆 + break; + } + } + } + /// <summary> + /// 鎸囧畾鍒犻櫎鐣岄潰 + /// </summary> + /// <param name="strView">鍒ゆ柇瀛楃</param> + public static void RemoveView(string strView) + { + + for (int i = MainPage.BasePageView.ChildrenCount - 1; 0 <= i; i--) + { + var view = MainPage.BasePageView.GetChildren(i); + if (strView == "PirMain") + { + if (view.GetType() == typeof(PirMain)) + { + //绉婚櫎鐣岄潰 + view.RemoveFromParent(); + } + + } + else if (strView == "AddControl") + { + + if (view.GetType() == typeof(AddControl)) + { + //鎵惧埌绉婚櫎 + view.RemoveFromParent(); + } + } + else if (strView == "AddControlComplete") + { + + if (view.GetType() == typeof(AddControlComplete)) + { + //鎵惧埌绉婚櫎 + view.RemoveFromParent(); + } + } + + } + } } [Serializable] -- Gitblit v1.8.0