From bb6ad792b598927a5459a5fb6f6c27fb1aa9e94e Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期四, 17 十二月 2020 14:06:36 +0800 Subject: [PATCH] 20201217-1 --- HDL_ON/UI/MainPage.cs | 213 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 143 insertions(+), 70 deletions(-) diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs index 4d6eb1a..51f1f50 100644 --- a/HDL_ON/UI/MainPage.cs +++ b/HDL_ON/UI/MainPage.cs @@ -48,6 +48,11 @@ /// 杩滅▼妯″紡 /// </summary> public static bool IsRemote = false; + /// <summary> + /// 缃戠粶杩炴帴鐘舵�� + /// 0:鏃犵綉缁� + /// </summary> + public static int InternetStatus = 2; ///// <summary> ///// 鍏徃浠g爜 @@ -86,42 +91,31 @@ 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(); -#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(true); + } } } catch (Exception ex) @@ -152,57 +146,136 @@ /// <summary> /// 杩涘叆涓婚〉 /// </summary> - public static void GoUserPage() + /// <param name="isFirstOpen">濡傛灉鏄涓�娆″惎鍔� 妫�娴嬫牎楠屽瘑鐮�</param> + public static void GoUserPage(bool isFirstOpen = false) { - 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)); + new System.Threading.Thread(() => + { + try { - MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); - } + if (UserInfo.Current.regionList.Count == 0) + { + bool loadPage = true; + var pm = new DAL.Server.HttpServerRequest(); + while (UserInfo.Current.regionList.Count == 0) + { + pm.GetHomePager();//鍒锋柊浣忓畢淇℃伅 + System.Threading.Thread.Sleep(2000); + if (loadPage) + { + loadPage = false; + Application.RunOnMainThread(() => + { + waitPage.Hide(); + var addResidencePage = new BindingResidencePage(); + BaseView.AddChidren(addResidencePage); + addResidencePage.LoadView(); + }); + } + } + } + else + { + 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); + } + }); + } + catch (Exception ex) { - BasePageView.GetChildren(BasePageView.ChildrenCount - 1).RemoveFromParent(); + MainPage.Log($"GoUserPage : {ex.Message}"); + }finally + { + ///鍒濆鍖朼pp鏁版嵁 + InitializationData(); } - }; - 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 InitializationData() { - 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(() => + { + while (true) + { + if (Entity.DB_ResidenceData.Instance == null )//|| Entity.DB_ResidenceData.residenceData.HomeGateway == null) + { + System.Threading.Thread.Sleep(100); + } + else + { + break; + } + } + //System.Threading.Thread.Sleep(2000); + #region 璇诲彇浜戠鏁版嵁-- + //todo鏁版嵁瑕嗙洊澶勭悊 + //璇诲彇浜戠鎴块棿銆佹ゼ灞傛暟鎹� + Entity.SpatialInfo.CurrentSpatial.DownloadRoomList(); + //璇诲彇浜戠璁惧鏁版嵁 + Entity.FunctionList.List.DownloadFunctionList(); + //璇诲彇浜戠鍦烘櫙鏁版嵁 + Entity.FunctionList.List.DownloadSceneList(); + #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(); + #region 璇诲彇鏈湴鏁版嵁 + //璇诲彇闊充箰淇℃伅 + UI.Music.A31MusicModel.ReadMusicStates(); + //鎼滅储缃戝叧 + DriverLayer.Control.Ins.SearchLoaclGateway(); + #endregion + } /// <summary> /// 鑷畾涔夋棩蹇楄緭鍑� -- Gitblit v1.8.0