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 | 365 ++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 282 insertions(+), 83 deletions(-)
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
index 1bf3b2e..876deaa 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -1,16 +1,21 @@
锘縰sing System;
using System.Collections.Generic;
+using System.Security.Cryptography;
using HDL_ON.DAL.Server;
using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using HDL_ON.UI;
using HDL_ON.UI.CSS;
+using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Shared;
namespace HDL_ON.UI
{
+ /// <summary>
+ /// 鍒嗙被鐣岄潰
+ /// </summary>
public partial class ClassificationPage : FrameLayout
{
@@ -85,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,
@@ -107,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,
@@ -121,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
};
@@ -605,21 +610,35 @@
};
}
-
/// <summary>
/// 鍔犺浇鍔熻兘鍒楄〃鐣岄潰
/// </summary>
- void LoadFunctionPageView()
+ void LoadFunctionPageView ()
{
- #region
functionsPageView = new VerticalScrolViewLayout()
{
BackgroundColor = CSS_Color.BackgroundColor,
Height = Application.GetRealHeight(667 - 64 - 49 + 20),
};
contentPageView.AddChidren(functionsPageView);
+ this.RefreshFunctionView();
- FrameLayout functionContentView;
+ }
+ FrameLayout functionContentView;
+ /// <summary>
+ /// 鏄剧ず鍔熻兘鍒楄〃鐣岄潰
+ /// </summary>
+ void RefreshFunctionView()
+ {
+ #region
+ //functionsPageView = new VerticalScrolViewLayout()
+ //{
+ // BackgroundColor = CSS_Color.BackgroundColor,
+ // Height = Application.GetRealHeight(667 - 64 - 49 + 20),
+ //};
+ //contentPageView.AddChidren(functionsPageView);
+
+ //FrameLayout functionContentView;
functionContentView = new FrameLayout()
{
Y = Application.GetRealHeight(16),
@@ -655,6 +674,13 @@
int functionOnCount = 0;
switch (item)
{
+ case ShowFunction.Series:
+ functionCount = FunctionList.List.GetSeries().Count;
+ //functionOnCount = FunctionList.List.GetSeries().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+ break;
+ case ShowFunction.IpCam:
+ functionCount = FunctionList.List.GetIpCamImouList().Count;
+ break;
case ShowFunction.MechanicalArm:
functionCount = FunctionList.List.GetMechanicalArmList().Count;
functionOnCount = FunctionList.List.GetMechanicalArmList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
@@ -689,8 +715,12 @@
break;
case ShowFunction.Electric:
#region 鐢靛櫒
+
functionCount = FunctionList.List.GetElectricals().Count;
- functionOnCount = FunctionList.List.GetElectricals().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+ 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:
@@ -719,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:
@@ -733,15 +770,32 @@
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:
+ 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;
+ functionOnCount = 1;
+ break;
+
}
@@ -797,13 +851,22 @@
};
functionView.AddChidren(btnName);
- if (item != ShowFunction.Environmental && item != ShowFunction.Sensor && item != ShowFunction.VideoIntercom
- && item != ShowFunction.SecurityMonitoring && item != ShowFunction.FreshAir && item != ShowFunction.Music
- && item != ShowFunction.EnergyMonitoring && item != ShowFunction.SecurityCenter
- && item != ShowFunction.Acst
+ //涓嶉渶瑕佹樉绀鸿澶囧紑鐘舵�佹暟閲�;
+ Button btnFunctionCount=null;
+ if (item != ShowFunction.Aks
+ && item != ShowFunction.VideoDoorLock
+ && item != ShowFunction.Environmental
+ && item != ShowFunction.Sensor
+ && item != ShowFunction.VideoIntercom
+ && item != ShowFunction.SecurityMonitoring
+ && item != ShowFunction.FreshAir
+ && item != ShowFunction.Music
+ && item != ShowFunction.EnergyMonitoring
+ && item != ShowFunction.SecurityCenter
+ && 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,
@@ -814,21 +877,29 @@
TextAlignment = TextAlignment.CenterLeft,
Text = "/" + functionCount,
};
- functionView.AddChidren(btnFunctionCount);
- Button btnOpenCount = new Button()
+ if (item == ShowFunction.Series)
{
- X = Application.GetRealWidth(16),
- Y = btnName.Bottom,
- Width = Application.GetRealWidth(14 * functionCount.ToString().Length),
- Height = Application.GetRealHeight(24),
- TextColor = CSS_Color.MainColor,
- TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- TextAlignment = TextAlignment.CenterLeft,
- Text = functionOnCount.ToString(),
- Tag = item + "_onCount",
- BorderWidth = 0,
- };
- functionView.AddChidren(btnOpenCount);
+ btnFunctionCount.Text = functionCount.ToString();
+ }
+ functionView.AddChidren(btnFunctionCount);
+
+ if (item != ShowFunction.Series)
+ {
+ Button btnOpenCount = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = btnName.Bottom,
+ Width = Application.GetRealWidth(14 * functionCount.ToString().Length),
+ Height = Application.GetRealHeight(24),
+ TextColor = CSS_Color.MainColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = functionOnCount.ToString(),
+ Tag = item + "_onCount",
+ BorderWidth = 0,
+ };
+ functionView.AddChidren(btnOpenCount);
+ }
}
@@ -843,6 +914,16 @@
int functionPageTitleId = 0;
switch (item)
{
+ case ShowFunction.Series:
+ btnName.TextID = StringId.HorseRaceLamp;
+ functionPageTitleId = StringId.HorseRaceLamp;
+ btnFunctionViewBg.MouseUpEventHandler = (sender, e) => {
+ var page2 = new UI2.Classification.SeriesFunctionListPage();
+ MainPage.BasePageView.AddChidren(page2);
+ page2.LoadPage();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ break;
case ShowFunction.Light:
#region Light
btnName.TextID = StringId.Lights;
@@ -866,6 +947,14 @@
functionPageTitleId = StringId.Lights;
#endregion
+ break;
+ case ShowFunction.IpCam:
+ btnName.TextID = StringId.SecurityMonitoring;
+
+ btnFunctionViewBg.UnSelectedImagePath = "FunctionIcon/FunctionBg/SecurityMonitoringFunctionBg.png";
+
+ functionPageTitleId = StringId.SecurityMonitoring;
+
break;
case ShowFunction.MechanicalArm:
btnName.TextID = StringId.MechanicalArm;
@@ -999,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:
@@ -1059,7 +1150,7 @@
btnName.TextID = StringId.Panel;
break;
case ShowFunction.SecurityMonitoring:
- btnName.TextID = StringId.SecurityMonitoring;
+ btnName.TextID = StringId.EZVIZ;
btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
{
HDLCommon.Current.Go2EZvizMonitor(bodyView);
@@ -1088,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),
@@ -1098,54 +1195,119 @@
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);
- // }
- //};
+ if (item == ShowFunction.Acst)
+ {
+ 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:
+ //钀ょ煶瑙嗛闂ㄩ攣
+ btnName.TextID = StringId.yingshishipinmensuo;
btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
{
- var page = new AcstParentPage();
- MainPage.BasePageView.AddChidren(page);
- page.LoadPage();
- MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ var list =CommonMethod.Current.GetVideoDoorLockList();
+ var form = new VideoDoorLockListPage(()=> {
+ 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(() => {
+ UpdateBottomView();
+ });
+ form.AddForm(list);
};
break;
-
}
- //鐣岄潰璺宠浆--闊充箰璺宠浆鑷繁鐨勭晫闈�--鐜璺宠浆鑷繁鐨勭晫闈�
- if (item != ShowFunction.Music && item != ShowFunction.Environmental && item != ShowFunction.SecurityMonitoring && item != ShowFunction.DoorLock
- && ShowFunction.EnergyMonitoring != item && ShowFunction.VideoIntercom != item && ShowFunction.SecurityCenter != item
- && ShowFunction.Acst != item)
+ //鐣岄潰璺宠浆--闊充箰璺宠浆鑷繁鐨勭晫闈�--鐜璺宠浆鑷繁鐨勭晫闈�--(钀ょ煶瑙嗛闂ㄩ攣)璺宠浆鑷繁鐨勭晫闈�--鍩冨厠鏂奖闊充腑鎺�
+ if (item != ShowFunction.VideoDoorLock
+ && item != ShowFunction.Aks
+ && item != ShowFunction.Music
+ && item != ShowFunction.Environmental
+ && item != ShowFunction.SecurityMonitoring
+ && item != ShowFunction.DoorLock
+ //&& ShowFunction.EnergyMonitoring != item
+ && ShowFunction.VideoIntercom != item
+ && ShowFunction.SecurityCenter != item
+ && ShowFunction.Series != 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++;
@@ -1215,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")
{
@@ -1360,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);
@@ -1368,16 +1530,39 @@
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}";
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__
JObject jObj = JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(dictionary));
+#else
+ var valuePairs = "";
+ dictionary.TryGetValue("method", out valuePairs);
+ JObject jObj = JObject.Parse(valuePairs);
+#endif
if (!jObj.ContainsKey("method") || !jObj.ContainsKey("data"))
{
@@ -1430,8 +1615,10 @@
s1View.Height = s2View.Height = functionContentView.Height = functionContentViewHeight + Application.GetRealWidth(40);
- #endregion
+#endregion
}
+
+
void refreshInverterInfo(Button btnPowerTenerationToday, Button btnWorkingMode, Button btnCurrentPowerGeneration)
{
@@ -1658,6 +1845,18 @@
{
}
-#endregion
+ #endregion
+
+ /// <summary>
+ /// 鏇存柊搴曢儴鐣岄潰
+ /// </summary>
+ void UpdateBottomView()
+ {
+ Application.RunOnMainThread(() =>
+ {
+ functionContentView?.RemoveFromParent();
+ this.RefreshFunctionView();
+ });
+ }
}
}
--
Gitblit v1.8.0