From 1d1cad99a27c9f644c84eb3d376c70bd30a55879 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期三, 10 三月 2021 18:02:13 +0800 Subject: [PATCH] 2021-3-10-1 --- HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs | 132 ++++++++++++++++++++++++++++++++------------ 1 files changed, 96 insertions(+), 36 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs index a4a0393..8fd747b 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs @@ -8,9 +8,39 @@ { public class Method { + + /// <summary> + /// 绠$悊浣嶇疆 + /// </summary> + /// <param name="control">褰撳墠璁惧</param> + /// <param name="action">鍥炶皟鍑芥暟</param> + public void ManagementPosition(Entity.Function control, Action action) + { + var view = new ChooseRoomPage(control, action); + MainPage.BasePageView.AddChidren(view); + view.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } + /// <summary> + /// 淇敼鍚嶇О + /// </summary> + /// <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) + { + new View.TipView().InputBox(StringId.editName, currName, StringId.nameNull, StringId.NameAlreadyExists, list, (text, view + ) => + { + action(text,view); + }, () => { actionCancel(); }, tag); + } /// <summary> /// 娣诲姞閬ユ帶鍣ㄧ殑鏂规硶 /// </summary> + /// <param name="frameLayout">log鍥炬爣鍔犺浇鐣岄潰</param> + /// <param name="action">鍥炶皟鍑芥暟</param> public void AddControl(FrameLayout frameLayout, Action<Control> action) { View.TipView tipView = new View.TipView(); @@ -36,8 +66,9 @@ /// <summary> /// 鍙戦�侀仴鎺у櫒鍛戒护鏂规硶 /// </summary> - /// <param name="control"></param> - /// <param name="frame"></param> + /// <param name="control">鍙戦�佸弬鏁板璞�</param> + /// <param name="frame">log鍥炬爣鍔犺浇鐣岄潰</param> + /// <param name="action">鍥炶皟鍑芥暟</param> public void ThreadAddControl(Control control, FrameLayout frame, Action<Control> action) { DAL.Server.ResponsePackNew responsePackNew = null; @@ -48,7 +79,12 @@ { try { + //鍙戦�佹坊鍔犲懡浠� responsePackNew = PirSend.Add(control); + + + + } catch { } finally @@ -59,19 +95,32 @@ if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") { string sid = responsePackNew.Data.ToString(); - var mqttdate = MqttDate(sid); + var mqttdate =MqttDate(sid); + ///杩欓噷锛氱洃鍚琈TTP鎺ㄩ�佷笅鏉ヤ富棰橈紝鎵嶇煡閬撴槸鍚︽坊鍔犳垚鍔� if (mqttdate != null) { - ///杩欓噷锛氱洃鍚琈TTP鎺ㄩ�佷笅鏉ヤ富棰橈紝鎵嶇煡閬撴槸鍚︽坊鍔犳垚鍔� control.sid = sid; //浼戠湢500姣锛屼负绛夊緟浜戠鍒涘缓deviceid锛� System.Threading.Thread.Sleep(500); - GetControl(frame, control,(device)=> { + GetControl(frame, control, (device) => + { 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); + }); + } }); } @@ -85,23 +134,24 @@ ThreadAddControl(control, frame, action); }); } - - } else { ErrorShow(responsePackNew); } }); + + } }) { IsBackground = true }.Start(); } - /// <summary> /// 鑾峰彇绾㈠璁惧鍒楄〃 /// </summary> + /// <param name="frame">log鍥炬爣鍔犺浇鐣岄潰</param> + /// <param name="action">鍥炶皟鍑芥暟</param> public static void GetPirDeviceList(FrameLayout frame, Action action) { //娓呴櫎涔嬪墠鍒楄〃; @@ -173,6 +223,8 @@ /// <summary> /// 鑾峰彇閬ユ帶鍣ㄥ垪琛� /// </summary> + /// <param name="frame">log鍥炬爣鍔犺浇鐣岄潰</param> + /// <param name="action">鍥炶皟鍑芥暟</param> public static void GetControlList(FrameLayout frame, Action action) { //鍔犺浇log @@ -243,10 +295,12 @@ { IsBackground = true }.Start(); } - /// <summary> - /// 鑾峰彇閬ユ帶鍣ㄨ缁� + /// 鑾峰彇璁惧璇︽儏閫氳繃(spk,sid) /// </summary> + /// <param name="frame">log鍥炬爣鍔犺浇鐣岄潰</param> + /// <param name="control">鍙戦�佸弬鏁板璞�</param> + /// <param name="action">鍥炶皟鍑芥暟</param> public void GetControl(FrameLayout frame, Control control, Action<Entity.Function> action) { Entity.Function function = null; @@ -259,6 +313,7 @@ { try { + // 鑾峰彇璁惧璇︽儏閫氳繃(spk,sid) responsePackNew = PirSend.GetinfoBySid(control); } catch { } @@ -295,61 +350,66 @@ }) { IsBackground = true }.Start(); } - /// <summary> - /// MQTT涓婚鎺ㄩ�佷笅鏉ョ殑鏁版嵁(閬ユ帶鍣ㄦ坊鍔�) + /// MQTT涓婚鎺ㄩ�佷笅鏉ョ殑鏁版嵁 /// </summary> - public static string addcontrondata = ""; - /// <summary> - /// MQTT涓婚鎺ㄩ�佷笅鏉ョ殑鏁版嵁(瀛︿範鎸夐敭) - /// </summary> - public static string studybtndata = ""; - + public static string mqttdata = ""; /// <summary> /// 鍒ゆ柇杩欎釜涓婚鏄惁鏄坊鍔犻仴鎺у櫒涓婚 /// </summary> + /// <param name="sid">鍞竴鏍囪瘑</param> + /// <param name="timeValue">绛夊緟鏃堕棿鍊�</param> /// <returns></returns> - public Cloud MqttDate(string sid,int timeValue=10) + public Cloud MqttDate(string sid, int timeValue = 10) { - Cloud cloud=null; + Cloud cloud = null; var dateTime = DateTime.Now; while ((DateTime.Now - dateTime).TotalMilliseconds < timeValue * 1000) { - if (!string.IsNullOrEmpty(addcontrondata)) + if (!string.IsNullOrEmpty(mqttdata)) { - var cloudjson = Newtonsoft.Json.JsonConvert.DeserializeObject<Cloud>(addcontrondata); - for (int i = 0; i < cloudjson.objects.Count; i++) + try { - var objects = cloudjson.objects[i]; - if (sid == objects.sid) + var cloudjson = Newtonsoft.Json.JsonConvert.DeserializeObject<Cloud>(mqttdata); + for (int i = 0; i < cloudjson.objects.Count; i++) { - cloud = cloudjson; - break; + var objects = cloudjson.objects[i]; + if (sid == objects.sid) + { + cloud = cloudjson; + break; + } } + break; } - break; + catch { } } } return cloud; } - /// <summary> /// 閿欒鐮佹彁绀� /// </summary> /// <param name="responsePackNew"></param> - public void ErrorShow(ResponsePackNew responsePackNew) + /// <param name="str"></param> + public void ErrorShow(ResponsePackNew responsePackNew,string str="") { - - if (responsePackNew != null && responsePackNew.Code == "14005") - { - new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.gatewayNotOnline)); - + if (str == "鍒犻櫎閬ユ帶鍣�") { + new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.delFail)); } else { - new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); + if (responsePackNew != null && responsePackNew.Code == "14005") + { + new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.gatewayNotOnline)); + } + else + { + new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); + + } } } -- Gitblit v1.8.0