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/AddDevice/AddMiniRemoteControlDirection4Page.cs | 98 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 85 insertions(+), 13 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs index de75ae9..ef4bf84 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs @@ -22,6 +22,10 @@ /// </summary> private string wifiPsw = string.Empty; /// <summary> + /// 鏂拌澶囩殑sid(鐢ㄦ潵鍖归厤鍝竴涓澶囨槸鏂扮殑) + /// </summary> + private string newDeviceSid = string.Empty; + /// <summary> /// 瓒呮椂绾跨▼鏄惁杩愯 /// </summary> private bool timeoutThreadActivity = false; @@ -176,7 +180,7 @@ /// <summary> /// 鏄剧ず鎴愬姛鐣岄潰 /// </summary> - private void ShowSuccessView() + private void ShowSuccessView(Entity.Function newDevice) { //娓呯┖body this.ClearBodyFrame(); @@ -209,6 +213,29 @@ bodyFrameLayout.AddChidren(btnUse); btnUse.ButtonClickEvent += (sender, e) => { + if (newDevice == null) + { + //鍏抽棴鎺夊叏閮ㄧ殑鐣岄潰,搴旇涓嶄細鍙戠敓 + HdlFormLogic.Current.CloseAllOpenForm(); + return; + } + var form = HdlFormLogic.Current.GetFormByName("AddMiniRemoteControlDirection1Page") as AddMiniRemoteControlDirection1Page; + //if (form.AddDeviceEvent != null) + { + //浠h〃杩欎釜鏄敱娓╂�婚偅杈硅皟鐢ㄧ殑,鐩存帴鍥炶皟鍑芥暟 + form.AddDeviceEvent?.Invoke(newDevice); + //鍏抽棴鎺夎繖涓晫闈� + this.CloseForm(); + //鍐嶆妸AddMiniRemoteControlDirection1Page鐣岄潰鍏充簡 + HdlFormLogic.Current.CloseFormByFormName("AddMiniRemoteControlDirection1Page"); + } + //else + //{ + // //浠h〃杩欏苟涓嶆槸鐢辨俯鎬荤殑鐣岄潰璋冪敤鐨�,鍒欏叧闂帀鍏ㄩ儴鐨勭晫闈� + // HdlFormLogic.Current.CloseAllOpenForm(); + // //鐒跺悗鍐嶆妸娓╂�荤殑鐣岄潰new璧锋潵 + // new UI2.PersonalCenter.PirDevice.Method().MainView(this, newDevice,()=> { }); + //} }; } @@ -298,11 +325,13 @@ //鏁扮粍绫诲瀷 if (linqArry.Count == 0) { return false; } strSpk = linqArry[0]["spk"].ToString(); + this.newDeviceSid = linqArry[0]["sid"].ToString(); } else { //闈炴暟缁勭被鍨� strSpk = json["objects"]["spk"].ToString(); + this.newDeviceSid = json["objects"]["sid"].ToString(); } if (strSpk != Entity.SPK.IrModule) { @@ -317,13 +346,55 @@ /// <summary> /// 鍒锋柊绾㈠瀹濅俊鎭� /// </summary> - private void RefreshMiniRemoteControlInfo() + /// <param name="successEvent">鎴愬姛鐨勫洖璋冧簨浠�</param> + private void RefreshMiniRemoteControlInfo(Action<Entity.Function> successEvent) { var pra = new Dictionary<string, object>(); pra.Add("homeId", Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID); + pra.Add("spk", Entity.SPK.IrModule); var requestJson = DAL.Server.HttpUtil.GetSignRequestJson(pra); - DAL.Server.HttpUtil.RequestHttpsPostFroHome(DAL.Server.NewAPI.Api_Post_GetDevcieList, requestJson); + HdlThreadLogic.Current.RunThread(() => + { + int count = 0; + while (this.Parent != null) + { + try + { + //瓒呰繃5娆¢兘涓嶆垚鍔�,鐪熶笉澶勭悊浜� + count++; + if (count > 5) { return; } + + //鑾峰彇鍏ㄩ儴绾㈠瀹濆垪琛� + var result = DAL.Server.HttpUtil.RequestHttpsPostFroHome(DAL.Server.NewAPI.Api_Post_GetDevcieList, requestJson); + if (result == null || result.Code != DAL.Server.StateCode.SUCCESS) + { + System.Threading.Thread.Sleep(3000); + continue; + } + var listDevice = Newtonsoft.Json.JsonConvert.DeserializeObject<Entity.DevcieApiPack>(result.Data.ToString()); + Entity.Function newDevice = null; + foreach (var newFunction in listDevice.list) + { + //娣诲姞鍒扮紦瀛樺綋涓� + newFunction.SaveFunctionFile(); + Entity.FunctionList.List.IniFunctionList(newFunction.savePath, true); + if (newFunction.sid == this.newDeviceSid) + { + //杩欎釜璁惧鏄柊杩藉姞鐨� + newDevice = newFunction; + } + } + //璋冪敤鍥炶皟鍑芥暟 + successEvent?.Invoke(newDevice); + return; + } + catch + { + System.Threading.Thread.Sleep(3000); + } + } + }); } #endregion @@ -343,21 +414,22 @@ return; } //鍒锋柊绾㈠瀹濅俊鎭� - this.RefreshMiniRemoteControlInfo(); + this.RefreshMiniRemoteControlInfo((Entity.Function newDevice) => + { + //绉婚櫎杩欎釜浜嬩欢 + HdlCloudReceiveLogic.Current.RemoveCloudReceiveEvent("AddMiniRemoteControlDirection4Page"); + //鍋滄绾跨▼ + this.timeoutThreadActivity = false; - //鎺ユ敹鍒板氨绉婚櫎杩欎釜浜嬩欢 - HdlCloudReceiveLogic.Current.RemoveCloudReceiveEvent("AddMiniRemoteControlDirection4Page"); - //鍋滄绾跨▼ - this.timeoutThreadActivity = false; - - //娣诲姞璁惧鎴愬姛涔嬪悗,澶勭悊涓�浜涗笢瑗� - this.DoSomethingAfterAddDeviceSuccess(); + //娣诲姞璁惧鎴愬姛涔嬪悗,澶勭悊涓�浜涗笢瑗� + this.DoSomethingAfterAddDeviceSuccess(newDevice); + }); } /// <summary> /// 娣诲姞璁惧鎴愬姛涔嬪悗,澶勭悊涓�浜涗笢瑗� /// </summary> - private void DoSomethingAfterAddDeviceSuccess() + private void DoSomethingAfterAddDeviceSuccess(Entity.Function newDevice) { HdlThreadLogic.Current.RunThread(() => { @@ -388,7 +460,7 @@ HdlThreadLogic.Current.RunMain(() => { //鏄剧ず鎴愬姛鐣岄潰 - this.ShowSuccessView(); + this.ShowSuccessView(newDevice); }); } } -- Gitblit v1.8.0