From 46af47e8d94f78dc7b52dd013f5f8b142299886d Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 30 三月 2023 12:00:00 +0800 Subject: [PATCH] 2023年03月30日11:59:41 --- HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs | 92 ++++++++++++------ HDL_ON/Common/HDLCommon.cs | 25 +--- HDL_ON/DAL/Server/HttpUtil.cs | 4 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs | 6 + HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 3 HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs | 1 HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs | 27 +++-- HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 1 HDL_ON/UI/UI2/FuntionControlView/Video/View/ShowDialog.cs | 135 +++++++++++++++++++++++++- 9 files changed, 228 insertions(+), 66 deletions(-) diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs index 1e5d28d..800c3d2 100644 --- a/HDL_ON/Common/HDLCommon.cs +++ b/HDL_ON/Common/HDLCommon.cs @@ -275,10 +275,10 @@ //鎶ヨ鎺ㄩ�佹墠寮圭獥鎻愮ず锛坢essageType鍖呭惈Alarm鍏抽敭瀛楃殑锛� if (jpushMessageInfo.messageType.Contains(PushMessageType.Alarm.ToString())) { - //钀ょ煶闂ㄩ攣鏇存柊寮�閿佸浘鏍� - HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.UpdateDoorLockState(PushMessageType.Alarm, jpushMessageInfo.HomeId, jpushMessageInfo.spk, jpushMessageInfo.Extras); - //鎶ヨ鎺ㄩ�佸脊绐楁彁绀� - ShowAlarmPushMessage(jpushMessageInfo, true); + //鎶ヨ鎺ㄩ�佸脊绐楁彁绀� + ShowAlarmPushMessage(jpushMessageInfo, true); + //钀ょ煶闂ㄩ攣鎺ㄩ�� + HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo); } else if (jpushMessageInfo.messageType.Contains(PushMessageType.FLCall.ToString())) { @@ -387,22 +387,15 @@ else if (jpushMessageInfo.messageType.Contains(PushMessageType.Prompt.ToString())) { ShowAlarmPushMessage(jpushMessageInfo, false); + //钀ょ煶闂ㄩ攣鎺ㄩ�� + HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo); } else if (jpushMessageInfo.messageType.Contains(PushMessageType.DOOR_BELL.ToString())) { - try - { - if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return; - var expantContent = Newtonsoft.Json.JsonConvert.DeserializeObject<UI.UI2.FuntionControlView.VideoDoorLock.ExpantContent>(jpushMessageInfo.expantContent); - if (expantContent == null) - { - return; - } - ///瑙嗛闂ㄩ攣 - HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.SkipRTVActivity(expantContent.devSerial, expantContent.deviceId, expantContent.spk, true); - } - catch { } + //钀ょ煶闂ㄩ攣鎺ㄩ�� + HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DoorLockPush(jpushMessageInfo); } + } } catch (Exception EX) diff --git a/HDL_ON/DAL/Server/HttpUtil.cs b/HDL_ON/DAL/Server/HttpUtil.cs index bf39c96..511a91e 100644 --- a/HDL_ON/DAL/Server/HttpUtil.cs +++ b/HDL_ON/DAL/Server/HttpUtil.cs @@ -17,8 +17,8 @@ /// 鍥哄畾鍩熷悕,姝e紡鐜 /// 鍏叡鍩熷悕灏辫繎瑙f瀽 /// </summary> - //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; - public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm + public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; + //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm /// <summary> /// RegionMark /// </summary> diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs index 335597a..ef2c271 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/ConditionDeviceFunList.cs @@ -89,6 +89,7 @@ //绌鸿皟 case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: //鍦扮儹 case SPK.FloorHeatStandard: case SPK.HvacFloorHeat: diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs index c389912..7c63f6c 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs @@ -162,6 +162,7 @@ //绌鸿皟 case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: //鍦扮儹 case SPK.HvacFloorHeat: case SPK.FloorHeatStandard: @@ -1087,6 +1088,7 @@ break; case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: { string on_off = GetKeyValue("on_off", dicList); string set_temp = GetKeyValue("set_temp", dicList); @@ -1668,6 +1670,7 @@ break; case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: { foreach (var dic in dicList) { diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs index d8690c5..7b9e37d 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs @@ -519,7 +519,7 @@ deviceStrTypeList.Add(Language.StringByID(StringId.Curtain)); } ///绌鸿皟绫� - var ac = deviceList.Find((device) => device.spk == SPK.AcStandard || device.spk == SPK.HvacAC); + var ac = deviceList.Find((device) => device.spk == SPK.AcStandard || device.spk == SPK.HvacAC|| device.spk == SPK.AcIr); if (ac != null) { deviceStrTypeList.Add(Language.StringByID(StringId.AC)); @@ -647,6 +647,7 @@ functionTypeList.Add(SPK.AcStandard); functionTypeList.Add(SPK.HvacAC); functionTypeList.Add(SPK.HvacCac); + functionTypeList.Add(SPK.AcIr); } ///鍦版殩绫� else if (deviceType == Language.StringByID(StringId.FloorHeating)) @@ -777,6 +778,7 @@ functionTypeList.Add(SPK.IpCam_Imou); functionTypeList.Add(SPK.SensorPm10); functionTypeList.Add(SPK.VideoDoorLock); + functionTypeList.Add(SPK.AcIr); } @@ -837,6 +839,7 @@ deviceTypeList.Add(SPK.IpCam_Imou); deviceTypeList.Add(SPK.SensorPm10); deviceTypeList.Add(SPK.VideoDoorLock); + deviceTypeList.Add(SPK.AcIr); } break; @@ -860,6 +863,7 @@ deviceTypeList.Add(SPK.MusicStandard); deviceTypeList.Add(SPK.AvMusic); deviceTypeList.Add(SPK.MechanicalArm); + deviceTypeList.Add(SPK.AcIr); } break; } diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs index 9cfe721..519be9f 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs @@ -297,6 +297,7 @@ break; case SPK.AcStandard: case SPK.HvacAC: + case SPK.AcIr: { #region 鐣岄潰 ///寮�鍏� diff --git a/HDL_ON/UI/UI2/FuntionControlView/Video/View/ShowDialog.cs b/HDL_ON/UI/UI2/FuntionControlView/Video/View/ShowDialog.cs index 65e7438..8ab919c 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Video/View/ShowDialog.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Video/View/ShowDialog.cs @@ -1,4 +1,5 @@ 锘縰sing System; +using HDL_ON.UI.CSS; using HDL_ON.UI.Music; using Shared; namespace HDL_ON.UI.UI2.FuntionControlView.Video.View @@ -24,7 +25,7 @@ } - public Dialog dialog; + public Dialog dialog; /// <summary> /// @@ -79,7 +80,7 @@ }; whiteView.AddChidren(btnTitle); - + Button guaduanIconBtn = new Button { X = Application.GetRealWidth(75), @@ -111,6 +112,128 @@ } + /// <summary> + /// 鍒濆鍖朌ialog + /// </summary> + /// <param name="titleStr">鏍囬</param> + /// <param name="msgStr">鎻愮ず淇℃伅</param> + /// <param name="okAction"></param> + /// <param name="cancelAction"></param> + /// <param name="cancelID"></param> + /// <param name="confirmID"></param> + public void ShowDialogBase(string titleStr, string msgStr, Action okAction, Action cancelAction, int cancelID = StringId.Cancel, int confirmID = StringId.Confirm, bool isAlarmColor = false) + { + if (dialog != null) + { + //闃叉浜岄噸鐣岄潰 + dialog.Close(); + } + dialog = new Dialog() + { + BackgroundColor = MusicColor.PopupBackgroundColor, + }; + + var bodyView = new FrameLayout(); + dialog.AddChidren(bodyView); + + FrameLayout contentView = new FrameLayout() + { + Gravity = Gravity.Center, + Width = Application.GetRealWidth(270), + Height = Application.GetRealHeight(140), + BackgroundColor = CSS_Color.MainBackgroundColor, + BorderColor = 0x00000000, + BorderWidth = 0, + Radius = (uint)Application.GetMinRealAverage(10), + }; + bodyView.AddChidren(contentView); + + Button btnTitle = new Button() + { + Y = Application.GetRealHeight(20), + Height = Application.GetRealHeight(22), + TextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextAlignment = TextAlignment.Center, + IsBold = true, + Text = titleStr, + }; + contentView.AddChidren(btnTitle); + int Width135 = Application.GetRealWidth(135); + //鎻愮ず鍐呭鎸夐挳 + Button btnMsg = new Button() + { + Y = btnTitle.Bottom + Application.GetRealHeight(4), + X = Application.GetRealWidth(6), + Height = Application.GetRealHeight(46), + Width = Application.GetRealWidth(258), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.TextualColor, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + Text = msgStr, + IsMoreLines = true, + }; + contentView.AddChidren(btnMsg); + + Button btnLine = new Button() + { + Y = Application.GetRealHeight(96), + Height = Application.GetRealHeight(1), + Width = Application.GetRealWidth(270 / 2), + BackgroundColor = CSS_Color.DividingLineColor, + }; + contentView.AddChidren(btnLine); + + Button btnCancel = new Button() + { + Y = btnLine.Bottom, + Width = Width135, + Height = Application.GetRealHeight(43), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.TextualColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextID = cancelID, + }; + contentView.AddChidren(btnCancel); + + Button btnConfirm = new Button() + { + X = contentView.Width - Width135, + Y = btnLine.Y, + Width = Width135, + Height = Application.GetRealHeight(45), + TextAlignment = TextAlignment.Center, + //TextColor = CSS_Color.TextualColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextColor = CSS_Color.MainBackgroundColor, + BackgroundColor = CSS_Color.MainColor, + TextID = confirmID, + }; + contentView.AddChidren(btnConfirm); + //渚嬶細鍙充笅鍦嗚 澶у皬涓�50 + int mRectCornerID = HDLUtils.RectCornerBottomRight; + btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID); + + btnCancel.MouseUpEventHandler += (sender, e) => + { + dialog.Close(); + cancelAction?.Invoke(); + }; + + btnConfirm.MouseUpEventHandler += (sender, e) => + { + dialog.Close(); + okAction?.Invoke(); + }; + + if (isAlarmColor) + { + btnTitle.TextColor = CSS_Color.WarningColor; + btnConfirm.TextColor = CSS_Color.MainBackgroundColor; + btnConfirm.BackgroundColor = CSS_Color.WarningColor; + } + } + /// <summary> /// 鐢熸垚浜岀淮鐮� @@ -118,7 +241,7 @@ /// <param name="str1">鏍囬</param> public void QRcode(string str1) { - Dialog dialog = new Dialog() + Dialog dialog = new Dialog() { BackgroundColor = CSS.CSS_Color.viewTrans60lucence, }; @@ -143,18 +266,18 @@ TextSize = TextSize.Text16, TextAlignment = TextAlignment.Center, IsBold = true, - TextID=StringId.linshimima, + TextID = StringId.linshimima, }; whiteView.AddChidren(btnTitle); //瀵嗙爜 Button btnpaw = new Button() { - X=Application.GetRealWidth(100), + X = Application.GetRealWidth(100), Y = Application.GetRealHeight(62), Height = Application.GetRealHeight(32), Width = Application.GetRealWidth(82), TextColor = MusicColor.SelectedColor, - TextSize =24, + TextSize = 24, TextAlignment = TextAlignment.Center, IsBold = true, Text = str1, diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs index 1d9736b..6613907 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs @@ -2,6 +2,7 @@ using HDL_ON.Entity; using System.Collections.Generic; using Shared; +using HDL_ON.DAL.Server; #if __IOS__ #else using Com.Videogo.Hdl; @@ -278,7 +279,65 @@ { return VideDoorLockSend.Current.GetVideoDoorLockLockModelsList(); } + /// <summary> + /// 闂ㄩ攣鎺ㄩ�� + /// </summary> + /// <param name="pushMessageType"></param> + /// <param name="jPushMessageInfo"></param> + public void DoorLockPush(JPushMessageInfo jpushMessageInfo) + { + this.MainThread(() => + { + if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return; + //{ "deviceSid":"J92513662","type":"opendoormsg","extDevId":"J92513662","deviceId":"1641010144999936001","spk":"security.door.ezviz"} + var expantContent = Newtonsoft.Json.JsonConvert.DeserializeObject<ExpantContent>(jpushMessageInfo.expantContent); + if (expantContent == null) + { + return; + } + if (expantContent.spk != SPK.VideoDoorLock) + { + return; + } + if (jpushMessageInfo.messageType.Contains(PushMessageType.DOOR_BELL.ToString())) + { + ///鎵撳紑瑙嗛闂ㄩ攣 + this.SkipRTVActivity(expantContent.devSerial, expantContent.deviceId, expantContent.spk, true); + } + else if (jpushMessageInfo.messageType.Contains(PushMessageType.Alarm.ToString())) + { + //浣庣數閲忔帹閫� + this.UpdateDoorLockState(PushMessageType.Alarm); + } + else if (jpushMessageInfo.messageType.Contains(PushMessageType.Prompt.ToString())) + { + //寮�闂ㄦ帹閫� + this.UpdateDoorLockState(PushMessageType.Prompt); + } + }); + } + /// <summary> + /// 鏇存柊寮�閿佸浘鏍囧拰鐢垫睜鐘舵�� + /// </summary> + private void UpdateDoorLockState(PushMessageType pushMessageType) + { + int childrenCount = MainPage.BasePageView.ChildrenCount - 1; + for (int i = childrenCount; childrenCount > i; i--) + { + View view = MainPage.BasePageView.GetChildren(i); + if (view is VideoDoorLockPage) + { + VideoDoorLockPage videoDoorLockPage = (VideoDoorLockPage)view; + if (videoDoorLockPage != null) + { + videoDoorLockPage.UpdateState(pushMessageType); + } + + } + } + + } /// <summary> /// 鑾峰彇钀ょ煶瑙嗛銆愰棬閿併�戝垪琛� /// </summary> @@ -292,37 +351,6 @@ #endif return list; } - - /// <summary> - /// 鏇存柊寮�閿佸浘鏍囧拰鐢垫睜鐘舵�� - /// </summary> - public void UpdateDoorLockState(PushMessageType pushMessageType, string homeId, string spk, string stateContent) - { - if (spk != SPK.VideoDoorLock) - { - return; - } - this.MainThread(() => - { - int childrenCount = MainPage.BasePageView.ChildrenCount - 1; - for (int i = childrenCount; childrenCount > i; i--) - { - View view = MainPage.BasePageView.GetChildren(i); - if (view is VideoDoorLockPage) - { - VideoDoorLockPage videoDoorLockPage = (VideoDoorLockPage)view; - if (videoDoorLockPage != null) - { - videoDoorLockPage.UpdateState(pushMessageType); - } - - } - } - }); - - } - - #region --------- 鍔熻兘鏂囦欢淇濆瓨锛屽垹闄� -------- /// <summary> /// 淇濆瓨鏈湴鏂囦欢 @@ -482,6 +510,8 @@ new PublicAssmebly().TipMsgAutoClose(msg, false, time * 1000); }); } + + #endregion /// <summary> /// 寮规绫诲瀷 diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs index c9eec3f..42919c2 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs @@ -214,11 +214,11 @@ TextAlignment = TextAlignment.Center, UnSelectedImagePath = "FunctionIcon/DoorLock/Cell.png", }; - cellFrame.AddChidren(btnCell); + cellFrame.AddChidren(btnCell); - //闂ㄩ攣鐘舵�� - btnDoorLockIcon = new Button + //闂ㄩ攣鐘舵�� + btnDoorLockIcon = new Button { X = Application.GetRealWidth(65), Y = Application.GetRealHeight(108), @@ -317,7 +317,7 @@ //瀹炴椂瑙嗛 this.rtvFL.SetClickListener((fl, btnStateImage, btnStateText) => { - CommonMethod.Current.SkipRTVActivity(this.device.sid, this.device.deviceId, this.device.spk,false); + CommonMethod.Current.SkipRTVActivity(this.device.sid, this.device.deviceId, this.device.spk, false); }); //涓存椂瀵嗙爜 this.pswFL.SetClickListener((fl, btnStateImage, btnStateText) => @@ -363,7 +363,7 @@ }); } - + /// <summary> /// 閲嶆柊璁$畻瀹藉害(璁惧鍚嶇О,鎴块棿鎺т欢) @@ -392,15 +392,22 @@ { CommonMethod.Current.MainThread(() => { - if (this.btnDoorLockIcon != null && !this.btnDoorLockIcon.IsSelected) + if (pushMessageType == PushMessageType.Alarm) { - this.btnDoorLockIcon.IsSelected = false; + //闂ㄩ攣鐢垫睜鍊� + if (this.btnCell != null) + { + //videoDoorLockPage.btnCell.Text = ""; + } } - //闂ㄩ攣鐢垫睜鍊� - if (this.btnCell != null) + else { - //videoDoorLockPage.btnCell.Text = ""; + if (this.btnDoorLockIcon != null && !this.btnDoorLockIcon.IsSelected) + { + this.btnDoorLockIcon.IsSelected = false; + } } + }); } -- Gitblit v1.8.0