From 189e35185099a619ec3c2060fed34cd5eee848a4 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 17 三月 2021 11:17:05 +0800 Subject: [PATCH] Merge branch 'dev-tzy' into temp-wxr --- HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs | 20 +++++++++ HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs | 65 ++++++++++++++++++++++++-------- HDL_ON/UI/UI0-Stan/Logic/HdlFormLogic.cs | 26 +++++++++++++ 3 files changed, 93 insertions(+), 18 deletions(-) diff --git a/HDL_ON/UI/UI0-Stan/Logic/HdlFormLogic.cs b/HDL_ON/UI/UI0-Stan/Logic/HdlFormLogic.cs index dd40fac..5d9902c 100644 --- a/HDL_ON/UI/UI0-Stan/Logic/HdlFormLogic.cs +++ b/HDL_ON/UI/UI0-Stan/Logic/HdlFormLogic.cs @@ -163,6 +163,32 @@ #region 鈻� 涓�鑸柟娉昣__________________________ /// <summary> + /// 鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰 + /// </summary> + /// <param name="tagetFrom">鐩爣鐣岄潰,濡傛灉鎸囧畾浜嗙殑璇�,鍒欏叧闂洰鏍囩晫闈笂灞傜殑鍏ㄩ儴鐣岄潰(瀹冭嚜韬笉鍏抽棴)</param> + public void CloseAllOpenForm(string tagetFrom = null) + { + //鏈�鍚庝竴涓槸瑁呰浇涓婚〉鐨勫鍣�,鎵�浠ヤ笉鑳藉垹闄� + while (MainPage.BasePageView.ChildrenCount > 1) + { + var view = MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1); + if (view is CommonFormBase) + { + if (((CommonFormBase)view).FormID == tagetFrom) + { + //鍙叧闂埌鎸囧畾鐩爣鐣岄潰 + return; + } + ((CommonFormBase)view).CloseForm(); + } + else + { + view.RemoveFromParent(); + } + } + } + + /// <summary> /// 鑾峰彇褰撳墠姝e湪婵�娲荤殑鐣岄潰 /// </summary> /// <returns></returns> diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs index 17c9dc1..f80aa7a 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs @@ -13,6 +13,11 @@ { #region 鈻� 鍙橀噺澹版槑___________________________ + /// <summary> + /// 娣诲姞璁惧瀹屾垚涔嬪悗鐨勫洖璋冧簨浠�(娓╂�昏浠栬嚜宸辫杩欎釜涓滆タ) + /// </summary> + public Action<Entity.Function> AddDeviceEvent = null; + #endregion #region 鈻� 鍒濆鍖朹____________________________ @@ -64,7 +69,7 @@ btnNext.CanClick = true; if (result == true) { - this.CloseForm(); + //娉ㄦ剰锛氳繖涓晫闈笉鑳藉叧闂�,瀹冪敤鏉ュ洖璋冩俯鎬荤殑鐣岄潰鐢ㄧ殑 var form = new AddMiniRemoteControlDirection2Page(); //鍒濆wifi鍜屽瘑鐮佷负绌� form.AddForm(string.Empty, string.Empty); @@ -74,5 +79,18 @@ } #endregion + + #region 鈻� 鍏抽棴鐣岄潰___________________________ + + /// <summary> + /// 鍏抽棴鐣岄潰 + /// </summary> + public override void CloseFormBefore() + { + this.AddDeviceEvent = null; + base.CloseFormBefore(); + } + + #endregion } } diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs index 60a4762..ef5b20c 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,19 +213,38 @@ bodyFrameLayout.AddChidren(btnUse); btnUse.ButtonClickEvent += (sender, e) => { - //鍏虫帀鐣岄潰 - this.CloseForm(); - HdlFormLogic.Current.CloseFormByFormName("AddThirdPartyDeviceMenuListPage"); - HDL_ON.UI.UI2.PersonalCenter.PirDevice.Method.GetPirDeviceList(this, () => + if (newDevice == null) { - Application.RunOnMainThread(() => + //鍏抽棴鎺夊叏閮ㄧ殑鐣岄潰,搴旇涓嶄細鍙戠敓 + 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璧锋潵 + HDL_ON.UI.UI2.PersonalCenter.PirDevice.Method.GetPirDeviceList(this, () => { - var page = new UI2.PersonalCenter.PirDevice.PirMain(); - MainPage.BasePageView.AddChidren(page); - page.Show(null); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + Application.RunOnMainThread(() => + { + var page = new UI2.PersonalCenter.PirDevice.PirMain(); + MainPage.BasePageView.AddChidren(page); + page.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }); }); - }); + } }; } @@ -311,11 +334,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) { @@ -331,7 +356,7 @@ /// 鍒锋柊绾㈠瀹濅俊鎭� /// </summary> /// <param name="successEvent">鎴愬姛鐨勫洖璋冧簨浠�</param> - private void RefreshMiniRemoteControlInfo(Action successEvent) + private void RefreshMiniRemoteControlInfo(Action<Entity.Function> successEvent) { var pra = new Dictionary<string, object>(); pra.Add("homeId", Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID); @@ -357,14 +382,20 @@ 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(); + successEvent?.Invoke(newDevice); return; } catch @@ -392,7 +423,7 @@ return; } //鍒锋柊绾㈠瀹濅俊鎭� - this.RefreshMiniRemoteControlInfo(() => + this.RefreshMiniRemoteControlInfo((Entity.Function newDevice) => { //绉婚櫎杩欎釜浜嬩欢 HdlCloudReceiveLogic.Current.RemoveCloudReceiveEvent("AddMiniRemoteControlDirection4Page"); @@ -400,14 +431,14 @@ this.timeoutThreadActivity = false; //娣诲姞璁惧鎴愬姛涔嬪悗,澶勭悊涓�浜涗笢瑗� - this.DoSomethingAfterAddDeviceSuccess(); + this.DoSomethingAfterAddDeviceSuccess(newDevice); }); } /// <summary> /// 娣诲姞璁惧鎴愬姛涔嬪悗,澶勭悊涓�浜涗笢瑗� /// </summary> - private void DoSomethingAfterAddDeviceSuccess() + private void DoSomethingAfterAddDeviceSuccess(Entity.Function newDevice) { HdlThreadLogic.Current.RunThread(() => { @@ -438,7 +469,7 @@ HdlThreadLogic.Current.RunMain(() => { //鏄剧ず鎴愬姛鐣岄潰 - this.ShowSuccessView(); + this.ShowSuccessView(newDevice); }); } } -- Gitblit v1.8.0