From 09dfbfd9b77ec887c17b10f15799a1d3f56e4e17 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 15 十二月 2020 12:04:42 +0800
Subject: [PATCH] 2020-12-15-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