From 691dbe24f5724f153e07947c7b75bdfea5f0b6d5 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期二, 24 九月 2024 16:15:15 +0800 Subject: [PATCH] 离线控制模式 --- HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs | 237 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 159 insertions(+), 78 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs index e5d75d4..876deaa 100644 --- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs +++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs @@ -1,5 +1,6 @@ 锘縰sing System; using System.Collections.Generic; +using System.Security.Cryptography; using HDL_ON.DAL.Server; using HDL_ON.DriverLayer; using HDL_ON.Entity; @@ -89,14 +90,14 @@ #region top FrameLayout topView = new FrameLayout() { - Height = Application.GetRealHeight(64), + Height = Application.GetRealHeight(74), BackgroundColor = CSS_Color.TopViewColor, }; bodyView.AddChidren(topView); btnRoomTilte = new Button() { - Y = Application.GetRealHeight(30), + Y = Application.GetRealHeight(40), Width = Application.GetRealWidth(170), Height = Application.GetRealHeight(25), TextAlignment = TextAlignment.CenterRight, @@ -111,7 +112,7 @@ btnFuncTitle = new Button() { X = Application.GetRealWidth(209), - Y = Application.GetRealHeight(30), + Y = Application.GetRealHeight(40), Width = Application.GetRealWidth(170), Height = Application.GetRealHeight(25), TextAlignment = TextAlignment.CenterLeft, @@ -125,8 +126,8 @@ contentPageView = new PageLayout() { - Y = Application.GetRealHeight(64), - Height = Application.GetRealHeight(667 - 64 - 49 + 30), + Y = Application.GetRealHeight(74), + Height = Application.GetRealHeight(667 - 74 - 49 + 30), BackgroundColor = CSS_Color.MainBackgroundColor, IsShowPoint = false }; @@ -716,10 +717,10 @@ #region 鐢靛櫒 functionCount = FunctionList.List.GetElectricals().Count; - functionOnCount = FunctionList.List.GetElectricals().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; -#if DEBUG - functionCount = 1; -#endif + functionOnCount = FunctionList.List.GetElectricals().FindAll((obj) => obj.spk!=SPK.ElectricalTvHisense&&obj.trait_on_off.curValue.ToString() == "on").Count; +//#if DEBUG +// functionCount = 1; +//#endif #endregion break; case ShowFunction.EnergyMonitoring: @@ -748,7 +749,14 @@ case ShowFunction.SecurityMonitoring: if (!MainPage.NoLoginMode) { - functionCount = 1; + if (OnAppConfig.Instance.RequestHttpsHost.Contains("bahrain") || !Common.ApiUtlis.Ins.hadInternet) + { + functionCount = 0; + } + else + { + functionCount = 1; + } } break; case ShowFunction.Sensor: @@ -762,27 +770,29 @@ break; case ShowFunction.SecurityCenter: functionCount = FunctionList.List.securities.Count; - //if (DB_ResidenceData.Instance.GatewayType == 1) - //{ - // functionCount = 1; - //} break; case ShowFunction.Acst: functionCount = FunctionList.List.GetAcstParentList().Count; - functionOnCount = FunctionList.List.GetAcstParentList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; + functionOnCount = 0; + break; + case ShowFunction.InverterJinmao: + functionCount = FunctionList.List.GetInverterJinmaoList().Count; + functionOnCount = 0; break; case ShowFunction.VideoDoorLock: - functionCount = FunctionList.List.GetVideoDoorLockList().Count; -#if DEBUG - //functionCount = 1; -#endif - functionOnCount = 1; + if (Common.ApiUtlis.Ins.hadInternet) + { + functionCount = FunctionList.List.GetVideoDoorLockList().Count; + functionOnCount = FunctionList.List.GetAcstParentList().FindAll((obj) => obj.GetAttrState("status").ToString() == "open" + || obj.GetAttrState("status").ToString() == "normal_open").Count; + } + else + { + functionCount = 0; + } break; case ShowFunction.Aks: functionCount = FunctionList.List.GetVideoControlsList().Count; -#if DEBUG - functionCount = 1; -#endif functionOnCount = 1; break; @@ -839,8 +849,10 @@ TextAlignment = TextAlignment.CenterLeft, IsMoreLines = true, }; - functionView.AddChidren(btnName); - //鍘绘帀鍔熻兘澶栭潰寮�鍏充釜鏁�; + functionView.AddChidren(btnName); + + //涓嶉渶瑕佹樉绀鸿澶囧紑鐘舵�佹暟閲�; + Button btnFunctionCount=null; if (item != ShowFunction.Aks && item != ShowFunction.VideoDoorLock && item != ShowFunction.Environmental @@ -851,10 +863,10 @@ && item != ShowFunction.Music && item != ShowFunction.EnergyMonitoring && item != ShowFunction.SecurityCenter - && item != ShowFunction.Acst && item != ShowFunction.IpCam + && item != ShowFunction.Acst && item != ShowFunction.IpCam && item != ShowFunction.InverterJinmao && functionCount != 0) { - Button btnFunctionCount = new Button() + btnFunctionCount = new Button() { X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * functionCount.ToString().Length), Y = btnName.Bottom, @@ -1076,13 +1088,15 @@ case ShowFunction.EnergyMonitoring: #region 鑳芥簮鐩戞祴 btnName.TextID = StringId.EnergyMonitoring; - btnFunctionViewBg.MouseUpEventHandler = (sender, e) => - { - var skipView = new EnergyMainPage(); - MainPage.BasePageView.AddChidren(skipView); - skipView.LoadPage(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; + functionPageTitleId = StringId.EnergyMonitoring; + + //btnFunctionViewBg.MouseUpEventHandler = (sender, e) => + //{ + // var skipView = new EnergyMainPage(); + // MainPage.BasePageView.AddChidren(skipView); + // skipView.LoadPage(); + // MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + //}; #endregion break; case ShowFunction.Environmental: @@ -1165,8 +1179,14 @@ }; break; case ShowFunction.Acst: - btnName.TextID = StringId.Acst; - + case ShowFunction.InverterJinmao: + //if(item == ShowFunction.Acst) + //{ + // btnFunctionViewBg.UnSelectedImagePath = "FunctionIcon/FunctionBg/SecurityMonitoringFunctionBg.png"; + //}else if (item == ShowFunction.InverterJinmao) + //{ + // btnFunctionViewBg.UnSelectedImagePath = "FunctionIcon/FunctionBg/SecurityMonitoringFunctionBg.png"; + //} Button btnJMLogo = new Button() { Y = specialList.Contains(index) ? Application.GetRealWidth(147) : Application.GetRealWidth(104), @@ -1175,39 +1195,65 @@ Height = Application.GetRealWidth(57), }; functionView.AddChidren(btnJMLogo); + - //Button btnAcstPower = new Button() - //{ - // X = Application.GetRealWidth(120), - // Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117), - // Width = Application.GetRealWidth(32), - // Height = Application.GetRealWidth(32), - // SelectedImagePath = "Public/PowerOpen.png", - // UnSelectedImagePath = "Public/PowerClose.png", - // IsSelected = functionOnCount > 0, - // Tag = item + "_AllControl", - //}; - //functionView.AddChidren(btnAcstPower); - //btnAcstPower.MouseUpEventHandler = (sender, e) => - //{ - // btnAcstPower.IsSelected = !btnAcstPower.IsSelected; - // string onoff = btnAcstPower.IsSelected ? "on" : "off"; - // Dictionary<string, string> d = new Dictionary<string, string>(); - // d.Add(FunctionAttributeKey.OnOff, onoff); - // foreach (var temp in FunctionList.List.GetAcstParentList()) - // { - // Control.Ins.SendWriteCommand(temp, d); - // } - //}; - - - btnFunctionViewBg.MouseUpEventHandler = (sender, e) => + if (item == ShowFunction.Acst) { - var page = new AcstParentPage(); - MainPage.BasePageView.AddChidren(page); - page.LoadPage(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; + btnName.TextID = StringId.Acst; + try + { + var acstFunction = FunctionList.List.GetAcstParentList()[0]; + btnName.Text = acstFunction.name; + if (acstFunction.extend.Contains("jinmao") && acstFunction.extend.Contains("true")) + { + btnJMLogo.Visible = true; + } + else + { + btnJMLogo.Visible = false; + } + + } + catch (Exception ex) + { + MainPage.Log("Error", $"鍔犺浇閲戣寕绉戞妧绯荤粺涓绘帶鍚嶇О寮傚父:{ex.Message}"); + } + btnFunctionViewBg.MouseUpEventHandler = (sender, e) => + { + var page = new AcstParentPage(); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + } + else if (item == ShowFunction.InverterJinmao) + { + btnName.TextID = StringId.NewEnergy; + try + { + var jinmaoInverterFunction = FunctionList.List.GetInverterJinmaoList()[0]; + btnName.Text = jinmaoInverterFunction.name; + if (jinmaoInverterFunction.extend.Contains("jinmao") && jinmaoInverterFunction.extend.Contains("true")) + { + btnJMLogo.Visible = true; + } + else + { + btnJMLogo.Visible = false; + } + } + catch (Exception ex) + { + MainPage.Log("Error", $"鍔犺浇閲戣寕鍌ㄨ兘鍚嶇О寮傚父:{ex.Message}"); + } + btnFunctionViewBg.MouseUpEventHandler = (sender, e) => + { + var page = new InverterJinmaoPage(); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + } break; case ShowFunction.VideoDoorLock: //钀ょ煶瑙嗛闂ㄩ攣 @@ -1216,21 +1262,21 @@ { var list =CommonMethod.Current.GetVideoDoorLockList(); var form = new VideoDoorLockListPage(()=> { - functionContentView?.RemoveFromParent(); - this.RefreshFunctionView(); + UpdateBottomView(); }); form.AddForm(list); }; break; case ShowFunction.Aks: + + btnFunctionViewBg.UnSelectedImagePath = "FunctionIcon/FunctionBg/AksFunctionBg.png"; //鍩冨厠鏂奖闊充腑鎺� btnName.TextID = StringId.jiatingyingyuan; btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { var list = HDL_ON.UI.UI2.FuntionControlView.Aks.AksCommonMethod.Current.GetVideoControlsList(); var form = new HDL_ON.UI.UI2.FuntionControlView.Aks.AksListPage(() => { - functionContentView?.RemoveFromParent(); - this.RefreshFunctionView(); + UpdateBottomView(); }); form.AddForm(list); }; @@ -1244,18 +1290,24 @@ && item != ShowFunction.Environmental && item != ShowFunction.SecurityMonitoring && item != ShowFunction.DoorLock - && ShowFunction.EnergyMonitoring != item + //&& ShowFunction.EnergyMonitoring != item && ShowFunction.VideoIntercom != item && ShowFunction.SecurityCenter != item && ShowFunction.Series != item - && ShowFunction.Acst != item) + && ShowFunction.Acst != item && ShowFunction.InverterJinmao != item) { btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { + var skipView = new FunctionPage(); MainPage.BasePageView.AddChidren(skipView); skipView.LoadPage(functionPageTitleId); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + skipView.DelAction += () => + { + + UpdateBottomView(); + }; }; } index++; @@ -1325,7 +1377,7 @@ int count = 0; foreach (var temp in FunctionList.List.InverterList()) { - if (temp.online) + if (temp.isOnline()) { if (temp.trait_on_off.state.ToString() == "on") { @@ -1470,7 +1522,7 @@ //#if __Android__ //閫傞厤娌夋蹈寮忓鑸爮 - h5BasePage.Y = Application.GetRealHeight(20); + h5BasePage.Y = Application.GetRealHeight(35); h5BasePage.Height = Application.GetRealHeight(646); //#endif MainPage.BasePageView.AddChidren(h5BasePage); @@ -1478,13 +1530,30 @@ h5BasePage.AddChidren(Inverter.Ins.H5Page);//000 string lz = "zh"; - if (Language.CurrentLanguage != "Chinese") + if (Language.CurrentLanguage == "Ukraine") { + lz = "ua"; + } + else if (Language.CurrentLanguage == "Chinese") + { + lz = "zh"; + } + else { lz = "en"; } - string url = $"h5/index.html?homeId={DB_ResidenceData.Instance.CurrentRegion.id}&token={UserInfo.Current.AccessToken}&refresh_token={UserInfo.Current.RefreshToken}&url={OnAppConfig.Instance.RequestHttpsHost}&language={lz}&weather={MainPage.cityInfo.weather}"; + string url = $"h5/index.html?homeId={DB_ResidenceData.Instance.CurrentRegion.id}&token={UserInfo.Current.AccessToken}&refresh_token={UserInfo.Current.RefreshToken}&url={OnAppConfig.Instance.RequestHttpsHost}&language={lz}"; Inverter.Ins.ShowWebviewFormUrl(url); + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + var status = new Dictionary<string, object> { ["method"] = "weather", ["data"] = MainPage.cityInfo.weather }; + Inverter.Ins.H5Page.CallJS($"nativeToJs(\'{Newtonsoft.Json.JsonConvert.SerializeObject(status)}\')"); + }); + }) + { IsBackground = true }.Start(); Inverter.Ins.H5Page.JSToNativeAction = (dictionary) => { #if __IOS__ @@ -1776,6 +1845,18 @@ { } -#endregion + #endregion + + /// <summary> + /// 鏇存柊搴曢儴鐣岄潰 + /// </summary> + void UpdateBottomView() + { + Application.RunOnMainThread(() => + { + functionContentView?.RemoveFromParent(); + this.RefreshFunctionView(); + }); + } } } -- Gitblit v1.8.0