From f534d41c36d5895322bf691784a10435b64609fe Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 25 十二月 2020 13:52:00 +0800 Subject: [PATCH] 修复添加、删除楼层时候,界面刷新异常问题 --- HDL_ON/UI/MainPage.cs | 223 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 150 insertions(+), 73 deletions(-) diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs index 4d6eb1a..ff4f6b3 100644 --- a/HDL_ON/UI/MainPage.cs +++ b/HDL_ON/UI/MainPage.cs @@ -26,7 +26,7 @@ /// <summary> /// 鐗堟湰鍙� /// </summary> - public static string VersionString = "1.0.0924"; + public static string VersionString = "1.0.1225"; ///// <summary> ///// 瀹㈡埛绔被鍨� ///// </summary> @@ -44,10 +44,19 @@ /// 鏃犵櫥褰曟ā寮� /// </summary> public static bool NoLoginMode = false; + ///// <summary> + ///// 杩滅▼妯″紡 + ///// </summary> + //public static bool IsRemote = false; /// <summary> - /// 杩滅▼妯″紡 + /// 缃戠粶杩炴帴鐘舵�� + /// 0:鏃犵綉缁� /// </summary> - public static bool IsRemote = false; + public static int InternetStatus = 2; + /// <summary> + /// 鏄惁杩涘叆鍚庡彴 + /// </summary> + public static bool IsEnterBackground = false; ///// <summary> ///// 鍏徃浠g爜 @@ -86,42 +95,32 @@ BaseView = Application.MainPage; Application.MainPage.BackgroundColor = CSS_Color.MainBackgroundColor; - //LoginUser = Newtonsoft.Json.JsonConvert.DeserializeObject<UserInfo>(System.Text.Encoding.UTF8.GetString(FileUtils.ReadFile("UserInfo_File"))); - //鍒ゆ柇闇�涓嶉渶瑕佺櫥褰曪紝鏈夋病鏈夌櫥褰曪紝鎴栬�呯櫥褰曟槸鍚﹁繃鏈燂紝 - if (UserInfo.Current == null || !UserInfo.Current.IsLogin) + + if (string.IsNullOrEmpty(OnAppConfig.Instance.LastLoginUserId)) { - GoLoginPage(UserInfo.Current); + GoLoginPage(); } else { - new System.Threading.Thread(() => + //鍒ゆ柇闇�涓嶉渶瑕佺櫥褰曪紝鏈夋病鏈夌櫥褰曪紝鎴栬�呯櫥褰曟槸鍚﹁繃鏈燂紝 + if (UserInfo.Current == null || !UserInfo.Current.IsLogin) { - var pm = new DAL.Server.HttpServerRequest(); - pm.RefreshToken();//鍒锋柊Token - pm.GetHomePager();//鍒锋柊浣忓畢淇℃伅 - }) - { IsBackground = true }.Start(); - new System.Threading.Thread(() => + GoLoginPage(UserInfo.Current); + } + else { - var pm =new DAL.Server.HttpServerRequest(); - pm.GetUserInfo();//鍒锋柊涓汉淇℃伅 - }) - { IsBackground = true }.Start(); - - GoUserPage(); - //鍚姩瀵嗙爜楠岃瘉 - new AppUnlockPage().LoadPage(); - //璇诲彇闊充箰淇℃伅 - UI.Music.A31MusicModel.ReadMusicStates(); - //鎼滅储缃戝叧 + //new System.Threading.Thread(() => + //{ + // var pm = new DAL.Server.HttpServerRequest(); + // pm.RefreshToken();//鍒锋柊Token + // pm.GetHomePager();//鍒锋柊浣忓畢淇℃伅 + // pm.GetUserInfo();//鍒锋柊涓汉淇℃伅 + //}) + //{ IsBackground = true }.Start(); + Common.ApiUtlis.Ins.DownloadData(); -#if DEBUG - //Entity.DB_ResidenceData.residenceData.residenceGatewayMAC = "4E47323347591243"; - //Entity.DB_ResidenceData.residenceData.GatewayType = 0; - Entity.DB_ResidenceData.residenceData.residenceGatewayMAC = "123456789AAAAAAA"; - Entity.DB_ResidenceData.residenceData.GatewayType = 1; -#endif - DriverLayer.Control.Ins.SearchLoaclGateway(); + GoUserPage(false,true); + } } } catch (Exception ex) @@ -152,57 +151,135 @@ /// <summary> /// 杩涘叆涓婚〉 /// </summary> - public static void GoUserPage() + /// <param name="isFirstOpen">濡傛灉鏄涓�娆″惎鍔� 妫�娴嬫牎楠屽瘑鐮�</param> + /// <param name="pageShowEvent">涓婚〉鏄剧ず涔嬪悗瑙﹀彂鐨勪簨浠�(娌℃湁浣忓畢鐨勮瘽,鍒欎笉浼氳Е鍙�)</param> + public static void GoUserPage(bool downloadData , bool isFirstOpen = false, Action pageShowEvent = null) { - BaseView.RemoveAll(); - BasePageView = new PageLayout(); - BasePageView.ScrollEnabled = false; - BasePageView.IsShowPoint = false; - BasePageView.PageChange = (sender, e) => { - if (e < BasePageView.ChildrenCount - 1) + //鍔犺浇Loading鏁堟灉 + var waitPage = new Loading(); + BaseView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + + //褰撴病鏈変綇瀹呮椂,涓嶈兘璁╁畠寰�涓嬭蛋 + if (UserInfo.Current.regionList.Count == 0) + { + waitPage.Hide(); + var addResidencePage = new BindingResidencePage(); + BaseView.AddChidren(addResidencePage); + addResidencePage.LoadView(); + return; + } + + new System.Threading.Thread(() => + { + try { - MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); - } + Entity.FunctionList.List.Clear(); + Entity.SpatialInfo.CurrentSpatial.Clear(); + ///绛夊緟鑾峰彇浣忓畢淇℃伅 + Application.RunOnMainThread(() => + { + waitPage.Hide(); + BaseView.RemoveAll(); + BasePageView = new PageLayout(); + BasePageView.ScrollEnabled = false; + BasePageView.IsShowPoint = false; + BasePageView.PageChange = (sender, e) => + { + if (e < BasePageView.ChildrenCount - 1) + { + MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); + } - while (e < BasePageView.ChildrenCount - 1) + while (e < BasePageView.ChildrenCount - 1) + { + BasePageView.GetChildren(BasePageView.ChildrenCount - 1).RemoveFromParent(); + } + }; + BasePageView.MouseDownEventHandler += (sender, e) => + { + BasePageView.ScrollEnabled = true; + }; + BasePageView.MouseUpEventHandler += (sender, e) => + { + BasePageView.ScrollEnabled = false; + }; + BaseView.AddChidren(BasePageView); + + //璺宠浆椤甸潰---- + var userPage = new UserPage(); + BasePageView.AddChidren(userPage); + userPage.LoadPage(); + BasePageView.PageIndex = 0; + + if (isFirstOpen) + { + //鍚姩瀵嗙爜楠岃瘉 + new AppUnlockPage().LoadPage(isFirstOpen); + } + //涓婚〉鍔犺浇瀹屾垚,鍥炶皟浜嬩欢 + pageShowEvent?.Invoke(); + pageShowEvent = null; + }); + } + catch (Exception ex) { - BasePageView.GetChildren(BasePageView.ChildrenCount - 1).RemoveFromParent(); + MainPage.Log($"GoUserPage : {ex.Message}"); + }finally + { + Application.RunOnMainThread(() => + { + if (downloadData) + { + ///鍒濆鍖朼pp鏁版嵁 + Common.ApiUtlis.Ins.DownloadData(); + }; + }); } - }; - BasePageView.MouseDownEventHandler += (sender, e) => { - BasePageView.ScrollEnabled = true; - }; - BasePageView.MouseUpEventHandler += (sender, e) => { - BasePageView.ScrollEnabled = false; - }; - BaseView.AddChidren(BasePageView); - - //璺宠浆椤甸潰---- - var userPage = new UserPage(); - BasePageView.AddChidren(userPage); - userPage.LoadPage(); - BasePageView.PageIndex = 0; + }).Start(); } - public static void GetRoomList() + /// <summary> + /// 鍒濆鍖朼pp鎵�闇�瑕佺殑鏁版嵁 + /// </summary> + public static void InitializationData1() { - var pm = new DAL.Server.HttpServerRequest(); - var packNew = pm.GetRoomList();//鍒锋柊鎴块棿鍒楄〃 - var floorPack = pm.GetRoomList("FLOOR"); - var rooms = Newtonsoft.Json.JsonConvert.DeserializeObject<Entity.RoomApiPack>(packNew.Data.ToString()); - var floors = Newtonsoft.Json.JsonConvert.DeserializeObject<Entity.RoomApiPack>(packNew.Data.ToString()); - MainPage.Log(packNew.Data.ToString()); - MainPage.Log(floorPack.Data.ToString()); - } + //new System.Threading.Thread(() => + //{ + // int count = 0; + // while (count< 10) + // { + // if (Entity.DB_ResidenceData.Instance.CheckWhetherGatewayIdIsNull() )//|| Entity.DB_ResidenceData.residenceData.HomeGateway == null) + // { + // System.Threading.Thread.Sleep(200); + // } + // else + // { + // break; + // } + // count++; + // } + // if(Entity.DB_ResidenceData.Instance.CheckWhetherGatewayIdIsNull()) + // { + // return; + // } + // //System.Threading.Thread.Sleep(2000); + // #region 璇诲彇浜戠鏁版嵁-- + // //todo鏁版嵁瑕嗙洊澶勭悊 + // //璇诲彇浜戠鎴块棿銆佹ゼ灞傛暟鎹� + // Entity.SpatialInfo.CurrentSpatial.DownloadRoomList(); + // //璇诲彇浜戠璁惧鏁版嵁 + // Entity.FunctionList.List.DownloadFunctionList(); + // //璇诲彇浜戠鍦烘櫙鏁版嵁 + // Entity.FunctionList.List.DownloadSceneList(); + // //璇诲彇閫昏緫鍒楄〃 + // UI.UI2.Intelligence.Automation.MainView.GetLogicList(); + // #endregion - public static void GetDeviceList() - { - var pm = new DAL.Server.HttpServerRequest(); - var packNew = pm.GetDeviceList(); - var functions = Newtonsoft.Json.JsonConvert.DeserializeObject<Entity.DevcieApiPack>(packNew.Data.ToString()); - MainPage.Log(packNew.Data.ToString()); - } + //}) + //{ IsBackground = true }.Start(); + } /// <summary> /// 鑷畾涔夋棩蹇楄緭鍑� -- Gitblit v1.8.0