From f982455916297ab07379d902a7f15b7a7a867c94 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 20 十月 2021 09:19:20 +0800
Subject: [PATCH] 1
---
HDL_ON/UI/MainPage.cs | 409 ++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 313 insertions(+), 96 deletions(-)
diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs
index 4d6eb1a..7d6b90b 100644
--- a/HDL_ON/UI/MainPage.cs
+++ b/HDL_ON/UI/MainPage.cs
@@ -1,6 +1,7 @@
锘縰sing System;
using System.Collections.Generic;
using HDL_ON.DAL;
+using HDL_ON.Entity;
using HDL_ON.UI;
using HDL_ON.UI.CSS;
using Shared;
@@ -18,15 +19,13 @@
/// </summary>
public static PageLayout BasePageView { get; set; }
/// <summary>
- /// DisplayCompleted
+ /// 鐢ㄦ埛鎺у埗鐖跺鍣�
/// </summary>
- public static bool DisplayCompleted = false;
-
- //public static UserInfo LoginUser;
+ public static UserPage UserBasePage;
/// <summary>
/// 鐗堟湰鍙�
/// </summary>
- public static string VersionString = "1.0.0924";
+ public static string VersionString = "1.2.1019";
///// <summary>
///// 瀹㈡埛绔被鍨�
///// </summary>
@@ -41,13 +40,30 @@
/// </summary>
public static Action RefreshAir;
/// <summary>
+ /// 鍥為��椤甸潰action 娌℃湁闇�瑕佸彲浠ヤ笉鐢�
+ /// </summary>
+ public static Action ReturnRefreshAction;
+ /// <summary>
/// 鏃犵櫥褰曟ā寮�
/// </summary>
public static bool NoLoginMode = false;
/// <summary>
- /// 杩滅▼妯″紡
+ /// 缃戠粶杩炴帴鐘舵��
+ /// 0:鏃犵綉缁�
/// </summary>
- public static bool IsRemote = false;
+ public static int InternetStatus = 2;
+ /// <summary>
+ /// 鏄惁杩涘叆鍚庡彴
+ /// </summary>
+ public static bool IsEnterBackground = false;
+ /// <summary>
+ /// 褰撳墠鍒嗛〉绱㈠紩
+ /// 0:鏀惰棌
+ /// 1:鍒嗙被
+ /// 2:鏅鸿兘
+ /// 3:涓汉
+ /// </summary>
+ public static int CurPageIndex = 9999;
///// <summary>
///// 鍏徃浠g爜
@@ -56,6 +72,14 @@
///// </summary>
//public static int Company = 0;
+ /// <summary>
+ /// 鍙虫粦鍚庨��鎻愮ず鎸夐挳
+ /// </summary>
+ public static Button BtnBackIcon;
+ /// <summary>
+ /// 鍚庨��鍙虫粦浜嗗灏戣窛绂伙紝瓒呰繃涓�瀹氳窛绂绘墠瑙﹀彂鍚庨��浜嬩欢
+ /// </summary>
+ public static int StartX = 0;
/// <summary>
/// 鏄惁鍏ㄩ潰灞忔墜鏈�
/// </summary>
@@ -75,6 +99,42 @@
}
}
+ /// <summary>
+ /// 鍦烘櫙鏀寔鐨勫姛鑳藉垪琛�
+ /// </summary>
+ public static List<string> SceneSupportFunctionList = new List<string> {
+ SPK.LightCCT,SPK.LightDimming,SPK.LightSwitch,SPK.LightRGB,
+ SPK.CurtainRoller,SPK.CurtainSwitch,SPK.CurtainTrietex,
+ SPK.AcIr,SPK.AcStandard,SPK.HvacAC,
+ SPK.FloorHeatStandard,SPK.HvacFloorHeat,
+ SPK.AirFreshStandard,SPK.HvacAirFresh,
+ SPK.AirSwitch,
+ };
+
+
+ static List<string> _RoomNotSupportFunctionList = null;
+ /// <summary>
+ /// 鎴块棿鍔熻兘鍒楄〃涓嶅姞杞界殑鍔熻兘鍒楄〃
+ /// </summary>
+ public static List<string> RoomNotSupportFunctionList
+ {
+ get {
+ if(_RoomNotSupportFunctionList == null)
+ {
+ _RoomNotSupportFunctionList = new List<string>();
+ _RoomNotSupportFunctionList.Add(SPK.EnergyStandard);
+ _RoomNotSupportFunctionList.Add(SPK.MusicStandard);
+ _RoomNotSupportFunctionList.Add(SPK.AvMusic);
+ _RoomNotSupportFunctionList.Add(SPK.AirSwitch);
+ _RoomNotSupportFunctionList.Add(SPK.ElectricEnergy);
+ _RoomNotSupportFunctionList.AddRange(SPK.EnvironDeviceSpkList());
+ _RoomNotSupportFunctionList.AddRange(SPK.ArmSensorSpkList());
+ }
+ return _RoomNotSupportFunctionList;
+ }
+ }
+
+
public static void Show()
{
@@ -86,42 +146,38 @@
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)
+
+ //#region 娴嬭瘯
+ //var ddd = new UI.test.TestDialog();
+ //ddd.InitView();
+ //return;
+ //#endregion
+
+ 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();
- //鎼滅储缃戝叧
-
-#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();
+ //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)
@@ -152,55 +208,240 @@
/// <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();
+ #region 鍚庨��浜嬩欢
BasePageView = new PageLayout();
BasePageView.ScrollEnabled = false;
BasePageView.IsShowPoint = false;
- BasePageView.PageChange = (sender, e) => {
+ 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;
+ try
+ {
+ ReturnRefreshAction?.Invoke();
+ ReturnRefreshAction = null;
+ }
+ catch (Exception ex)
+ {
+ Log($"鍚庨��浜嬩欢寮傚父:{ex.Message}");
+ }
};
BaseView.AddChidren(BasePageView);
+ var backView = new FrameLayout()
+ {
+ Y = Application.GetRealHeight(100),
+ Width = Application.GetRealWidth(10),
+ Height = Application.GetRealHeight(440),
+ };
+ BaseView.AddChidren(backView);
- //璺宠浆椤甸潰----
- var userPage = new UserPage();
- BasePageView.AddChidren(userPage);
- userPage.LoadPage();
- BasePageView.PageIndex = 0;
+ BtnBackIcon = new Button()
+ {
+ X = -Application.GetRealWidth(100),
+ Gravity = Gravity.CenterVertical,
+ Width = Application.GetRealWidth(88 / 2),
+ Height = Application.GetRealHeight(56 / 2),
+ UnSelectedImagePath = "Public/RightSlideBackIcon.png"
+ };
+ BaseView.AddChidren(BtnBackIcon);
+ backView.MouseMoveEventHandler = (sender, e) =>
+ {
+ if (BasePageView.ChildrenCount <= 1)
+ {
+ return;
+ }
+ MainPage.Log($"move:{e.X}");
+ if (StartX == 0 && e.X < 30)
+ {
+ StartX = (int)e.X;
+ }
+ if (StartX < 30)
+ {
+ if (e.X < Application.GetRealWidth(100))
+ {
+ BtnBackIcon.X = (int)e.X - Application.GetRealWidth(100);
+ }
+ }
+ };
+ backView.MouseDownEventHandler = (sender, e) =>
+ {
+ if (BasePageView.ChildrenCount <= 1)
+ {
+ return;
+ }
+ MainPage.Log($"down:{e.X}");
+ StartX = (int)e.X;
+ BtnBackIcon.Y = (int)e.Y + Application.GetRealHeight(50);
+ };
+ backView.MouseUpEventHandler = (sender, e) => {
+ MainPage.Log($"up{e.X}");
+ StartX = 0;
+ BtnBackIcon.X = -Application.GetRealWidth(100);
+
+ if (e.X > 70)
+ {
+ if (BasePageView.ChildrenCount > 1)
+ {
+ BasePageView.PageIndex = BasePageView.ChildrenCount - 2;
+ }
+ }
+ };
+ backView.MouseUpOutsideEventHandler = (sender, e) => {
+ MainPage.Log($"up{e.X}");
+ StartX = 0;
+ BtnBackIcon.X = -Application.GetRealWidth(100);
+
+ if (e.X > 70)
+ {
+ if (BasePageView.ChildrenCount > 1)
+ {
+ BasePageView.PageIndex = BasePageView.ChildrenCount - 2;
+ }
+ }
+ };
+ #endregion
+
+
+ //浣撻獙妯″紡
+ if (NoLoginMode)
+ {
+ //璺宠浆椤甸潰----
+ UserBasePage = new UserPage();
+ BasePageView.AddChidren(UserBasePage);
+ UserBasePage.LoadPage();
+ BasePageView.PageIndex = 0;
+
+ return;
+ }
+
+ //鍔犺浇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(async () =>
+ {
+ try
+ {
+ Entity.FunctionList.List.Clear();
+ Entity.SpatialInfo.CurrentSpatial.Clear();
+ ///绛夊緟鑾峰彇浣忓畢淇℃伅
+ Application.RunOnMainThread( () =>
+ {
+ if (waitPage != null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
+
+ //璺宠浆椤甸潰----
+ UserBasePage = new UserPage();
+ BasePageView.AddChidren(UserBasePage);
+ UserBasePage.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)
+ {
+ DB_ResidenceData.Instance.EixtAccount();
+ ///鍒濆鍖朼pp鏁版嵁
+ Common.ApiUtlis.Ins.DownloadData();
+ };
+ });
+ }
+ }).Start();
}
- public static void GetRoomList()
+ /// <summary>
+ /// 鍚庨��浜嬩欢
+ /// 0:鍚庨��
+ /// 1:鏈夌瓑寰呯晫闈�
+ /// 2:鏃犳硶鍐嶅悗閫�锛屽彲浠ユ墽琛岄��鍒版闈�
+ /// </summary>
+ public static int LoadEvent_BackAction()
{
- 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());
- }
-
- 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());
+ int result = 0;
+ Application.RunOnMainThread(() =>
+ {
+ if (BasePageView == null || BasePageView.ChildrenCount<=1 )
+ {
+ result = 2;//鏃犳硶鍐嶅悗閫�锛屽彲浠ユ墽琛岄��鍒版闈�
+ }
+ if (BasePageView.ChildrenCount > 1)
+ {
+ int index = BasePageView.ChildrenCount - 1;
+ var view = BasePageView.GetChildren(index);
+ if (view.GetType() == typeof(Loading))
+ {
+ var loading = view as Loading;
+ if (loading.CurStatus == false)//鏈変竴浜涚瓑寰呯晫闈㈤殣钘忎簡锛屼絾鏄病鏈夌Щ闄ゅ埌锛岄渶瑕佸厛绉婚櫎
+ {
+ loading.RemoveFromParent();
+ result = LoadEvent_BackAction();
+ }
+ else
+ {
+ result = 1;//姝e湪绛夊緟鏌愪簺鎿嶄綔
+ }
+ }
+ else
+ {
+ if (view != null)
+ {
+ if(view.Tag!=null )
+ {
+ if (view.Tag.ToString() != "unlockpage")
+ {
+ view.RemoveFromParent();
+ }else
+ {
+ result = 2;
+ }
+ }else
+ {
+ view.RemoveFromParent();
+ }
+ }
+ }
+ }
+ else
+ {
+ result = 2;//鏃犳硶鍐嶅悗閫�锛屽彲浠ユ墽琛岄��鍒版闈�
+ }
+ });
+ return result;
}
@@ -214,30 +455,6 @@
#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