From e3687f944bf64f1430bf1345daf5502e5a47326e Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 25 十二月 2020 09:32:16 +0800
Subject: [PATCH] 20201225-2
---
HDL_ON/UI/MainPage.cs | 276 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 211 insertions(+), 65 deletions(-)
diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs
index 1d08e32..ff4f6b3 100644
--- a/HDL_ON/UI/MainPage.cs
+++ b/HDL_ON/UI/MainPage.cs
@@ -9,15 +9,32 @@
{
public static class MainPage
{
+ /// <summary>
+ /// BaseView
+ /// </summary>
public static FrameLayout BaseView { get; internal set; }
+ /// <summary>
+ /// BasePageView
+ /// </summary>
public static PageLayout BasePageView { get; set; }
-
+ /// <summary>
+ /// DisplayCompleted
+ /// </summary>
public static bool DisplayCompleted = false;
- public static UserInfo LoginUser;
+ //public static UserInfo LoginUser;
+ /// <summary>
+ /// 鐗堟湰鍙�
+ /// </summary>
+ public static string VersionString = "1.0.1225";
+ ///// <summary>
+ ///// 瀹㈡埛绔被鍨�
+ ///// </summary>
+ //public static string ClientType = APIClientType.HDL_ON_PRO.ToString();
- public static string VersionString = "1.0.0924";
-
+ /// <summary>
+ ///
+ /// </summary>
public static Entity.CityInfo cityInfo = new Entity.CityInfo();
/// <summary>
/// 澶╂皵鍒锋柊action
@@ -27,17 +44,26 @@
/// 鏃犵櫥褰曟ā寮�
/// </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爜
- /// 棰勭暀绗笁鏂瑰畾鍒舵爣璁�
- /// 0:HDL
- /// </summary>
- public static int Company = 0;
+ ///// <summary>
+ ///// 鍏徃浠g爜
+ ///// 棰勭暀绗笁鏂瑰畾鍒舵爣璁�
+ ///// 0:HDL
+ ///// </summary>
+ //public static int Company = 0;
/// <summary>
/// 鏄惁鍏ㄩ潰灞忔墜鏈�
@@ -66,40 +92,35 @@
Application.DesignWidth = 375;
Application.DesignHeight = 667;
- BusSocket.Start(6000);
- CommonPage.InitReceiveEvent();
-
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 (LoginUser == null || !LoginUser.IsLogin)
+
+ if (string.IsNullOrEmpty(OnAppConfig.Instance.LastLoginUserId))
{
- GoLoginPage(LoginUser);
+ GoLoginPage();
}
else
{
- new System.Threading.Thread(() =>
+ //鍒ゆ柇闇�涓嶉渶瑕佺櫥褰曪紝鏈夋病鏈夌櫥褰曪紝鎴栬�呯櫥褰曟槸鍚﹁繃鏈燂紝
+ if (UserInfo.Current == null || !UserInfo.Current.IsLogin)
{
- var pm =new DAL.Server.HttpServerRequest();
- pm.GetUserInfo();//鍒锋柊涓汉淇℃伅
- })
- { IsBackground = true }.Start();
- new System.Threading.Thread(() =>
+ GoLoginPage(UserInfo.Current);
+ }
+ else
{
- var pm = new DAL.Server.HttpServerRequest();
- pm.GetHomePager();//鍒锋柊浣忓畢淇℃伅
- })
- { IsBackground = true }.Start();
- GoUserPage();
- //鍚姩瀵嗙爜楠岃瘉
- new AppUnlockPage().LoadPage();
- //璇诲彇闊充箰淇℃伅
- UI.Music.A31MusicModel.ReadMusicStates();
-#if DEBUG
- new HDL_ON.DAL.Net.TcpListener().OpenServer(8586);
-#endif
+ //new System.Threading.Thread(() =>
+ //{
+ // var pm = new DAL.Server.HttpServerRequest();
+ // pm.RefreshToken();//鍒锋柊Token
+ // pm.GetHomePager();//鍒锋柊浣忓畢淇℃伅
+ // pm.GetUserInfo();//鍒锋柊涓汉淇℃伅
+ //})
+ //{ IsBackground = true }.Start();
+ Common.ApiUtlis.Ins.DownloadData();
+
+ GoUserPage(false,true);
+ }
}
}
catch (Exception ex)
@@ -117,7 +138,7 @@
/// <summary>
/// 杩涘叆鐧诲綍鐣岄潰
/// </summary>
- public static void GoLoginPage(UserInfo userInfo =null)
+ public static void GoLoginPage(UserInfo userInfo = null)
{
BaseView.RemoveAll();
BaseView.BackgroundColor = CSS_Color.BackgroundColor;
@@ -130,36 +151,134 @@
/// <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)
- {
- MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
- }
+ //鍔犺浇Loading鏁堟灉
+ var waitPage = new Loading();
+ BaseView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
- 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);
+ //褰撴病鏈変綇瀹呮椂,涓嶈兘璁╁畠寰�涓嬭蛋
+ if (UserInfo.Current.regionList.Count == 0)
+ {
+ waitPage.Hide();
+ var addResidencePage = new BindingResidencePage();
+ BaseView.AddChidren(addResidencePage);
+ addResidencePage.LoadView();
+ return;
+ }
- //璺宠浆椤甸潰----
- var userPage = new UserPage();
- BasePageView.AddChidren(userPage);
- userPage.LoadPage();
- BasePageView.PageIndex = 0;
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ 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)
+ {
+ 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)
+ {
+ MainPage.Log($"GoUserPage : {ex.Message}");
+ }finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (downloadData)
+ {
+ ///鍒濆鍖朼pp鏁版嵁
+ Common.ApiUtlis.Ins.DownloadData();
+ };
+ });
+ }
+ }).Start();
+ }
+
+ /// <summary>
+ /// 鍒濆鍖朼pp鎵�闇�瑕佺殑鏁版嵁
+ /// </summary>
+ public static void InitializationData1()
+ {
+ //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
+
+ //})
+ //{ IsBackground = true }.Start();
+
}
/// <summary>
@@ -171,5 +290,32 @@
Console.WriteLine(msg);
#endif
}
+
+ /// <summary>
+ /// 鐢熸垚13浣嶆椂闂存埑
+ /// </summary>
+ /// <param name="value">鏃堕棿</param>
+ /// <returns></returns>
+ public static long GetTimestamp13bit(DateTime value)
+ {
+ return new DateTimeOffset(value).ToUnixTimeSeconds();
+ }
+
+ /// <summary>
+ /// 鑾峰彇鏃堕棿
+ /// </summary>
+ /// <param name="timestamp"></param>
+ /// <returns></returns>
+ public static DateTime GetDateTime (long timestamp)
+ {
+ long begtime = timestamp * 10000000;
+ DateTime dt_1970 = new DateTime(1970, 1, 1, 0, 0, 0);
+ long tricks_1970 = dt_1970.Ticks;//1970骞�1鏈�1鏃ュ埢搴�
+ long time_tricks = tricks_1970 + begtime;//鏃ュ織鏃ユ湡鍒诲害
+ DateTime dt = new DateTime(time_tricks);//杞寲涓篋ateTime
+ return dt;
+ }
+
}
+
}
--
Gitblit v1.8.0