| | |
| | | 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; |
| | |
| | | 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; |
| | | break; |
| | | case ShowFunction.Light: |
| | | #region Light |
| | | functionCount = FunctionList.List.GetLightList().Count; |
| | |
| | | functionOnCount = FunctionList.List.GetFloorHeatingList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.DoorLock: |
| | | functionCount = FunctionList.List.GetDoorLockList().Count; |
| | | functionOnCount = 1; |
| | | break; |
| | | case ShowFunction.Electric: |
| | | #region 电器 |
| | | functionCount = FunctionList.List.GetElectricals().Count; |
| | | functionOnCount = FunctionList.List.GetElectricals().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.EnergyMonitoring: |
| | | #region 能源 |
| | | functionCount = FunctionList.List.GetEnergyList().Count; |
| | | functionOnCount = FunctionList.List.GetEnergyList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.Environmental: |
| | | #region 环境数据 |
| | | functionCount = FunctionList.List.GetEnvirSensorsList().Count; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.FreshAir: |
| | | functionCount = FunctionList.List.GetAirFreshList().Count; |
| | | functionOnCount = FunctionList.List.GetAirFreshList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count; |
| | | break; |
| | | case ShowFunction.Music: |
| | | functionCount = FunctionList.List.GetMusicList().Count; |
| | | #if DEBUG |
| | | functionCount = 1; |
| | | #endif |
| | | break; |
| | | case ShowFunction.Panel: |
| | | break; |
| | | case ShowFunction.SecurityMonitoring: |
| | | if (!MainPage.NoLoginMode) |
| | | { |
| | | functionCount = 1; |
| | | } |
| | | break; |
| | | case ShowFunction.Sensor: |
| | | functionCount = FunctionList.List.GetArmSensorList().Count; |
| | | break; |
| | | case ShowFunction.VideoIntercom: |
| | | if (FunctionList.List.videoIntercom != null && FunctionList.List.videoIntercom.Count > 0) |
| | | { |
| | | functionCount = 1; |
| | | } |
| | | 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; |
| | | break; |
| | | case ShowFunction.VideoDoorLock: |
| | | functionCount = FunctionList.List.GetVideoDoorLockList().Count; |
| | | #if DEBUG |
| | | //functionCount = 1; |
| | | #endif |
| | | functionOnCount = 1; |
| | | break; |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | }; |
| | | 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 && item != ShowFunction.IpCam |
| | | && functionCount != 0) |
| | | if (item != ShowFunction.FreshAir && functionCount != 0) |
| | | { |
| | | Button btnFunctionCount = new Button() |
| | | { |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = "/" + functionCount, |
| | | }; |
| | | if (item == ShowFunction.Series) |
| | | { |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | 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; |
| | |
| | | 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; |
| | | Button btnMaPower = 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(btnMaPower); |
| | | |
| | | btnMaPower.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | LoadEvent_SwitchFunction(btnMaPower, item, functionView); |
| | | }; |
| | | functionPageTitleId = StringId.MechanicalArm; |
| | | |
| | | break; |
| | | case ShowFunction.AC: |
| | | #region AC |
| | |
| | | functionPageTitleId = StringId.FloorHeating; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.DoorLock: |
| | | btnName.TextID = StringId.DoorLock; |
| | | btnFunctionViewBg.MouseUpEventHandler = (sende, e) => |
| | | { |
| | | var form = new DoorLockListPage(); |
| | | form.AddForm(FunctionList.List.GetDoorLockList()); |
| | | }; |
| | | break; |
| | | case ShowFunction.Electric: |
| | | #region 电器 |
| | | btnName.TextID = StringId.Electric; |
| | | Button btnElectricPower = 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", |
| | | Tag = item + "_AllControl", |
| | | IsSelected = functionOnCount > 0, |
| | | }; |
| | | functionView.AddChidren(btnElectricPower); |
| | | btnElectricPower.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | LoadEvent_SwitchFunction(btnElectricPower, item, functionView); |
| | | }; |
| | | functionPageTitleId = StringId.Electric; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.EnergyMonitoring: |
| | | #region 能源监测 |
| | | btnName.TextID = StringId.EnergyMonitoring; |
| | | 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: |
| | | #region 环境数据 |
| | | btnName.TextID = StringId.EnvironmentalData; |
| | | btnFunctionViewBg.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var skipView = new EnvironmentalPage();// EnvironmentalSciencePage(); |
| | | //var skipView = new A_EnvironmentalDataCenter();// EnvironmentalSciencePage(); |
| | | MainPage.BasePageView.AddChidren(skipView); |
| | | skipView.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | #endregion |
| | | break; |
| | | case ShowFunction.FreshAir: |
| | | btnName.TextID = StringId.FreshAir; |
| | | #region Light |
| | |
| | | |
| | | #endregion |
| | | break; |
| | | case ShowFunction.Music: |
| | | btnName.TextID = StringId.Music; |
| | | btnFunctionViewBg.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var musicMain = new Music.MusicMain(); |
| | | MainPage.BasePageView.AddChidren(musicMain); |
| | | musicMain.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | break; |
| | | case ShowFunction.Panel: |
| | | btnName.TextID = StringId.Panel; |
| | | break; |
| | | case ShowFunction.SecurityMonitoring: |
| | | btnName.TextID = StringId.EZVIZ; |
| | | btnFunctionViewBg.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | HDLCommon.Current.Go2EZvizMonitor(bodyView); |
| | | }; |
| | | break; |
| | | case ShowFunction.Sensor: |
| | | btnName.TextID = StringId.Sensor; |
| | | functionPageTitleId = StringId.Sensor; |
| | | break; |
| | | case ShowFunction.VideoIntercom://可视对讲 |
| | | btnName.TextID = StringId.VideoIntercom; |
| | | btnFunctionViewBg.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var videoMethod = new UI2.FuntionControlView.Video.VideoMethod(); |
| | | videoMethod.MianView(this); |
| | | }; |
| | | break; |
| | | case ShowFunction.SecurityCenter: |
| | | btnName.TextID = StringId.SecurityCenter; |
| | | btnFunctionViewBg.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var page = new ArmCenterPage(); |
| | | MainPage.BasePageView.AddChidren(page); |
| | | page.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | break; |
| | | case ShowFunction.Acst: |
| | | btnName.TextID = StringId.Acst; |
| | | |
| | | Button btnJMLogo = new Button() |
| | | { |
| | | Y = specialList.Contains(index) ? Application.GetRealWidth(147) : Application.GetRealWidth(104), |
| | | UnSelectedImagePath = "FunctionIcon/Acst/LvJianLogo.png", |
| | | Width = Application.GetRealWidth(105), |
| | | 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) => |
| | | { |
| | | var page = new AcstParentPage(); |
| | | 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 list =CommonMethod.Current.GetVideoDoorLockList(); |
| | | var form = new VideoDoorLockListPage(()=> { |
| | | functionContentView?.RemoveFromParent(); |
| | | this.RefreshFunctionView(); |
| | | }); |
| | | form.AddForm(list); |
| | | }; |
| | | break; |
| | | |
| | | } |
| | | //界面跳转--音乐跳转自己的界面--环境跳转自己的界面--(萤石视频门锁)跳转自己的界面 |
| | | if (item != ShowFunction.VideoDoorLock |
| | | && 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) |
| | | { |
| | | btnFunctionViewBg.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var skipView = new FunctionPage(); |
| | | MainPage.BasePageView.AddChidren(skipView); |
| | | skipView.LoadPage(functionPageTitleId); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | } |
| | | |
| | | index++; |
| | | } |
| | | |
| | | |
| | | //光伏数据 |
| | | if (FunctionList.List.InverterList().Count > 0) |
| | | { |
| | | FrameLayout inverterListView = new FrameLayout() |
| | | { |
| | | Height = Application.GetRealHeight(204), |
| | | Radius = (uint)Application.GetRealWidth(6), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Tag = "inverterList_View", |
| | | Y = index % 2 == 1 ? lastY2 : lastY1 |
| | | }; |
| | | if (index % 2 == 1) |
| | | { |
| | | lastY2 += inverterListView.Height + Application.GetRealWidth(16); |
| | | } |
| | | else |
| | | { |
| | | lastY1 += inverterListView.Height + Application.GetRealWidth(16); |
| | | } |
| | | |
| | | if (index % 2 == 0) |
| | | { |
| | | s1View.AddChidren(inverterListView); |
| | | } |
| | | else |
| | | { |
| | | s2View.AddChidren(inverterListView); |
| | | } |
| | | functionContentViewHeight = inverterListView.Bottom; |
| | | |
| | | |
| | | Button btnName = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(16),//14),// |
| | | Width = Application.GetRealWidth(140), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | IsMoreLines = true, |
| | | TextID = StringId.PhotovoltaicEnergyStorage, |
| | | IsBold = true, |
| | | }; |
| | | inverterListView.AddChidren(btnName); |
| | | |
| | | |
| | | Button btnFunctionCount = new Button() |
| | | { |
| | | X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * FunctionList.List.InverterList().Count.ToString().Length), |
| | | Y = btnName.Bottom, |
| | | Width = Application.GetRealWidth(120), |
| | | Height = Application.GetRealHeight(24), |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = "/" + FunctionList.List.InverterList().Count, |
| | | }; |
| | | inverterListView.AddChidren(btnFunctionCount); |
| | | |
| | | int count = 0; |
| | | foreach (var temp in FunctionList.List.InverterList()) |
| | | { |
| | | if (temp.isOnline()) |
| | | { |
| | | if (temp.trait_on_off.state.ToString() == "on") |
| | | { |
| | | ++count; |
| | | } |
| | | } |
| | | } |
| | | |
| | | Button btnOpenCount = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = btnName.Bottom, |
| | | Width = Application.GetRealWidth(14 * count.ToString().Length), |
| | | Height = Application.GetRealHeight(24), |
| | | TextColor = CSS_Color.MainColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = count.ToString(), |
| | | Tag = "inverter_onCount", |
| | | BorderWidth = 0, |
| | | }; |
| | | inverterListView.AddChidren(btnOpenCount); |
| | | |
| | | |
| | | //Button btnWorkStatus = new Button() |
| | | //{ |
| | | // Y = Application.GetRealHeight(24), |
| | | // Width = Application.GetRealWidth(148), |
| | | // Height = Application.GetRealHeight(18), |
| | | // TextAlignment = TextAlignment.CenterRight, |
| | | // TextColor = 0xFF0BAF31, |
| | | // TextID = StringId.NormalOperation, |
| | | // TextSize = CSS_FontSize.TextFontSize |
| | | //}; |
| | | //inverterListView.AddChidren(btnWorkStatus); |
| | | |
| | | Button btnWorkingModeIcon = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = btnOpenCount.Bottom + Application.GetRealHeight(5), |
| | | Width = Application.GetRealWidth(14), |
| | | Height = Application.GetRealWidth(14), |
| | | UnSelectedImagePath = "FunctionIcon/Inverter/Icon1.png" |
| | | }; |
| | | inverterListView.AddChidren(btnWorkingModeIcon); |
| | | |
| | | |
| | | Button btnWorkingMode = new Button() |
| | | { |
| | | X = Application.GetRealWidth(37), |
| | | Y = btnOpenCount.Bottom + Application.GetRealHeight(5),// + Application.GetRealHeight(16), |
| | | Width = Application.GetRealWidth(148), |
| | | Height = Application.GetRealHeight(14), |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | TextID = StringId.WorkingMode, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | inverterListView.AddChidren(btnWorkingMode); |
| | | |
| | | |
| | | Button btnPowerTenerationTodayIcon = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = btnWorkingMode.Bottom + Application.GetRealHeight(10), |
| | | Width = Application.GetRealWidth(14), |
| | | Height = Application.GetRealWidth(14), |
| | | UnSelectedImagePath = "FunctionIcon/Inverter/Icon2.png" |
| | | }; |
| | | inverterListView.AddChidren(btnPowerTenerationTodayIcon); |
| | | |
| | | Button btnPowerTenerationToday = new Button() |
| | | { |
| | | X = Application.GetRealWidth(37), |
| | | Y = btnWorkingMode.Bottom + Application.GetRealHeight(10), |
| | | Width = Application.GetRealWidth(148), |
| | | Height = Application.GetRealHeight(14), |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | TextID = StringId.PowerTenerationToday, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | inverterListView.AddChidren(btnPowerTenerationToday); |
| | | |
| | | Button btnCurrentPowerGenerationIcon = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = btnPowerTenerationToday.Bottom + Application.GetRealHeight(10), |
| | | Width = Application.GetRealWidth(14), |
| | | Height = Application.GetRealWidth(14), |
| | | UnSelectedImagePath = "FunctionIcon/Inverter/Icon3.png" |
| | | }; |
| | | inverterListView.AddChidren(btnCurrentPowerGenerationIcon); |
| | | |
| | | Button btnCurrentPowerGeneration = new Button() |
| | | { |
| | | X = Application.GetRealWidth(37), |
| | | Y = btnPowerTenerationToday.Bottom + Application.GetRealHeight(10), |
| | | Width = Application.GetRealWidth(148), |
| | | Height = Application.GetRealHeight(14), |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | TextID = StringId.CurrentPowerGeneration, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | inverterListView.AddChidren(btnCurrentPowerGeneration); |
| | | |
| | | //Button btnBatterySOC = new Button() |
| | | //{ |
| | | // X = Application.GetRealWidth(37), |
| | | // Y = btnCurrentPowerGeneration.Bottom, |
| | | // Width = Application.GetRealWidth(148), |
| | | // Height = Application.GetRealHeight(18), |
| | | // TextColor = CSS_Color.FirstLevelTitleColor, |
| | | // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | // TextID = StringId.BatterySOC, |
| | | // TextAlignment = TextAlignment.CenterLeft, |
| | | //}; |
| | | //inverterListView.AddChidren(btnBatterySOC); |
| | | |
| | | //Button btnOperationDataTotalData = new Button() |
| | | //{ |
| | | // X = Application.GetRealWidth(16), |
| | | // Y = btnBatterySOC.Bottom + Application.GetRealHeight(16), |
| | | // Width = Application.GetRealWidth(148), |
| | | // Height = Application.GetRealHeight(18), |
| | | // TextColor = CSS_Color.FirstLevelTitleColor, |
| | | // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | // TextID = StringId.OperationDataTotalData, |
| | | // TextAlignment = TextAlignment.CenterLeft, |
| | | //}; |
| | | //inverterListView.AddChidren(btnOperationDataTotalData); |
| | | |
| | | var clickButton = new Button(); |
| | | inverterListView.AddChidren(clickButton); |
| | | |
| | | clickButton.MouseUpEventHandler = (sender2, e2) => |
| | | { |
| | | var h5BasePage = new FrameLayout() { |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | }; |
| | | |
| | | //#if __Android__ |
| | | //适配沉浸式导航栏 |
| | | h5BasePage.Y = Application.GetRealHeight(20); |
| | | h5BasePage.Height = Application.GetRealHeight(646); |
| | | //#endif |
| | | MainPage.BasePageView.AddChidren(h5BasePage); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | |
| | | h5BasePage.AddChidren(Inverter.Ins.H5Page);//000 |
| | | string lz = "zh"; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | 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")) |
| | | { |
| | | return; |
| | | } |
| | | if (jObj["method"].ToString() == "control" && jObj["data"].Type == JTokenType.Object) |
| | | {//控制 |
| | | var data = JObject.FromObject(jObj["data"]); |
| | | |
| | | if (!data.ContainsKey("sid") || !data.ContainsKey("on_off")) |
| | | { |
| | | return; |
| | | } |
| | | var function = new Function(); |
| | | function.sid = data["sid"].ToString(); |
| | | var inObj = FunctionList.List.InverterList().Find((obj) => obj.sid == function.sid); |
| | | if (inObj == null) |
| | | { |
| | | return; |
| | | } |
| | | function.deviceId = inObj.deviceId; |
| | | //function.spk = inObj.spk; |
| | | |
| | | var status = new Dictionary<string, string>() { ["on_off"] = data["on_off"].ToString() }; |
| | | Control.Ins.SendWriteCommand(function, status); |
| | | } |
| | | else if (jObj["method"].ToString() == "back") |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | h5BasePage.RemoveFromParent(); |
| | | }); |
| | | refreshInverterInfo(btnPowerTenerationToday, btnWorkingMode, btnCurrentPowerGeneration); |
| | | } |
| | | else if (jObj["method"].ToString() == "setPageIndex") |
| | | { |
| | | var data = jObj["data"].ToString(); |
| | | Inverter.Ins.PageIndex = data.ToString(); |
| | | } |
| | | }; |
| | | |
| | | |
| | | |
| | | }; |
| | | |
| | | refreshInverterInfo(btnPowerTenerationToday, btnWorkingMode, btnCurrentPowerGeneration); |
| | | |
| | | index++; |
| | | } |
| | | |
| | | s1View.Height = s2View.Height = functionContentView.Height = functionContentViewHeight + Application.GetRealWidth(40); |
| | | |