From acc8caee31c4be90bd38d1af18136b0e84f6fe94 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期五, 27 九月 2024 14:01:19 +0800 Subject: [PATCH] Merge branch 'feature/v2.7_迭代' into feature/V2.7_Google --- HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 953 +++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 720 insertions(+), 233 deletions(-) diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs index 4f2d2b4..7bded39 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs @@ -1,19 +1,14 @@ 锘縰sing System; using System.Collections.Generic; -using System.Text; -using HDL_ON.DAL; -using HDL_ON.DAL.Server; -using HDL_ON.DriverLayer; +using HDL_ON.Common; using HDL_ON.Entity; using HDL_ON.UI.CSS; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; using Shared; namespace HDL_ON.UI { #if __IOS__ - public partial class HomePage : VerticalRefreshLayout + public partial class HomePage : VerticalRefreshLayout #else public partial class HomePage : VerticalScrolViewLayout #endif @@ -30,7 +25,11 @@ /// <summary> /// 杩炴帴鐘舵�佹彁绀� /// </summary> - Button btnLinkStateTip; + FrameLayout linkStateMsgView; + /// <summary> + /// 鐧诲綍鐘舵�佹彁绀哄尯鍩� + /// </summary> + FrameLayout tokenInvalidMsgView; /// <summary> /// 瀹夐槻鐘舵�佸浘鏍� /// </summary> @@ -70,15 +69,20 @@ /// <summary> /// 鍒囨崲鏄剧ず鍔熻兘绫诲瀷鍖哄煙 /// </summary> - FrameLayout changeView; - /// <summary> - /// 鍒囨崲鏄剧ず璁惧鍔熻兘鎸夐挳 - /// </summary> - Button btnChangeFunction; - /// <summary> - /// 鍒囨崲鏄剧ず鍦烘櫙鍔熻兘鎸夐挳 - /// </summary> - Button btnChangeScene; + FrameLayout changeBaseView; + //FrameLayout changeView; + ///// <summary> + ///// 鍒囨崲鏄剧ず璁惧鍔熻兘鎸夐挳 + ///// </summary> + //Button btnChangeFunction; + ///// <summary> + ///// 鍒囨崲鏄剧ず鍦烘櫙鍔熻兘鎸夐挳 + ///// </summary> + //Button btnChangeScene; + ///// <summary> + ///// 鍒囨崲鏄剧ず鍦虹粍鎺ф寜閽� + ///// </summary> + //Button btnChangeGroupControl; /// <summary> /// 鍔熻兘鏄剧ず鍖哄煙 /// </summary> @@ -92,24 +96,31 @@ /// </summary> VerticalScrolViewLayout sceneFunctionView; /// <summary> + /// 缁勬帶鎺у埗鍖哄煙 + /// </summary> + VerticalScrolViewLayout gcFunctionView; + /// <summary> /// 鍔熻兘鍖哄煙闆嗗悎 /// </summary> List<FrameLayout> functionViews; -#endregion + #endregion -#region 鍖哄煙鍙橀噺 + #region 鍖哄煙鍙橀噺 /// <summary> /// 褰撳墠鏄剧ず瀵规帶鍒剁被鍨嬫槸鍚︽槸璁惧鍔熻兘鎺у埗 + /// 0 鍔熻兘 + /// 1 鍦烘櫙 + /// 2 缇ゆ帶 /// </summary> - bool CurShowTypeIsFunction = true; -#endregion + int CurShowTypeContent = 0; + #endregion -#region 鎶ヨ淇℃伅 - Button btnMsgBg; - Button btnMsgTime; - Button btnMsg; + #region 鎶ヨ淇℃伅 + //Button btnMsgBg; + //Button btnMsgTime; + //Button btnMsg; Button btnMsgIcon; -#endregion + #endregion public HomePage() { @@ -117,6 +128,11 @@ bodyView.BackgroundColor = CSS_Color.BackgroundColor; this.VerticalScrollBarEnabled = false; + +#if DEBUG + DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl = true; +#endif + #if __IOS__ //鑷姩鍋忕Щ鍙栨秷 if (UIKit.UIDevice.CurrentDevice.CheckSystemVersion(11, 0)) @@ -144,21 +160,18 @@ bodyView.EndHeaderRefreshing(); Common.ApiUtlis.Ins.DownloadData(); LoadContentView(); - if (!CurShowTypeIsFunction) - { - contentView.PageIndex = 1; - } + contentView.PageIndex = CurShowTypeContent; }; topView = new FrameLayout() { - Height = Application.GetRealHeight(216), + Height = Application.GetRealHeight(113) + Application.GetRealWidth(24),//216), BackgroundImagePath = DB_ResidenceData.Instance.residenceImage, }; bodyView.AddChidren(topView); #else VerticalRefreshLayout refreshLayout = new VerticalRefreshLayout() { - Height = Application.GetRealHeight(216), + Height = Application.GetRealHeight(113) + Application.GetRealWidth(24),//216), BackgroundImagePath = DB_ResidenceData.Instance.residenceImage, }; bodyView.AddChidren(refreshLayout); @@ -167,27 +180,25 @@ refreshLayout.EndHeaderRefreshing(); Common.ApiUtlis.Ins.DownloadData(); LoadContentView(); - if(!CurShowTypeIsFunction) - { - contentView.PageIndex = 1; - } + contentView.PageIndex = CurShowTypeContent; }; topView = new FrameLayout() { - Height = Application.GetRealHeight(216), + Height = Application.GetRealHeight(113) + Application.GetRealWidth(24),//216), }; refreshLayout.AddChidren(topView); #endif - #region topView - - - - Button btnTop; - btnTop = new Button() + topView.AddChidren(new Button() { BackgroundColor = CSS_Color.DialogTransparentColor2, - }; - topView.AddChidren(btnTop); + }); + + topView.AddChidren( + new Button() {Y = Application.GetRealHeight(113), + BackgroundColor = CSS_Color.BackgroundColor, + Height = Application.GetRealWidth(24) }); + + #region topView btnResidenceName = new Button() { @@ -202,68 +213,42 @@ IsBold = true }; topView.AddChidren(btnResidenceName); - btnLinkStateTip = new Button() + //鐧诲綍鍑瘉鏄惁鏈夋晥 + CheckTokenValid(); + + #region 缃戝叧杩炴帴鐘舵�� + linkStateMsgView = new FrameLayout() { - //X = Application.GetRealWidth(16), - Y = btnResidenceName.Bottom, - Height = Application.GetRealWidth(14), - //BackgroundColor = CSS_Color.LinkTipFail, - TextAlignment = TextAlignment.Center, + Y = ApiUtlis.Ins.IsValidToken ? Application.GetRealHeight(113) : Application.GetRealHeight(113) - Application.GetRealWidth(24), + Height = Application.GetRealWidth(24), + BackgroundColor = 0xFFFF4747, + Visible = false, + }; + topView.AddChidren(linkStateMsgView); + + Button btnLinkStateIcon = new Button() + { + X = Application.GetRealWidth(16), + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(20), + Height = Application.GetRealWidth(20), + UnSelectedImagePath = "Collection/GatewayOnlineTipIcon.png" + }; + linkStateMsgView.AddChidren(btnLinkStateIcon); + + var btnLinkStateTip = new Button() + { + X = btnLinkStateIcon.Right + Application.GetRealWidth(4), + TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextColor = CSS_Color.MainBackgroundColor, + TextID = StringId.NetworkAnomaly, }; - topView.AddChidren(btnLinkStateTip); - //btnLinkStateTip.Width = btnLinkStateTip.GetTextWidth(); + linkStateMsgView.AddChidren(btnLinkStateTip); + //鏇存柊閾炬帴鐘舵�乮con棰滆壊 - - -#if DEBUG - int ddd = 0; - btnResidenceName.MouseUpEventHandler = (sender, e) => - { - //827a98c98da7469b8bc19bb6a3c7651906 - //St_00009073b431d8b2490c9df0c5cb0e73 - //Com.Hdl.HdlToLc.InitData(Shared.Application.Activity,false, "827a98c98da7469b8bc19bb6a3c7651906"); - //Com.Hdl.HdlToLc.OpenActivity(); - //new System.Threading.Thread(() => - //{ - // var http = new HttpServerRequest(); - // var pack = http.GetLcSubAccountToken(); - // if (pack.Code == StateCode.SUCCESS) - // { - // if(pack.Data == null || string.IsNullOrEmpty(pack.Data.ToString())) - // { - // Application.RunOnMainThread(() => - // { - // new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.huoqushujushibao)); - // }); - // } - // Com.Utils.HdlToLcUtils.Instance.HomeId = DB_ResidenceData.Instance.CurrentRegion.id; - // Com.Utils.HdlToLcUtils.Instance.Token = UserInfo.Current.AccessToken; - // Com.Utils.HdlToLcUtils.Instance.SubAccessToken = pack.Data.ToString(); - // Application.RunOnMainThread(() => - // { - // //Com.Utils.HdlToLcUtils.Instance.OpenActivity(); - // //Com.Utils.HdlToLcUtils.Instance.Play() - // var backTemp = new AddLcCam(); - // backTemp.backAction = () => - // { - // //Load3tyBrandDeviceList(); - // }; - // Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp); - // }); - // } - // else - // { - // Application.RunOnMainThread(() => - // { - // new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.huoqushujushibao) + $"({pack.Code})"); - // }); - // } - //}) - //{ IsBackground = true }.Start(); - }; -#endif + CheckLinkStatus();//2020-12-22 + #endregion environmentalView = new FrameLayout() { @@ -271,9 +256,8 @@ Height = Application.GetRealHeight(32), }; topView.AddChidren(environmentalView); - CheckLinkStatus();//2020-12-22 -#region 鐜鏁版嵁 + #region 鐜鏁版嵁 var tempSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorTemperature); var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity); var enviList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => SPK.EvironmentSensorList().Contains(obj.spk)); @@ -305,7 +289,8 @@ } } - var btnEnvirValuesTitle = new Button() { + var btnEnvirValuesTitle = new Button() + { X = Application.GetRealWidth(12), Gravity = Gravity.CenterVertical, TextColor = CSS_Color.MainBackgroundColor, @@ -371,7 +356,7 @@ } if (tempTotalValues > 0) { - btnIndoorTempValues.Text = "/" + (tempTotalValues/ tempTotalCount).ToString("0.0") + "掳"; + btnIndoorTempValues.Text = "/" + (tempTotalValues / tempTotalCount).ToString("0.0") + "掳"; } } btnIndoorTempValues.Width = btnIndoorTempValues.GetTextWidth(); @@ -455,7 +440,8 @@ }; btnPm25Values.Width = btnPm25Values.GetTextWidth(); environmentalView.AddChidren(btnPm25Values); -#endregion + #endregion + btnSecurityStatus = new Button() { @@ -466,9 +452,9 @@ SelectedImagePath = "Collection/DefenseStatusIcon.png", UnSelectedImagePath = "Collection/DisarmStatusIcon.png" }; - if (DB_ResidenceData.Instance.GatewayType == 1) + if (DB_ResidenceData.Instance.GatewayType == 1 && !DB_ResidenceData.Instance.CurrentRegion.isOtherShare) { - + topView.AddChidren(btnSecurityStatus); foreach (var temp in FunctionList.List.securities) { @@ -487,7 +473,8 @@ } } - btnSecurityStatus.MouseUpEventHandler = (sender, e) => { + btnSecurityStatus.MouseUpEventHandler = (sender, e) => + { var page = new ArmCenterPage(); MainPage.BasePageView.AddChidren(page); page.LoadPage(); @@ -496,83 +483,165 @@ } -#region msg - FrameLayout msgView; - msgView = new FrameLayout() - { - Y = Application.GetRealHeight(164), - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(343), - Height = Application.GetRealHeight(28), - }; - topView.AddChidren(msgView); + #region msg + //FrameLayout msgView; + //msgView = new FrameLayout() + //{ + // Y = Application.GetRealHeight(164), + // Gravity = Gravity.CenterHorizontal, + // Width = Application.GetRealWidth(343), + // Height = Application.GetRealHeight(28), + //}; + //topView.AddChidren(msgView); - btnMsgBg = new Button() - { - BackgroundColor = CSS_Color.MainColor,//0x3F4484F4, - Alpha = 0.4f, - }; - msgView.AddChidren(btnMsgBg); + //btnMsgBg = new Button() + //{ + // BackgroundColor = CSS_Color.MainColor,//0x3F4484F4, + // Alpha = 0.4f, + //}; + //msgView.AddChidren(btnMsgBg); btnMsgIcon = new Button() { - X = Application.GetRealWidth(12), - Gravity = Gravity.CenterVertical, + X = Application.GetRealWidth(290), + Y = Application.GetRealHeight(35), Width = Application.GetMinRealAverage(24), Height = Application.GetMinRealAverage(24), UnSelectedImagePath = "Collection/MsgIcon.png", SelectedImagePath = "Collection/MsgIconTip.png", }; - msgView.AddChidren(btnMsgIcon); - - - btnMsg = new Button() + if (btnSecurityStatus.Parent == null) { - X = Application.GetRealWidth(10) + btnMsgIcon.Right, - Width = Application.GetRealWidth(240), - Text = "...", - TextColor = CSS_Color.MainBackgroundColor, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - TextAlignment = TextAlignment.CenterLeft, - }; - msgView.AddChidren(btnMsg); + btnMsgIcon.X = Application.GetRealWidth(329); + } + topView.AddChidren(btnMsgIcon); - btnMsgTime = new Button() - { - X = Application.GetRealWidth(299), - Width = Application.GetRealWidth(44), - Text = "00:00", - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - TextAlignment = TextAlignment.CenterLeft, - }; - msgView.AddChidren(btnMsgTime); + //btnMsg = new Button() + //{ + // X = Application.GetRealWidth(10) + btnMsgIcon.Right, + // Width = Application.GetRealWidth(240), + // Text = "...", + // TextColor = CSS_Color.MainBackgroundColor, + // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + // TextAlignment = TextAlignment.CenterLeft, + //}; + //msgView.AddChidren(btnMsg); + + + //btnMsgTime = new Button() + //{ + // X = Application.GetRealWidth(299), + // Width = Application.GetRealWidth(44), + // Text = "00:00", + // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + // TextAlignment = TextAlignment.CenterLeft, + //}; + //msgView.AddChidren(btnMsgTime); LoadEvent_GotoMessageCenterPage(); -#endregion + #endregion -#endregion + #endregion -#region 鍔熻兘鍦烘櫙鍒囨崲 + #region 鍔熻兘鍦烘櫙鍒囨崲 - bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(20), BackgroundColor = 0x00000000 }); + //bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(20), BackgroundColor = 0xFFFF0000 }); - changeView = new FrameLayout() + loadNavView(); + + #endregion + + #region ContextView + + + functionViews = new List<FrameLayout>(); + + LoadContentView(); + + #endregion + +#if DEBUG + btnResidenceName.MouseUpEventHandler = (envent, ee) => + { +#if __ANDROID__ + Com.Hdl.Hdllinphonesdk.HDLLinphoneKit.Instance.PlayRingtone(); +#elif __IOS__ + + //if (isPlay) + //{ + // isPlay = false; + // soundPlayer.StopSound(); + //} + //else + //{ + // isPlay = true; + // soundPlayer.PlaySound(); + //} + +#endif + //PlaySystemRingtone playSystemRingtone = new PlaySystemRingtone(); + //playSystemRingtone.Play(); + //new System.Threading.Thread(async() => + //{ + // await Common.AliyunLog.AliyunLogClient.PostLogs("鍛婅娴嬭瘯", "娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅娴嬭瘯淇℃伅"); + //}) + //{ IsBackground = true }.Start(); + }; +#endif + } + catch (Exception ex) + { + MainPage.Log($"HomePage LoadPage Error : {ex.Message}"); + } + + + } + + void loadNavView() + { + if (changeBaseView == null) + { + changeBaseView = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Height = Application.GetRealHeight(62), + }; + bodyView.AddChidren(changeBaseView); + } + else + { + changeBaseView.RemoveAll(); + } + + if (contentView == null) + { + contentView = new PageLayout() + { + Height = Application.GetRealHeight(310 + 30 + 10 + 100), //20涓鸿秴鍑洪儴鍒� + IsShowPoint = false, + }; + bodyView.AddChidren(contentView); + } + + if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl && FunctionList.List.groupControls.Count > 0) + { + var changeView = new FrameLayout() { //Y = Application.GetRealHeight(20) + topView.Bottom, Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(230), + Width = Application.GetRealWidth(334), Height = Application.GetRealHeight(62), BackgroundImagePath = "Collection/ChangeViewbg.png", }; - bodyView.AddChidren(changeView); + changeBaseView.AddChidren(changeView); - btnChangeFunction = new Button() + var btnChangeFunction = new Button() { X = Application.GetRealWidth(10), - Width = Application.GetRealWidth(114-10), + Width = Application.GetRealWidth(114 - 10), TextID = StringId.Functions, SelectedTextColor = CSS_Color.MainColor, TextColor = CSS_Color.PromptingColor1, @@ -593,10 +662,10 @@ }; changeView.AddChidren(btnLine); - btnChangeScene = new Button() + var btnChangeScene = new Button() { X = btnLine.Right, - Width = Application.GetRealWidth(114-10), + Width = Application.GetRealWidth(114 - 10), TextID = StringId.Scenes, SelectedTextColor = CSS_Color.MainColor, TextColor = CSS_Color.PromptingColor1, @@ -604,35 +673,230 @@ TextAlignment = TextAlignment.Center, }; changeView.AddChidren(btnChangeScene); -#endregion -#region ContextView - contentView = new PageLayout() + Button btnLine2 = new Button() { - //Y = changeView.Bottom, - Height = Application.GetRealHeight(310 + 30 + 10), //20涓鸿秴鍑洪儴鍒� - IsShowPoint = false, + X = btnChangeScene.Right, + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(1), + Height = Application.GetRealHeight(14), + BackgroundColor = CSS_Color.PromptingColor1, }; - bodyView.AddChidren(contentView); + changeView.AddChidren(btnLine2); - functionViews = new List<FrameLayout>(); + var btnChangeGroupControl = new Button() + { + X = btnLine2.Right, + Width = Application.GetRealWidth(114 - 10), + TextID = StringId.GroupControl, + SelectedTextColor = CSS_Color.MainColor, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.TextFontSize, + TextAlignment = TextAlignment.Center, + }; + changeView.AddChidren(btnChangeGroupControl); - LoadContentView(); -#endregion + + btnChangeGroupControl.MouseUpEventHandler = (sender, e) => + { + btnChangeFunction.IsSelected = false; + btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeFunction.IsBold = false; + btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeScene.IsSelected = false; + btnChangeScene.IsBold = false; + btnChangeGroupControl.IsSelected = true; + btnChangeGroupControl.TextSize = CSS.CSS_FontSize.HeadlineFontSize; + btnChangeGroupControl.IsBold = true; + CurShowTypeContent = 2; + contentView.PageIndex = 2; + }; + + btnChangeFunction.MouseUpEventHandler = (sender, e) => + { + btnChangeFunction.IsSelected = true; + btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; + btnChangeFunction.IsBold = true; + btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeScene.IsSelected = false; + btnChangeScene.IsBold = false; + CurShowTypeContent = 0; + contentView.PageIndex = 0; + + btnChangeGroupControl.IsSelected = false; + btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeGroupControl.IsBold = false; + }; + btnChangeScene.MouseUpEventHandler = (sender, e) => + { + btnChangeScene.IsSelected = true; + btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; + btnChangeScene.IsBold = true; + btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeFunction.IsSelected = false; + btnChangeFunction.IsBold = false; + CurShowTypeContent = 1; + contentView.PageIndex = 1; + + btnChangeGroupControl.IsSelected = false; + btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeGroupControl.IsBold = false; + }; + + contentView.PageChange = (sender, e) => + { + if (contentView.PageIndex == 0) + { + btnChangeFunction.IsSelected = true; + btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; + btnChangeFunction.IsBold = true; + btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeScene.IsSelected = false; + btnChangeScene.IsBold = false; + btnChangeGroupControl.IsSelected = false; + btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeGroupControl.IsBold = false; + } + else if (contentView.PageIndex == 1) + { + btnChangeScene.IsSelected = true; + btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; + btnChangeScene.IsBold = true; + btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeFunction.IsSelected = false; + btnChangeFunction.IsBold = false; + btnChangeGroupControl.IsSelected = false; + btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeGroupControl.IsBold = false; + } + else if (contentView.PageIndex == 2) + { + btnChangeFunction.IsSelected = false; + btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeFunction.IsBold = false; + btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeScene.IsSelected = false; + btnChangeScene.IsBold = false; + btnChangeGroupControl.IsSelected = true; + btnChangeGroupControl.TextSize = CSS.CSS_FontSize.HeadlineFontSize; + btnChangeGroupControl.IsBold = true; + } + }; + + } - catch (Exception ex) + else { - MainPage.Log($"HomePage LoadPage Error : {ex.Message}"); + var changeView = new FrameLayout() + { + //Y = Application.GetRealHeight(20) + topView.Bottom, + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(230), + Height = Application.GetRealHeight(62), + BackgroundImagePath = "Collection/ChangeViewbg.png", + }; + changeBaseView.AddChidren(changeView); + + var btnChangeFunction = new Button() + { + X = Application.GetRealWidth(10), + Width = Application.GetRealWidth(114 - 10), + TextID = StringId.Functions, + SelectedTextColor = CSS_Color.MainColor, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.HeadlineFontSize, + TextAlignment = TextAlignment.Center, + IsSelected = true, + IsBold = true, + }; + changeView.AddChidren(btnChangeFunction); + + Button btnLine = new Button() + { + X = btnChangeFunction.Right, + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(1), + Height = Application.GetRealHeight(14), + BackgroundColor = CSS_Color.PromptingColor1, + }; + changeView.AddChidren(btnLine); + + var btnChangeScene = new Button() + { + X = btnLine.Right, + Width = Application.GetRealWidth(114 - 10), + TextID = StringId.Scenes, + SelectedTextColor = CSS_Color.MainColor, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.TextFontSize, + TextAlignment = TextAlignment.Center, + }; + changeView.AddChidren(btnChangeScene); + + + btnChangeFunction.MouseUpEventHandler = (sender, e) => + { + + btnChangeFunction.IsSelected = true; + btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; + btnChangeFunction.IsBold = true; + btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeScene.IsSelected = false; + btnChangeScene.IsBold = false; + CurShowTypeContent = 0; + contentView.PageIndex = 0; + }; + + btnChangeScene.MouseUpEventHandler = (sender, e) => + { + btnChangeScene.IsSelected = true; + btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; + btnChangeScene.IsBold = true; + btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeFunction.IsSelected = false; + btnChangeFunction.IsBold = false; + CurShowTypeContent = 1; + contentView.PageIndex = 1; + }; + + contentView.PageChange = (sender, e) => + { + if (contentView.PageIndex == 0) + { + btnChangeFunction.IsSelected = true; + btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; + btnChangeFunction.IsBold = true; + btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeScene.IsSelected = false; + btnChangeScene.IsBold = false; + } + else if (contentView.PageIndex == 1) + { + btnChangeScene.IsSelected = true; + btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; + btnChangeScene.IsBold = true; + btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; + btnChangeFunction.IsSelected = false; + btnChangeFunction.IsBold = false; + } + }; + + + } + + contentView.PageIndex = CurShowTypeContent; } + /// <summary> /// 鍔犺浇鍐呭鍖哄煙 /// </summary> void LoadContentView() { + if (!Common.ApiUtlis.Ins.DownloadDataComplete && !MainPage.NoLoginMode) { var waitPage = new Loading(); @@ -651,8 +915,10 @@ { if (contentView == null) { + waitPage.Hide(); return; } + loadNavView(); contentView.RemoveAll(); deviceFunctionView = new VerticalScrolViewLayout(); contentView.AddChidren(deviceFunctionView); @@ -660,12 +926,11 @@ sceneFunctionView = new VerticalScrolViewLayout(); contentView.AddChidren(sceneFunctionView); LoadSceneFunctionControlZone(); - if (CurShowTypeIsFunction) + if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl) { - contentView.PageIndex = 0; - }else - { - contentView.PageIndex = 1; + gcFunctionView = new VerticalScrolViewLayout(); + contentView.AddChidren(gcFunctionView); + LoadGroupControlFunctionControlZone(); } LoadEvent_ChangeShowedFunctionType(); @@ -674,6 +939,7 @@ GetUnreadPushMessages(); RegisterGetPushMessageAction(); + contentView.PageIndex = CurShowTypeContent; if (waitPage != null) { waitPage.RemoveFromParent(); @@ -681,7 +947,8 @@ } }); } - catch (Exception ex) { + catch (Exception ex) + { MainPage.Log($"鍒锋柊涓婚〉寮傚父:{ex.Message}"); } finally { } @@ -697,15 +964,13 @@ sceneFunctionView = new VerticalScrolViewLayout(); contentView.AddChidren(sceneFunctionView); LoadSceneFunctionControlZone(); - - if (CurShowTypeIsFunction) + if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl) { - contentView.PageIndex = 0; + gcFunctionView = new VerticalScrolViewLayout(); + contentView.AddChidren(gcFunctionView); + LoadGroupControlFunctionControlZone(); } - else - { - contentView.PageIndex = 1; - } + contentView.PageIndex = CurShowTypeContent; LoadEvent_ChangeShowedFunctionType(); @@ -723,7 +988,7 @@ /// </summary> void LoadDeviceFunctionControlZone() { -#region ContextView + #region ContextView deviceFunctionView.RemoveAll(); functionViews.Clear(); var rowView = new FrameLayout(); @@ -732,19 +997,19 @@ int index = 0; var list = new List<Function>(); list.AddRange(FunctionList.List.GetDeviceFunctionList()); - list.AddRange(FunctionList.List.groupControls);//鍔犲叆缇ゆ帶 + //list.AddRange(FunctionList.List.groupControls);//鍔犲叆缇ゆ帶 foreach (var function in list) { //闊充箰妯″潡鏈変富浠庡叧绯伙紝闇�瑕佺壒娈婂鐞� - if (SPK.MusicSpkList().Contains( function.spk)) - { + //if (SPK.MusicSpkList().Contains( function.spk)) + //{ + // continue; + //} + //else + //{ + if (!function.collect&& function.spk != SPK.InverterJinmao) continue; - } - else - { - if (!function.collect) - continue; - } + //} if (index % 2 == 0) { rowView = new FrameLayout() @@ -768,8 +1033,8 @@ }; rowView.AddChidren(functionView); functionViews.Add(functionView); - //缁垮缓浜哄眳鐜锛岀鎶�绯荤粺 - if (function.spk == SPK.AcstParent) + //缁垮缓浜哄眳鐜锛岀鎶�绯荤粺,閲戣寕鍏変紡鍌ㄨ兘 + if (function.spk == SPK.AcstParent || function.spk == SPK.InverterJinmao) { LoadAcstDiv(functionView, function); } @@ -825,9 +1090,94 @@ MainPage.Log("homepage error : " + ex.Message); } deviceFunctionView.AddChidren(new Button { Height = Application.GetRealHeight(30) }); -#endregion - + #endregion } + + + /// <summary> + /// 鍔犺浇缇ゆ帶鍔熻兘鏄剧ず鍖哄煙 + /// </summary> + void LoadGroupControlFunctionControlZone() + { + + #region ContextView + gcFunctionView.RemoveAll(); + var rowView = new FrameLayout(); + try + { + int index = 0; + foreach (var function in FunctionList.List.groupControls) + { + if (index % 2 == 0) + { + rowView = new FrameLayout() + { + Height = Application.GetRealWidth(140), + }; + gcFunctionView.AddChidren(rowView); + } + var functionView_X = Application.GetRealWidth((182 + 7) * (index % 2)); + if (index % 2 == 0) + { + functionView_X += Application.GetRealWidth(7); + } + var functionView = new FrameLayout() + { + X = functionView_X, + Width = Application.GetRealWidth(182), + Height = Application.GetRealWidth(140), + Radius = (uint)Application.GetRealWidth(12), + Tag = function.sid + }; + rowView.AddChidren(functionView); + functionViews.Add(functionView); + var btnbg = new Button() + { + UnSelectedImagePath = "Collection/Functionbg.png", + SelectedImagePath = "Collection/FunctionOnbg.png", + Tag = function.sid + }; + functionView.AddChidren(btnbg); + LoadDeviceFunctionDiv(functionView, function); + + index++; + } + + if (index == 0) + { + var view = new FrameLayout(); + gcFunctionView.AddChidren(view); + + var btnNoCollectionBg = new Button() + { + Y = Application.GetRealHeight(20), + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(180), + Height = Application.GetRealWidth(180), + UnSelectedImagePath = "Collection/NoCollectionBg.png", + }; + view.AddChidren(btnNoCollectionBg); + + var btnNoCollectionTip = new Button() + { + Height = Application.GetRealHeight(42), + Y = btnNoCollectionBg.Bottom, + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + //TextID = StringId.TipNoFunctionCollcetion, + }; + view.AddChidren(btnNoCollectionTip); + } + } + catch (Exception ex) + { + MainPage.Log("homepage error : " + ex.Message); + } + gcFunctionView.AddChidren(new Button { Height = Application.GetRealHeight(30) }); + #endregion + } + /// <summary> /// 鍔犺浇鍦烘櫙鍔熻兘鏄剧ず鍖哄煙 /// </summary> @@ -872,7 +1222,7 @@ //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶 ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, functionView); - LoadSceneFunctionDiv( functionView, scene); + LoadSceneFunctionDiv(functionView, scene); index++; } @@ -975,7 +1325,8 @@ }; - if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose) + if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose || + function.spk == SPK.SensorPir || function.spk == SPK.SensorPirHold) { btnIcon.UnSelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png"; btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png"; @@ -989,7 +1340,7 @@ switch (tempStatus.state) {//0绌猴紝1璧帮紝2璺戯紝3鍧愶紝4璺屽�掞紝5绔� case "0": - function.lastState = Language.StringByID(StringId.SensorNormalState); + function.lastState = Language.StringByID(StringId.wuren); break; case "1": function.lastState = Language.StringByID(StringId.SomeoneIn); @@ -1030,8 +1381,49 @@ } btnState.Text = function.lastState; } + else + { + tempStatus = function.attributes.Find((sta) => sta.key == "people_status"); + if (tempStatus != null) + { + switch (tempStatus.state) + { + case "true": + function.lastState = Language.StringByID(StringId.Someone); + break; + case "false": + function.lastState = Language.StringByID(StringId.wuren); + break; + } + btnState.Text = function.lastState; + } + } + } - + + else if (function.spk == SPK.SensorDryContact || function.spk == SPK.SensorDryContact2) + { + btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; + btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; + btnName.TextColor = CSS_Color.MainBackgroundColor; + btnZone.TextColor = CSS_Color.MainBackgroundColor; + btnState.TextColor = CSS_Color.MainBackgroundColor; + var tempStatus = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.ContactStatus); + if (tempStatus != null) + { + switch (tempStatus.state) + { + case "open": + function.lastState = Language.StringByID(StringId.DryBreak); + break; + case "close": + function.lastState = Language.StringByID(StringId.Shut); + break; + } + btnState.Text = function.lastState; + } + } + else { btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; @@ -1053,7 +1445,8 @@ SelectedImagePath = "Collection/CollectionWhiteIcon.png", UnSelectedImagePath = "Collection/CollectionIcon.png", }; - view.AddChidren(btnCollection); + if (function.spk != SPK.GroupControl)//缇ゆ帶榛樿鏄剧ず + view.AddChidren(btnCollection); //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) //{ @@ -1064,7 +1457,8 @@ if (//SPK.CurtainSpkList().Contains(function.spk)) function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades || function.spk == SPK.CurtainDream || - function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex) + function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex + ) { btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png"; btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png"; @@ -1079,6 +1473,7 @@ SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png", }; view.AddChidren(btnCurtainClose); + Button btnCurtainOpen; btnCurtainOpen = new Button() @@ -1115,7 +1510,7 @@ { btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicIcon.png"; btnIcon.SelectedImagePath = "FunctionIcon/Music/MusicOnIcon.png"; - btnCollection.Visible = false; + //btnCollection.Visible = false; Button btnPower; btnPower = new Button() { @@ -1129,7 +1524,7 @@ view.AddChidren(btnPower); btnState.Text = function.GetAttrState("song_name"); - + btnState.Width = Application.GetRealWidth(90); btnState.SelectedTextColor = CSS_Color.MainBackgroundColor; btnState.TextColor = CSS_Color.MainBackgroundColor;//PromptingColor1 @@ -1189,13 +1584,13 @@ } - else if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose) + //else if (function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose) + else if (SPK.ArmSensorSpkList().Contains(function.spk)) { - //btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}.png"; - //btnIcon.SelectedImagePath = "FunctionIcon/Icon/HomeIcon/sensormegahealth.png"; - //btnIcon.IsSelected = true; + btnName.TextColor = CSS_Color.MainBackgroundColor; + btnZone.TextColor = CSS_Color.MainBackgroundColor; btnState.SelectedTextColor = CSS_Color.MainBackgroundColor; - btnState.TextColor = CSS_Color.MainColor;//PromptingColor1 + btnState.TextColor = CSS_Color.MainBackgroundColor; } //绱ф�ユ眰鍔� @@ -1211,15 +1606,74 @@ btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; } - else if (function.spk == SPK.VideoDoorLock) - { - btnIcon.UnSelectedImagePath = UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.GetVideoDoorLockIcon(UI2.FuntionControlView.VideoDoorLock.CommonMethod.Comerom.collect); - //btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; - } else if (function.spk == SPK.GroupControl) { - btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_blue.png"; - btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_white.png"; + btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; + btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; + if (function.spk == SPK.GroupControl) + { + Button btnClose; + Button btnOpen; + btnOpen = new Button() + { + X = Application.GetRealWidth(84), + Y = Application.GetRealWidth(89), + Width = Application.GetRealWidth(40), + Height = Application.GetRealWidth(40), + UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_on_home.png", + SelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_on_home_click.png", + }; + view.AddChidren(btnOpen); + + + btnClose = new Button() + { + X = btnOpen.Right, + Y = Application.GetRealWidth(89), + Width = Application.GetRealWidth(40), + Height = Application.GetRealWidth(40), + UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_off_home.png", + SelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_off_home_click.png", + }; + view.AddChidren(btnClose); + + + btnClose.MouseDownEventHandler = (sender, e) => + { + btnClose.IsSelected = true; + }; + + btnClose.MouseUpEventHandler = (sender, e) => + { + btnClose.IsSelected = false; + if (function.spk == SPK.GroupControl) + { + var d = new Dictionary<string, string>(); + d.Add("on_off", "off"); + (function as GroupControl).Control(d); + } + }; + btnOpen.MouseDownEventHandler = (sender, e) => + { + btnOpen.IsSelected = true; + }; + btnOpen.MouseUpEventHandler = (sender, e) => + { + btnOpen.IsSelected = false; + if (function.spk == SPK.GroupControl) + { + var d = new Dictionary<string, string>(); + d.Add("on_off", "on"); + (function as GroupControl).Control(d); + } + }; + + + } + } + else if (function.spk == SPK.ElectricEnergy || function.spk == SPK.AirSwitch || function.spk == SPK.AirSwitchP3) + { + } else { @@ -1239,7 +1693,8 @@ LoadEvent_SwitchFunction(function, btnSwitch); } //鍙栨秷鏀惰棌浜嬩欢 - Action cannelCollect = () => { + Action cannelCollect = () => + { function.collect = false; //if (SPK.MusicSpkList().Contains(function.spk))//澶勭悊闊充箰涓讳粠鍏崇郴 //{ @@ -1255,15 +1710,15 @@ }; - var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone, UI2.FuntionControlView.VideoDoorLock.CommonMethod.Comerom.collect,()=> { + var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone, Comerom.collect,()=> { this.LoadDeviceFunctionControlZone();//鍒犻櫎璁惧鍚庨噸鏂板埛鏂癠I }); view.MouseUpEventHandler = skipControlPageEvent; btnName.MouseUpEventHandler = skipControlPageEvent; btnIcon.MouseUpEventHandler = skipControlPageEvent; btnState.MouseUpEventHandler = skipControlPageEvent; - //涓嶉渶瑕佹洿鏂扮姸鎬佺殑鍔ㄨ兘鍒楄〃 - if(!SPK.NotStatusSpkList.Contains(function.spk) || function.spk != SPK.IpCam_Imou) + //涓嶉渶瑕佹洿鏂扮姸鎬佺殑鍔熻兘鍒楄〃 + if (!SPK.NotStatusSpkList.Contains(function.spk) || function.spk != SPK.IpCam_Imou) { UpdataFunctionStates(function); } @@ -1278,7 +1733,7 @@ TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextAlignment = TextAlignment.CenterLeft, Tag = "OnlineTag", - Visible = !function.online + Visible = !function.isOnline() }; view.AddChidren(btnOffline); @@ -1309,7 +1764,8 @@ { X = Application.GetRealWidth(11), Y = Application.GetRealWidth(10), - TextID = StringId.Acst, + Text = function.name, + //TextID = StringId.Acst, IsBold = true, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, @@ -1329,20 +1785,51 @@ }; view.AddChidren(btnLogo); + try + { + if (function.extend.Contains("jinmao") && function.extend.Contains("true")) + { + btnLogo.Visible = true; + } + else + { + btnLogo.Visible = false; + } + } + catch (Exception ex) + { + MainPage.Log("Error", $"閲戣寕logo鏄剧ず澶勭悊寮傚父锛歿ex.Message}"); + } + Button btnFunctionViewBg; btnFunctionViewBg = new Button() { Height = Application.GetRealWidth(100), Width = Application.GetRealWidth(102), - UnSelectedImagePath = "FunctionIcon/FunctionBg/AcstFunctionBg.png", + UnSelectedImagePath = function.spk == SPK.AcstParent ? "FunctionIcon/FunctionBg/AcstFunctionBg.png" : "FunctionIcon/FunctionBg/InverterJinmaoFunctionBg.png", }; view.AddChidren(btnFunctionViewBg); - btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { - var page = new AcstParentPage(); - MainPage.BasePageView.AddChidren(page); - page.LoadPage(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; + if (function.spk == SPK.AcstParent) + { + btnFunctionViewBg.MouseUpEventHandler = (sender, e) => + { + var page = new AcstParentPage(); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + } + else if (function.spk == SPK.InverterJinmao) + { + //btnName.TextID = StringId.NewEnergy; + btnFunctionViewBg.MouseUpEventHandler = (sender, e) => + { + var page = new InverterJinmaoPage(); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + } //Button btnAcstPower = new Button() @@ -1370,7 +1857,7 @@ // }) // { IsBackground = true }.Start(); //}; - + -- Gitblit v1.8.0