From 07466c19110693e3e439a7d7c8ad0bc21d9b3287 Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期三, 29 四月 2020 09:14:01 +0800 Subject: [PATCH] 优化代码,更改门锁需求接口 --- ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceAcDetailCardForm.cs | 172 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 127 insertions(+), 45 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceAcDetailCardForm.cs b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceAcDetailCardForm.cs old mode 100644 new mode 100755 index a8c383d..13fae51 --- a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceAcDetailCardForm.cs +++ b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceAcDetailCardForm.cs @@ -1,5 +1,4 @@ 锘縰sing Shared.Common; -using Shared.Phone.Device.AC; using Shared.Phone.UserCenter; using System; using System.Collections.Generic; @@ -13,7 +12,8 @@ /// </summary> public class DeviceAcDetailCardForm : DeviceDetailCardCommonForm { - #region 鈻� 鍙橀噺澹版槑___________________________ + #region 鈻� 鍙橀噺澹版槑___________________________ + /// <summary> /// 鐣岄潰涓婂彲浠ユ搷浣滅殑鎺т欢 /// </summary> @@ -66,11 +66,11 @@ public override void InitMiddleFrameAfter(FrameLayout frameWhiteBack) { //宸︽粦涓嶈兘 - this.ScrollEnabled = true; + this.ScrollEnabled = false; this.deviceAc = (AC)this.device; //鍏堟竻绌� this.listControl = new List<ButtonBase>(); - if (device.HadReadDeviceStatu == true && ACControlBase.IsOpen(deviceAc) == true) + if (device.HadReadDeviceStatu == true && DeviceAcDetailCardMethord.IsOpen(deviceAc) == true) { //璁剧疆鐘舵�佹枃瀛� 褰撳墠瀹ゆ俯 this.SetStatuText(deviceAc.currentLocalTemperature + "鈩�"); @@ -84,7 +84,7 @@ //娓呮礂婊ょ綉鎻愮ず鐨凢rameLayout this.frameClrean = new FrameLayout(); frameClrean.Width = Application.GetRealWidth(600); - frameClrean.Height = Application.GetMinRealAverage(69); + frameClrean.Height = this.GetPictrueRealSize(69); frameClrean.X = ControlCommonResourse.XXLeft; frameClrean.Y = Application.GetRealHeight(35); frameWhiteBack.AddChidren(frameClrean); @@ -112,17 +112,17 @@ /// <param name="frameWhiteBack"></param> private void InitAcControl(FrameLayout frameWhiteBack) { - bool isAcOpen = ACControlBase.IsOpen(deviceAc); + bool isAcOpen = DeviceAcDetailCardMethord.IsOpen(deviceAc); //绌鸿皟鎺т欢鐨勫鍣� var frameAcBack = new FrameLayout(); frameAcBack.Y = Application.GetRealHeight(412); - frameAcBack.Width = Application.GetMinRealAverage(671); - frameAcBack.Height = Application.GetMinRealAverage(671); + frameAcBack.Width = this.GetPictrueRealSize(671); + frameAcBack.Height = this.GetPictrueRealSize(671); frameAcBack.Gravity = Gravity.CenterHorizontal; frameWhiteBack.AddChidren(frameAcBack); - this.nowProgressValue = ACControlBase.GetCurrentModeTemperature(deviceAc); + this.nowProgressValue = DeviceAcDetailCardMethord.GetCurrentModeTemperature(deviceAc); if (nowProgressValue < 16) { nowProgressValue = 16; } if (nowProgressValue > 32) { nowProgressValue = 32; } //绌鸿皟鎺т欢 @@ -146,9 +146,9 @@ //绌鸿皟鎺т欢閲岄潰鐨勯偅涓樉绀哄埗鐑�,鍒跺喎鐨勬帶浠� this.btnNowModeView = new NormalViewControl(200, 55, true); - btnNowModeView.Y = Application.GetMinRealAverage(184); + btnNowModeView.Y = this.GetPictrueRealSize(184); btnNowModeView.Gravity = Gravity.CenterHorizontal; - btnNowModeView.Text = ACControlBase.GetModeNameByModeId(deviceAc.currentSystemMode); + btnNowModeView.Text = DeviceAcDetailCardMethord.GetModeNameByModeId(deviceAc.currentSystemMode); btnNowModeView.TextSize = 12; btnNowModeView.TextAlignment = TextAlignment.Center; frameAcBack.AddChidren(btnNowModeView); @@ -157,8 +157,8 @@ this.btnReduce = new IconViewControl(81); btnReduce.CanClick = isAcOpen; btnReduce.UnSelectedImagePath = "AC/Reduce.png"; - btnReduce.X = Application.GetMinRealAverage(132); - btnReduce.Y = Application.GetMinRealAverage(268); + btnReduce.X = this.GetPictrueRealSize(132); + btnReduce.Y = this.GetPictrueRealSize(268); frameAcBack.AddChidren(btnReduce); btnReduce.ButtonClickEvent += (sender, e) => { @@ -173,7 +173,7 @@ this.btnAdd = new IconViewControl(81); btnAdd.CanClick = isAcOpen; btnAdd.UnSelectedImagePath = "AC/Add.png"; - btnAdd.X = frameAcBack.Width - Application.GetMinRealAverage(81 + 132); + btnAdd.X = frameAcBack.Width - this.GetPictrueRealSize(81 + 132); btnAdd.Y = btnReduce.Y; frameAcBack.AddChidren(btnAdd); btnAdd.ButtonClickEvent += (sender, e) => @@ -187,7 +187,7 @@ //鈩� var btnUint = new NormalViewControl(100, 66, true); - btnUint.Y = Application.GetMinRealAverage(366); + btnUint.Y = this.GetPictrueRealSize(366); btnUint.Gravity = Gravity.CenterHorizontal; btnUint.TextAlignment = TextAlignment.Center; btnUint.Text = "鈩�"; @@ -218,14 +218,14 @@ btnFanSwingMode.X = XX; btnFanSwingMode.Y = YY; - btnFanSwingMode.UnSelectedImagePath = ACControlBase.GetFanSwingModeUnSelectedImagePathByFanSwingModeId(deviceAc.currentFanSwingMode); - btnFanSwingMode.SelectedImagePath = ACControlBase.GetFanSwingModeSelectedImagePathByFanSwingModeId(deviceAc.currentFanSwingMode); + btnFanSwingMode.UnSelectedImagePath = DeviceAcDetailCardMethord.GetFanSwingModeUnSelectedImagePathByFanSwingModeId(deviceAc.currentFanSwingMode); + btnFanSwingMode.SelectedImagePath = DeviceAcDetailCardMethord.GetFanSwingModeSelectedImagePathByFanSwingModeId(deviceAc.currentFanSwingMode); btnFanSwingMode.IsSelected = isAcOpen; frameWhiteBack.AddChidren(btnFanSwingMode); btnFanSwingMode.ButtonClickEvent += (sender, e) => { //绌鸿皟鎵撳紑鐘舵�佹墠鑳界偣鍑� - if (ACControlBase.IsOpen(deviceAc) == true) + if (DeviceAcDetailCardMethord.IsOpen(deviceAc) == true) { //閫夋嫨鎽嗛 this.SelectFanSwing(frameWhiteBack); @@ -240,8 +240,8 @@ var btnModel = new IconViewControl(81); btnModel.X = XX; btnModel.Y = YY; - btnModel.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(deviceAc.currentSystemMode); - btnModel.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(deviceAc.currentSystemMode); + btnModel.UnSelectedImagePath = DeviceAcDetailCardMethord.GetModeUnSelectedImagePathByModeId(deviceAc.currentSystemMode); + btnModel.SelectedImagePath = DeviceAcDetailCardMethord.GetModeSelectedImagePathByModeId(deviceAc.currentSystemMode); btnModel.IsSelected = isAcOpen; frameWhiteBack.AddChidren(btnModel); XX = btnModel.Right + IconSpace; @@ -249,7 +249,7 @@ btnModel.ButtonClickEvent += (sender, e) => { //绌鸿皟鎵撳紑鐘舵�佹墠鑳界偣鍑� - if (ACControlBase.IsOpen(deviceAc) == true) + if (DeviceAcDetailCardMethord.IsOpen(deviceAc) == true) { //閫夋嫨妯″紡 this.SelectAcModel(frameWhiteBack); @@ -275,15 +275,15 @@ var btnFanMode = new IconViewControl(81); btnFanMode.X = XX; btnFanMode.Y = YY; - btnFanMode.UnSelectedImagePath = ACControlBase.GetFanModeUnSelectedImagePathByFanModeId(deviceAc.currentFanMode); - btnFanMode.SelectedImagePath = ACControlBase.GetFanModeSelectedImagePathByFanModeId(deviceAc.currentFanMode); + btnFanMode.UnSelectedImagePath = DeviceAcDetailCardMethord.GetFanModeUnSelectedImagePathByFanModeId(deviceAc.currentFanMode); + btnFanMode.SelectedImagePath = DeviceAcDetailCardMethord.GetFanModeSelectedImagePathByFanModeId(deviceAc.currentFanMode); btnFanMode.IsSelected = isAcOpen; frameWhiteBack.AddChidren(btnFanMode); this.listControl.Add(btnFanMode); btnFanMode.ButtonClickEvent += (sender, e) => { //绌鸿皟鎵撳紑鐘舵�佹墠鑳界偣鍑� - if (ACControlBase.IsOpen(deviceAc) == true) + if (DeviceAcDetailCardMethord.IsOpen(deviceAc) == true) { //閫夋嫨妯″紡 this.SelectAcWindSpeed(frameWhiteBack); @@ -358,14 +358,35 @@ //鍙戦�佽繘搴﹀�� if (deviceAc.currentSystemMode == 3 || deviceAc.currentSystemMode == 8) { + //濡傛灉浣忓畢鏄櫄鎷熶綇瀹� + if (Common.Config.Instance.Home.IsVirtually == true) + { + this.canSetProgress = true; + deviceAc.currentCoolingSetpoint = value; + return; + } deviceAc.SetCoolingTemperatureAsync(value * 100); } else if (deviceAc.currentSystemMode == 4) { + //濡傛灉浣忓畢鏄櫄鎷熶綇瀹� + if (Common.Config.Instance.Home.IsVirtually == true) + { + this.canSetProgress = true; + deviceAc.currentHeatingSetpoint = value; + return; + } deviceAc.SetHeatingTemperatureAsync(value * 100); } else if (deviceAc.currentSystemMode == 1) { + //濡傛灉浣忓畢鏄櫄鎷熶綇瀹� + if (Common.Config.Instance.Home.IsVirtually == true) + { + this.canSetProgress = true; + deviceAc.currentAutoSetpoint = value; + return; + } deviceAc.SetAutoTemperatureAsync(value * 100); } } @@ -480,6 +501,16 @@ /// <param name="fanSwingMode">Fan mode.</param> private void SetFanSwingComand(AC.FanSwingMode fanSwingMode) { + //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鍒欑洿鎺ヤ慨鏀圭紦瀛� + if (Common.Config.Instance.Home.IsVirtually == true) + { + deviceAc.currentFanSwingMode = (int)fanSwingMode; + var tempDevice = new CommonDevice(); + tempDevice.DeviceStatusReport = new CommonDevice.DeviceStatusReportData() { CluterID = 514 }; + tempDevice.DeviceStatusReport.AttriBute = new List<CommonDevice.AttributeDataObj>() { new CommonDevice.AttributeDataObj() { AttributeId = 4096 } }; + this.CheckResponeResultStatu(ReceiveComandDiv.A璁惧灞炴�т笂鎶�, tempDevice); + return; + } var oldModel = (AC.FanSwingMode)deviceAc.currentFanSwingMode; if (oldModel == fanSwingMode) { @@ -495,14 +526,14 @@ HdlThreadLogic.Current.RunMain(() => { //杩樺師鐘舵�� - listControl[0].SelectedImagePath = ACControlBase.GetFanSwingModeSelectedImagePathByFanSwingMode(oldModel); - listControl[0].UnSelectedImagePath = ACControlBase.GetFanSwingModeUnSelectedImagePathByFanSwingMode(oldModel); + listControl[0].SelectedImagePath = DeviceAcDetailCardMethord.GetFanSwingModeSelectedImagePathByFanSwingMode(oldModel); + listControl[0].UnSelectedImagePath = DeviceAcDetailCardMethord.GetFanSwingModeUnSelectedImagePathByFanSwingMode(oldModel); }); } }); - listControl[0].SelectedImagePath = ACControlBase.GetFanSwingModeSelectedImagePathByFanSwingMode(fanSwingMode); - listControl[0].UnSelectedImagePath = ACControlBase.GetFanSwingModeUnSelectedImagePathByFanSwingMode(fanSwingMode); + listControl[0].SelectedImagePath = DeviceAcDetailCardMethord.GetFanSwingModeSelectedImagePathByFanSwingMode(fanSwingMode); + listControl[0].UnSelectedImagePath = DeviceAcDetailCardMethord.GetFanSwingModeUnSelectedImagePathByFanSwingMode(fanSwingMode); deviceAc.SetFanSwingAsyncMode(fanSwingMode); } @@ -645,6 +676,32 @@ //閫夋嫨鐨勬槸鍚屼竴涓� return; } + + //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鍒欑洿鎺ヤ慨鏀圭紦瀛� + if (Common.Config.Instance.Home.IsVirtually == true) + { + deviceAc.currentSystemMode = (int)mode; + var tempDevice = new CommonDevice(); + tempDevice.DeviceStatusReport = new CommonDevice.DeviceStatusReportData() { CluterID = 513 }; + tempDevice.DeviceStatusReport.AttriBute = new List<CommonDevice.AttributeDataObj>() { new CommonDevice.AttributeDataObj() { AttributeId = 28 } }; + this.CheckResponeResultStatu(ReceiveComandDiv.A璁惧灞炴�т笂鎶�, tempDevice); + //閫侀鐨勬椂鍊�,娌℃湁娓╁害鐨勬蹇� + if (mode == AC.AcMode.FanOnly) + { + //鍔犲噺涓嶅彲浠ョ偣鍑� + btnAdd.CanClick = false; + btnReduce.CanClick = false; + } + //濡傛灉鍘熸潵鐨勭姸鎬佹槸閫侀鐨勮瘽 + else if (oldModel == AC.AcMode.FanOnly) + { + //鍔犲噺鍙互鐐瑰嚮 + btnAdd.CanClick = true; + btnReduce.CanClick = true; + } + return; + } + //妫�娴嬫槸鍚﹁幏鍙栫綉鍏冲弽棣堢殑缁撴灉,濡傛灉缃戝叧娌℃湁鍥炲,鍒欎細寮瑰嚭娑堟伅 this.StartCheckResponeResult(this.listControl, (result) => { @@ -654,8 +711,8 @@ HdlThreadLogic.Current.RunMain(() => { //杩樺師鐘舵�� - listControl[1].SelectedImagePath = ACControlBase.GetModeSelectedImagePathByMode(oldModel); - listControl[1].UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByMode(oldModel); + listControl[1].SelectedImagePath = DeviceAcDetailCardMethord.GetModeSelectedImagePathByMode(oldModel); + listControl[1].UnSelectedImagePath = DeviceAcDetailCardMethord.GetModeUnSelectedImagePathByMode(oldModel); }); } else @@ -685,8 +742,8 @@ } }); - listControl[1].SelectedImagePath = ACControlBase.GetModeSelectedImagePathByMode(mode); - listControl[1].UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByMode(mode); + listControl[1].SelectedImagePath = DeviceAcDetailCardMethord.GetModeSelectedImagePathByMode(mode); + listControl[1].UnSelectedImagePath = DeviceAcDetailCardMethord.GetModeUnSelectedImagePathByMode(mode); deviceAc.SetSystemModeAsync(mode); } @@ -718,6 +775,20 @@ /// <param name="isOpen"></param> private void SetSwitchComand(bool isOpen) { + //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鍒欑洿鎺ヤ慨鏀圭紦瀛� + if (Common.Config.Instance.Home.IsVirtually == true) + { + deviceAc.currentSystemMode = isOpen == true ? 3 : 0; + var tempDevice = new CommonDevice(); + tempDevice.DeviceStatusReport = new CommonDevice.DeviceStatusReportData() { CluterID = 513 }; + tempDevice.DeviceStatusReport.AttriBute = new List<CommonDevice.AttributeDataObj>() { new CommonDevice.AttributeDataObj() { AttributeId = 28 } }; + this.CheckResponeResultStatu(ReceiveComandDiv.A璁惧灞炴�т笂鎶�, tempDevice); + //鍔犲噺鏄惁鍙互鐐瑰嚮 + btnAdd.CanClick = isOpen; + btnReduce.CanClick = isOpen; + return; + } + //妫�娴嬫槸鍚﹁幏鍙栫綉鍏冲弽棣堢殑缁撴灉,濡傛灉缃戝叧娌℃湁鍥炲,鍒欎細寮瑰嚭娑堟伅 this.StartCheckResponeResult(this.listControl, (result) => { @@ -853,6 +924,17 @@ rowFrame.ButtonClickEvent += (sender, e) => { ((DialogCommonForm)frameBack.Parent.Parent).CloseForm(); + + //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鍒欑洿鎺ヤ慨鏀圭紦瀛� + if (Common.Config.Instance.Home.IsVirtually == true) + { + deviceAc.currentFanMode = (int)i_div; + var tempDevice = new CommonDevice(); + tempDevice.DeviceStatusReport = new CommonDevice.DeviceStatusReportData() { CluterID = 514 }; + tempDevice.DeviceStatusReport.AttriBute = new List<CommonDevice.AttributeDataObj>() { new CommonDevice.AttributeDataObj() { AttributeId = 0 } }; + this.CheckResponeResultStatu(ReceiveComandDiv.A璁惧灞炴�т笂鎶�, tempDevice); + return; + } //鍙戦�侀閫熷懡浠� this.SetAcWindSpeedComand(i_div); }; @@ -879,14 +961,14 @@ HdlThreadLogic.Current.RunMain(() => { //杩樺師鐘舵�� - listControl[3].SelectedImagePath = ACControlBase.GetFanModeSelectedImagePathByFanMode(oldModel); - listControl[3].UnSelectedImagePath = ACControlBase.GetFanModeSelectedImagePathByFanMode(oldModel); + listControl[3].SelectedImagePath = DeviceAcDetailCardMethord.GetFanModeSelectedImagePathByFanMode(oldModel); + listControl[3].UnSelectedImagePath = DeviceAcDetailCardMethord.GetFanModeSelectedImagePathByFanMode(oldModel); }); } }); - listControl[3].SelectedImagePath = ACControlBase.GetFanModeSelectedImagePathByFanMode(mode); - listControl[3].UnSelectedImagePath = ACControlBase.GetFanModeSelectedImagePathByFanMode(mode); + listControl[3].SelectedImagePath = DeviceAcDetailCardMethord.GetFanModeSelectedImagePathByFanMode(mode); + listControl[3].UnSelectedImagePath = DeviceAcDetailCardMethord.GetFanModeSelectedImagePathByFanMode(mode); deviceAc.SetFanModeAsync(mode); } @@ -1007,11 +1089,11 @@ arcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCArcScaleSeekBarStartColor, ZigbeeColor.Current.GXCArcScaleSeekBarEndColor); } } - this.listControl[1].SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(deviceAc.currentSystemMode); - this.listControl[1].UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(deviceAc.currentSystemMode); - this.btnNowModeView.Text = ACControlBase.GetModeNameByModeId(deviceAc.currentSystemMode); - arcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(deviceAc); - arcScaleSeekBar.IsClickable = ACControlBase.IsOpen(deviceAc); + this.listControl[1].SelectedImagePath = DeviceAcDetailCardMethord.GetModeSelectedImagePathByModeId(deviceAc.currentSystemMode); + this.listControl[1].UnSelectedImagePath = DeviceAcDetailCardMethord.GetModeUnSelectedImagePathByModeId(deviceAc.currentSystemMode); + this.btnNowModeView.Text = DeviceAcDetailCardMethord.GetModeNameByModeId(deviceAc.currentSystemMode); + arcScaleSeekBar.Progress = DeviceAcDetailCardMethord.GetCurrentModeTemperature(deviceAc); + arcScaleSeekBar.IsClickable = DeviceAcDetailCardMethord.IsOpen(deviceAc); //璁剧疆鐘舵�佹枃瀛� 褰撳墠瀹ゆ俯 this.SetStatuText(deviceAc.currentLocalTemperature + "鈩�"); //閫侀娌℃湁娓╁害鐨勬蹇� @@ -1049,8 +1131,8 @@ { this.listControl[3].IsSelected = true; } - this.listControl[3].SelectedImagePath = ACControlBase.GetFanModeSelectedImagePathByFanModeId(deviceAc.currentFanMode); - this.listControl[3].UnSelectedImagePath = ACControlBase.GetFanModeUnSelectedImagePathByFanModeId(deviceAc.currentFanMode); + this.listControl[3].SelectedImagePath = DeviceAcDetailCardMethord.GetFanModeSelectedImagePathByFanModeId(deviceAc.currentFanMode); + this.listControl[3].UnSelectedImagePath = DeviceAcDetailCardMethord.GetFanModeUnSelectedImagePathByFanModeId(deviceAc.currentFanMode); }); //宸茬粡鎺ユ敹鍒扮綉鍏崇殑鍙嶉 return true; @@ -1064,8 +1146,8 @@ { this.listControl[0].IsSelected = true; } - this.listControl[0].SelectedImagePath = ACControlBase.GetFanSwingModeSelectedImagePathByFanSwingModeId(deviceAc.currentFanSwingMode); - this.listControl[0].UnSelectedImagePath = ACControlBase.GetFanSwingModeUnSelectedImagePathByFanSwingModeId(deviceAc.currentFanSwingMode); + this.listControl[0].SelectedImagePath = DeviceAcDetailCardMethord.GetFanSwingModeSelectedImagePathByFanSwingModeId(deviceAc.currentFanSwingMode); + this.listControl[0].UnSelectedImagePath = DeviceAcDetailCardMethord.GetFanSwingModeUnSelectedImagePathByFanSwingModeId(deviceAc.currentFanSwingMode); }); //宸茬粡鎺ユ敹鍒扮綉鍏崇殑鍙嶉 return true; -- Gitblit v1.8.0