From 98ceb6bd2021f9ff136cda27eef28676dd7b5d92 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 21 五月 2020 13:24:02 +0800 Subject: [PATCH] 最后的版本 --- ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs | 9 ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs | 12 ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs | 5 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs | 4 ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs | 46 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs | 80 +++--- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 337 +++++-------------------- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs | 6 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs | 10 ZigbeeApp/Shared/Common/Device.cs | 2 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs | 9 ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs | 224 +++++++++-------- 12 files changed, 264 insertions(+), 480 deletions(-) diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs index 8426b1a..6431441 100755 --- a/ZigbeeApp/Shared/Common/Device.cs +++ b/ZigbeeApp/Shared/Common/Device.cs @@ -2894,7 +2894,7 @@ this.dicDeviceModelIdEnum["MGCD01/ZB.10"] = "1306-1200-60000";//鍚搁《鐕冩皵浼犳劅鍣� //PM2.5绌烘皵璐ㄩ噺浼犳劅鍣� 銆愯璁惧灞炰簬绗笁鏂硅澶囷紝娌℃湁闀滃儚ID銆� - this.dicDeviceModelIdEnum["SZ_PM100"] = "1307-1200-60000";//PM2.5绌烘皵璐ㄩ噺浼犳劅鍣� + this.dicDeviceModelIdEnum["MSPM25/M-ZB.10"] = "1307-1200-60000";//PM2.5绌烘皵璐ㄩ噺浼犳劅鍣� //=========鈽呪槄缁х數鍣ㄧ被(2300-2499)鈽呪槄========= this.dicDeviceModelIdEnum["MPR0310-ZB.10"] = "2300-2300-60001";//3璺户鐢靛櫒灏忔ā鍧� diff --git a/ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs b/ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs index 4ff409d..0c86547 100755 --- a/ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs +++ b/ZigbeeApp/Shared/Phone/Category/AddOrEditorSceneForm.cs @@ -864,6 +864,15 @@ //鍙樻洿鎴块棿 HdlSceneLogic.Current.ChangedSceneRoom(this.editorScene, this.nowRoomId); } + else + { + //绉婚櫎鍑烘埧闂� + var room = HdlRoomLogic.Current.GetRoomBySceneId(this.editorScene.Id); + if (room != null) + { + HdlSceneLogic.Current.DeleteSceneFromRoom(room, this.editorScene); + } + } //鍥剧墖鏀瑰彉浜� if (isScenePictrueChanged == true) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs index db1cadf..4e0ee88 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/SkipView.cs @@ -13,13 +13,14 @@ /// <summary> /// 鍏跺畠鐣岄潰璺宠繘鏉ョ殑鍏ュ彛 /// </summary> - public static void SkipAddLogic(int intvalue, DoorLock doorLock = null, UserCenter.MemberInfoRes accountObj = null) + public async static void SkipAddLogic(int intvalue, DoorLock doorLock = null, UserCenter.MemberInfoRes accountObj = null) { /// 0.姝e父鑷姩鍖�;1.闂ㄩ攣鑷姩鍖�;2.Sone闂ㄩ攣; switch (intvalue) { case 0: { + //new涓�涓柊閫昏緫瀵硅薄锛� //鏂板姝e父鑷姩鍖栧叆鍙� Common.Logic.CurrentLogic = new Common.Logic(); @@ -60,7 +61,7 @@ doorLockLogicList.Show(); } break; - + } } diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs index cbe8716..ca7438c 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs @@ -38,7 +38,7 @@ /// <summary> /// 鏃堕棿鎴� /// </summary> - public int timeLong = 0; + public long timeLong = 0; public async void Show() { @@ -80,14 +80,8 @@ { //杩涙潵鏇存柊涓�娆″�� logicId = logic.LogicId; - timeValue = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]); - if (UserCenter.UserCenterResourse.HideOption.DoorLockNomallyOpenTimeMode == 1) - { - //寮哄埗鍙樻洿鏃堕棿妯″紡涓哄垎閽� - timeValue = timeValue / 60; - } - - timeLong = int.Parse(logic.Conditions[0]["TriggerTime"]); + timeValue = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]) / 3600; + timeLong = long.Parse(logic.Conditions[0]["TriggerTime"]); } catch { } @@ -104,6 +98,7 @@ }; middle.AddChidren(fLayout); #endregion + #region 甯稿紑鑷姩鍖� ///绗笁鍧楃涓�绾х埗鎺т欢 listLogicFl = new FrameLayout @@ -309,53 +304,59 @@ } }; - ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢 - var timeTextBtn = new Button - { - Y = Application.GetRealHeight(127 + 69), - X = Application.GetRealWidth(86),//125 - Width = Application.GetRealWidth(907),//634 + 200 - Height = Application.GetRealHeight(60), - TextSize = 15, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - }; + if (logicId != 0) { + ///鏄剧ず澶辨晥璁剧疆鏃堕棿鏂囨湰鎺т欢 + var timeTextBtn = new Button + { + Y = Application.GetRealHeight(127 + 69), + X = Application.GetRealWidth(80),//125 + Width = Application.GetRealWidth(907+12),//634 + 200 + Height = Application.GetRealHeight(60), + TextSize = 15, + TextColor = ZigbeeColor.Current.LogicTextBlackColor, + }; openModeFl.AddChidren(timeTextBtn); + string text1 = Language.StringByID(MyInternationalizationString.timeSensitive); string text2 = Language.StringByID(MyInternationalizationString.yearSone); string text3 = Language.StringByID(MyInternationalizationString.monthSone); string text4 = Language.StringByID(MyInternationalizationString.numberSone); string text5 = Language.StringByID(MyInternationalizationString.hour1); string text6 = Language.StringByID(MyInternationalizationString.executeSone); + string year = ""; + string month = ""; + int days = 0; + int hour = 0; + int minute = 0; + if (_if) { - ///绗竴娆¤繘鏉ヨ鍙栫綉鍏虫椂闂达紱 var datetime = GetLocalTime(timeLong); ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈� - var y = datetime.Year.ToString();//閭d竴骞� - var m = datetime.Month.ToString();//閭d竴鏈� - var d = datetime.ToString("dd");//閭d竴澶� - var h = int.Parse(datetime.ToString("HH"));//灏忔椂 - int minute = datetime.Minute;//鍒嗛挓 - timeTextBtn.Text = text1 + y + text2 + m + text3 + d + text4 + h + text5 + minute.ToString() + text6; - + year = datetime.Year.ToString();//閭d竴骞� + month = datetime.Month.ToString();//閭d竴鏈� + days = int.Parse(datetime.ToString("dd"));//閭d竴澶� + hour = int.Parse(datetime.ToString("HH"));//灏忔椂 + minute = datetime.Minute;//鍒嗛挓 } else { - ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈� - var y = DateTime.Now.Year.ToString();//閭d竴骞� - var m = DateTime.Now.Month.ToString();//閭d竴鏈� + + ///鍦ㄥ綋鍓嶇晫闈㈢紪杈戞樉绀虹郴缁熸椂闂�(涓嶈兘姣忎竴娆$紪杈戦兘鍘荤綉鍏虫嬁鏁版嵁) + year = DateTime.Now.Year.ToString();//閭d竴骞� + month = DateTime.Now.Month.ToString();//閭d竴鏈� var d = DateTime.Now.ToString("dd");//閭d竴澶� var h = int.Parse(DateTime.Now.ToString("HH"));//灏忔椂 - int dayInt = (h + timeValue) / 24;//绠楀嚭鍑犲ぉ鍚庢墽琛� - int hour = (h + timeValue) % 24;//绠楀嚭鍑犲ぉ鍚庨偅涓椂闂存墽琛� - int days = int.Parse(d) + dayInt; - int minute = DateTime.Now.Minute;//鍒嗛挓 - timeTextBtn.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5 + minute.ToString() + text6; + int dayInt = (h + timeValue) / 24;//璁剧疆鏃堕棿+褰撳墠绯荤粺鏃堕棿鏄惁瓒呭嚭24灏忔椂 + hour = (h + timeValue) % 24;//璁剧疆鏃堕棿+褰撳墠绯荤粺鏃堕棿鏄惁瓒呭嚭24灏忔椂鍓╀笅澶氬皯灏忔椂 + days = int.Parse(d) + dayInt;//褰撳墠绯荤粺澶╂暟+鎵ц鍚庡ぉ鏁� + minute = DateTime.Now.Minute;//鍒嗛挓 } + timeTextBtn.Text = text1 + year + text2 + month + text3 + days.ToString() + text4 + hour.ToString() + text5 + minute.ToString() + text6; } @@ -410,66 +411,66 @@ }; modeFl.AddChidren(clickBtn); clickBtn.MouseUpEventHandler += (sender, e) => - { + { - LogicView.TipView.ShowConfrimTip(() => - {///鍐嶆纭 - LogicView.TipView.ShowInputTip(true, async (str) => - {///纭鍙戦�佸懡浠� - CommonPage.Loading.Start(); - try - { - ///xm - var result = await UserCenter.DoorLock.DoorLockCommonInfo.SetNormallyOpenModeFuncAsync(Send.CurrentDoorLock); - if (!result) - { - LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.openFailed)); - return; - } - else - { - ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛� - SkipView.GetLogicAll(Send.CurrentDoorLock);//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫 - var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫 - if (addResult == 0) - { - ///鍙璇村鏋滃父寮�妯″紡寮�锛屽垱寤鸿嚜鍔ㄥ寲澶辫触锛岄偅涔堝皢瑕佸彂涓�鏉″父寮�妯″紡鍏抽棴鍛戒护; - UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock); - ///鎻愮ず澶辫触 - LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.addFailed)); - return; - } - else - { - logicId = addResult; - timeValue = int.Parse(str); - Send.CurrentDoorLock.IsDoorLockNormallyMode = true; - _if = false; - ModeView(); - ///娣诲姞APP寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� - UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock, 9001, string.Empty); - } + LogicView.TipView.ShowConfrimTip(() => + {///鍐嶆纭 + LogicView.TipView.ShowInputTip(true, async (str) => + {///纭鍙戦�佸懡浠� + CommonPage.Loading.Start(); + try + { + ///xm + var result = await UserCenter.DoorLock.DoorLockCommonInfo.SetNormallyOpenModeFuncAsync(Send.CurrentDoorLock); + if (!result) + { + LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.openFailed)); + return; + } + else + { + ///鍥犱负鏈夊父寮�妯″紡涓嬫墠鍙互鍒涘缓澶辨晥閫昏緫锛� + SkipView.GetLogicAll(Send.CurrentDoorLock);//鍒犻櫎涔嬪墠鎵�鏈夊け鏁堥�昏緫 + var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//娣诲姞涓�鏉″け鏁堥�昏緫 + if (addResult == 0) + { + ///鍙璇村鏋滃父寮�妯″紡寮�锛屽垱寤鸿嚜鍔ㄥ寲澶辫触锛岄偅涔堝皢瑕佸彂涓�鏉″父寮�妯″紡鍏抽棴鍛戒护; + UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock); + ///鎻愮ず澶辫触 + LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.addFailed)); + return; + } + else + { + logicId = addResult; + timeValue = int.Parse(str); + Send.CurrentDoorLock.IsDoorLockNormallyMode = true; + _if = false; + ModeView(); + ///娣诲姞APP寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� + UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock, 9001, string.Empty); + } - } - } - catch - { + } + } + catch + { - } - finally - { - Application.RunOnMainThread(() => - { - CommonPage.Loading.Hide(); + } + finally + { + Application.RunOnMainThread(() => + { + CommonPage.Loading.Hide(); - }); - } - }); + }); + } + }); - }); + }); - }; + }; } listLogicFl.Y = fLayout.Bottom; listLogicFl.X = Application.GetRealWidth(58); @@ -477,7 +478,7 @@ listLogicFl.Width = Application.GetRealWidth(1022); listLogicFl.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor; - verticalRefresh.Y = Application.GetRealHeight(187); + verticalRefresh.Y = Application.GetRealHeight(187); verticalRefresh.X = Application.GetRealWidth(46); verticalRefresh.Height = listLogicFl.Height - Application.GetRealHeight(187);//鍔ㄦ�佹敼鍔ㄤ笂涓嬫粦鍔╲iew楂樺害; verticalRefresh.Width = listLogicFl.Width - Application.GetRealWidth(46); @@ -488,10 +489,10 @@ /// <param name="yes"></param> private async void Read(bool yes) { - if (yes) - { - CommonPage.Loading.Start(); - } + //if (yes) + // { + CommonPage.Loading.Start(); + // } try { if (Common.Logic.SoneLogicList.Count == 0) @@ -519,13 +520,20 @@ { var dd = e.Message; } - //鑷姩鍖� - RefreshView(); - if (yes) + finally { - CommonPage.Loading.Hide(); + Application.RunOnMainThread(() => + { + // if (yes) + // { + CommonPage.Loading.Hide(); + // } + //鑷姩鍖� + RefreshView(); + }); } + } /// <summary> /// 璁板綍宸︽粦鐘舵�� @@ -542,6 +550,7 @@ { if (!SkipView.ExistLogic(logic, Send.CurrentDoorLock)) { + ///涓嶆槸璇ラ棬閿佽嚜鍔ㄥ寲灏变笉鏄剧ず鍑烘潵; continue; } #region 鑷姩鍖栧竷灞�View @@ -701,17 +710,22 @@ }; } } - /// <summary> - /// 灏哢NIX鏃堕棿鎴宠浆鎹㈡垚绯荤粺鏃堕棿(绮剧‘鍒扮) + /// 鏃堕棿鎴宠浆鎹㈡垚鏃堕棿鏍煎紡 + /// </summary> + /// <param name="unixTimeStamp">鏃堕棿鎴�</param> /// <returns></returns> - public DateTime GetLocalTime(int unixTimeStamp) + public DateTime GetLocalTime(long unixTimeStamp) { - DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); - long lTime = long.Parse(unixTimeStamp + "0000000"); - TimeSpan toNow = new TimeSpan(lTime); - DateTime dtResult = dtStart.Add(toNow); - return dtResult; + //DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); + //long lTime = long.Parse(unixTimeStamp + "0000000"); + //TimeSpan toNow = new TimeSpan(lTime); + //DateTime dtResult = dtStart.Add(toNow); + //return dtResult; + + System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 褰撳湴鏃跺尯 + return startTime.AddMilliseconds(unixTimeStamp); + } } } diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs index 484e815..b503b18 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs @@ -56,8 +56,11 @@ /// 鍒濆鍖栨帶浠�(浜嬩欢瑕佽嚦浜庡畠涔嬪墠) /// </summary> /// <param name="listTitleText">鑿滃崟鏂囧瓧鍒楄〃</param> - public void InitControl(List<string> listTitleText) + /// <param name="rightSpace">鍙宠竟绌虹櫧瀹藉害</param> + public void InitControl(List<string> listTitleText, int rightSpace = 0) { + if (listTitleText.Count == 0) { return; } + var btnTemp = new NormalViewControl(10, 10, false); btnTemp.TextSize = 16; @@ -69,6 +72,8 @@ //寮�濮嬪垵濮嬪寲 XX = this.InitTitleTextControl(i, listTitleText[i], btnTemp.GetRealWidthByText(), XX); } + //璋冩暣鎺т欢瀹藉害 + this.Width = XX + Application.GetRealWidth(rightSpace); //鍥炶皟鏂规硶 this.frameDefult.ButtonClickEvent?.Invoke(null, null); } @@ -109,7 +114,7 @@ //搴曠嚎 var btnLine = new NormalViewControl(40, 10, true); - btnLine.Y = btnName.Bottom + Application.GetRealHeight(14); + btnLine.Y = btnName.Bottom + Application.GetRealHeight(6); btnLine.X = btnName.X + btnName.Width / 2 - Application.GetRealWidth(40) / 2; btnLine.Radius = (uint)Application.GetRealHeight(10) / 2; btnLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs index f64c0b6..2e8ec34 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayReceiveLogic.cs @@ -600,8 +600,7 @@ /// <param name="receiveData"></param> private void DoorLockDeviceReportPush(JObject receiveData) { - //鍙湁寰愭鐨勯棬閿佺晫闈㈡病鏈夋墦寮�鐨勬儏鍐典笅,鎵嶄細澶勭悊杩欎釜涓滆タ - if (ControlCommonResourse.IsDoorLockPageOpen == false && UserCenterResourse.UserInfo.AuthorityNo == 1) + if (UserCenterResourse.UserInfo.AuthorityNo == 1) { var device = Common.LocalDevice.Current.GetDevice(receiveData.Value<string>("DeviceAddr"), receiveData.Value<int>("Epoint")); if (device.Type != DeviceType.DoorLock) @@ -609,31 +608,27 @@ //瀹冧笉鏄棬閿� return; } + var info = Newtonsoft.Json.JsonConvert.DeserializeObject<DoorLockAlarmsResult>(receiveData["Data"].ToString()); if (info.Clusterid == 257) { - //甯稿紑妯″紡鍏抽棴 - if (info.AlarmCode == 217 || info.AlarmCode == 219) + //216锛氶攣涓婅缃殑甯稿紑 + if (info.AlarmCode == 216) { - HdlThreadLogic.Current.RunThread(async () => + HdlThreadLogic.Current.RunMain(() => { - //娓╁眳鍩庣殑瑕佺綉鍏充腑鏄惁鏈夐�昏緫瀛樺湪 - //鍙傛暟:2-甯稿紑鑷姩鍖�;3-澶辨晥鏃堕棿鑷姩鍖� - var result = await Shared.Phone.Device.Logic.SkipView.Exist(3, (ZigBee.Device.DoorLock)device); - HdlThreadLogic.Current.RunMain(() => + //鏇存柊闂ㄩ攣娑夊強鐨勫父寮�/甯稿叧鐨勭晫闈� + if (UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction != null) { - //寮瑰嚭寰愭鐨勯偅涓獥鍙� - DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidDialog((ZigBee.Device.DoorLock)device, DoorLock.DoorLockCommonInfo.DoorLockMessType.ServicePush, - result != 0 ? true : false, null); - }); + UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction(device.DeviceAddr + device.DeviceEpoint, true); + } }); } } + //鏄剧ず鏈夋柊娑堟伅鐨勭壒鏁� + this.ShowHadNewMessageAppeal(); } - //鏄剧ず鏈夋柊娑堟伅鐨勭壒鏁� - this.ShowHadNewMessageAppeal(); } - #endregion #region 鈻� 璁惧鍦ㄧ嚎鐘舵�佹洿鏂板弽棣坃______________ @@ -642,7 +637,7 @@ /// 璁惧鍦ㄧ嚎鐘舵�佹洿鏂板弽棣� /// </summary> /// <param name="receiveData"></param> - private void DeviceOnlineChangePush (JObject receiveData) + private void DeviceOnlineChangePush(JObject receiveData) { if (this.dicDeviceEvent.Count == 0) { @@ -827,29 +822,36 @@ //鏄剧ず鏈夋柊娑堟伅鐨勭壒鏁� this.ShowHadNewMessageAppeal(); - //杩欎釜涓滆タ鏆傛椂涓嶅鐞� - ////鍙湁寰愭鐨勯棬閿佺晫闈㈡病鏈夋墦寮�鐨勬儏鍐典笅,鎵嶄細澶勭悊杩欎釜涓滆タ - //if (ControlCommonResourse.IsDoorLockPageOpen == false && UserCenterResourse.UserInfo.AuthorityNo == 1) - //{ - // var device = Common.LocalDevice.Current.GetDevice(receiveData.Value<string>("DeviceAddr"), receiveData.Value<int>("Epoint")); - // if (device.Type != DeviceType.DoorLock) - // { - // return; - // } - // //鑷姩鍖栨墽琛� 甯稿紑鍏抽棴 - // var data = Newtonsoft.Json.JsonConvert.DeserializeObject<LogicPushResult>(receiveData["Data"].ToString()); - // if (data.ActionData != null && data.ActionData.Actiontype == 8 - // && data.ActionData.PassDataString == "055704010113") - // { - // HdlThreadLogic.Current.RunMain(() => - // { - // //寮瑰嚭寰愭鐨勯偅涓獥鍙� - // DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidDialog((ZigBee.Device.DoorLock)device, DoorLock.DoorLockCommonInfo.DoorLockMessType.ServicePush, null); - // }); - // } - //} - } + // 閫昏緫鎵ц甯稿紑妯″紡澶辨晥鐨勬儏鍐� + if (UserCenterResourse.UserInfo.AuthorityNo == 1) + { + //鑷姩鍖栨墽琛� 甯稿紑鍏抽棴 + var data = Newtonsoft.Json.JsonConvert.DeserializeObject<LogicPushResult>(receiveData["Data"].ToString()); + if (data != null && data.ActionData != null) + { + if (data.ActionData.Actiontype == 8 && data.ActionData.PassDataString == "055704010113") + { + var deviceAddr = data.ActionData.MacStr; + var device = Common.LocalDevice.Current.GetDevicesByMac(deviceAddr, false); + if (device.Count > 0 && device[0].Type != DeviceType.DoorLock) + { + return; + } + HdlThreadLogic.Current.RunThread(async () => + { + var result = await Shared.Phone.Device.Logic.SkipView.Exist(3, (ZigBee.Device.DoorLock)device[0]); + HdlThreadLogic.Current.RunMain(() => + { + //寮瑰嚭寰愭鐨勯偅涓獥鍙� + DoorLock.DoorLockCommonInfo.NomallyOpenModeInvalidDialog((ZigBee.Device.DoorLock)device[0], DoorLock.DoorLockCommonInfo.DoorLockMessType.ServicePush, + result != 0 ? true : false, ControlCommonResourse.UpdateDoorLockStatusAction); + }); + }); + } + } + } + } #endregion #region 鈻� 鍦烘櫙瑙﹀彂涓婃姤_______________________ diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs index b5f2c64..aef9c47 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Resourse/ControlCommonResourse.cs @@ -65,9 +65,9 @@ /// </summary> public static int BottomLineHeight = 1; /// <summary> - /// 寰愭鐨勯棬閿佺晫闈㈡槸鍚︽槸鎵撳紑鐨勭姸鎬� + /// 闂ㄩ攣鐣岄潰鏄惁鏄洿鏂扮姸鎬� /// </summary> - public static bool IsDoorLockPageOpen = false; + public static Action<bool> UpdateDoorLockStatusAction = null; /// <summary> /// 鏄惁鏄晫闈㈡鍦ㄥ姞杞戒腑(搴曞眰涓撶敤,涓嶉渶瑕佺悊) /// </summary> diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs index b6b4a78..32eb48b 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs @@ -1164,6 +1164,16 @@ removeDevice.BindMacAddr = bindDevice.BindMacAddr; removeDevice.BindEpoint = bindDevice.BindEpoint; delDevice.RemoveBindList.Add(removeDevice); + //鏄寒搴﹀啀娆″彂鍒犻櫎6鐨勫懡浠� + if (currentClusterID == 8) + { + var removeDevice2 = new RemoveBindListObj(); + removeDevice2.BindCluster = 6; + removeDevice2.BindType = 0; + removeDevice2.BindMacAddr = bindDevice.BindMacAddr; + removeDevice2.BindEpoint = bindDevice.BindEpoint; + delDevice.RemoveBindList.Add(removeDevice2); + } } else if (bindDevice.BindType == 2) { diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs index 9989e00..801c052 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs @@ -15,6 +15,10 @@ /// </summary> public static Action<bool> LogicAction = null; /// <summary> + /// 鏇存柊褰撳墠闂ㄩ攣娑夊強鐨勭姸鎬併�愪富瑕佺敤浜庨棬閿佹搷浣滃父寮�妯″紡鐨勫洖璋冦�� + /// </summary> + public static Action<string, bool> UpdateCurrentDoorlockAction = null; + /// <summary> /// 缃戝叧锛堥棬閿侊級鎵�鍦ㄧ殑鏃堕棿 /// </summary> public static DateTime DoorlockZoneTime = DateTime.Now; @@ -217,12 +221,6 @@ //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑� Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); - if (haveLogic) - { - //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 - var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock); - } - //app閲嶆柊寮�鍚�滃父寮�妯″紡鈥� var result = await doorLock.SetNormallyOpenModeFuncAsync(true); if (result == null || result.defaultControlResponseData == null) @@ -262,8 +260,6 @@ } else { - //鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 - var resu = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); Application.RunOnMainThread(() => { string msg0 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeSuccess); diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs index b9b2672..8d69a71 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs @@ -73,12 +73,6 @@ EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => { RemoveFromParent(); - UserDoorLockPage.canShowDialog = true; - //鏆傛椂涓嶈�冭檻涓嬬骇鐣岄潰绛夋帹閫佸鑷村父寮�妯″紡澶辨晥鐨勯棶棰� - //var userDoorLockPage = new UserDoorLockPage(currentRoom, deviceUI); - //HomePage.Instance.AddChidren(userDoorLockPage); - //HomePage.Instance.PageIndex += 1; - //userDoorLockPage.Show(); }; this.btnBack.MouseUpEventHandler += eHandlerBack; this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack; diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs index 7de8403..0562afe 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs @@ -17,12 +17,29 @@ public UserDoorLockPage(Room room, CommonDevice doorLock) { //寰愭鐨勯棬閿佺晫闈㈡墦寮�(缃戝叧鍏ㄥ眬鎺ユ敹鏃朵娇鐢�) - ControlCommonResourse.IsDoorLockPageOpen = true; + //ControlCommonResourse.IsDoorLockPageOpen = true; this.doorLock = doorLock as ZigBee.Device.DoorLock; currentRoom = room; deviceUI = doorLock; BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor; ZbGateway.StatusList.Add(this); + Application.RunOnMainThread(() => + { + ControlCommonResourse.UpdateDoorLockStatusAction = (obj) => + { + UpdateNomallyOpenStatus(); + }; + + UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction += (DoorlockKey, status) => + { + var key = doorLock.DeviceAddr + doorLock.DeviceEpoint; + if (DoorlockKey == key) + { + DoorLockCommonInfo.NormallyOpenModeValue(this.doorLock, status); + UpdateNomallyOpenStatus(); + } + }; + }); } #region 鍙橀噺鐢虫槑 @@ -42,11 +59,6 @@ /// 閫昏緫涓槸鍚︽湁甯稿紑妯″紡 /// </summary> private bool haveLogicNormallyOpenMode = false; - - /// <summary> - /// 闂ㄩ攣娣卞害鎺у埗涓婃姤绐楀彛鏄惁寮瑰嚭 - /// </summary> - public static bool canShowDialog = true; /// <summary> /// 褰撳墠鐢甸噺 @@ -626,6 +638,35 @@ } } + //缃戝叧鎵ц閫昏緫锛屽父寮�妯″紡澶辨晥涓婃姤 + //if (typeTag == "DoorLockAlarmsSendAlarmInform" && tempDevice != null) + //{ + // var doorL = (ZigBee.Device.DoorLock)tempDevice; + + // if (doorL.DeviceAddr + doorL.DeviceEpoint == doorLock.DeviceAddr + doorLock.DeviceEpoint) + // { + // //闈炰富浜轰笉寮硅繖涓獥鍙� + // if (UserCenterResourse.UserInfo.AuthorityNo != 1) + // { + // return; + // } + // if (doorLock.IsDoorLockNormallyMode) + // { + // if (canOpenNormallyMode) + // { + // Application.RunOnMainThread(() => + // { + // Action<bool> action = (obj) => + // { + // UpdateNomallyOpenStatus(); + // }; + // DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.ServicePush, haveLogicNormallyOpenMode, action); + // }); + // } + // } + // } + //} + if (typeTag == "DeviceStatusReport" && tempDevice != null) { if (tempDevice != null) @@ -668,7 +709,7 @@ canOpenNormallyMode = DoorLockCommonInfo.CanNormallyOpen(doorLock); if (canOpenNormallyMode) { - //鑾峰彇闂ㄩ攣甯稿紑妯″紡 + //1銆佽幏鍙栭棬閿佸父寮�妯″紡 var resultRes = await DoorLockCommonInfo.GetNormallyOpenMode(doorLock); if (resultRes == null) { @@ -692,18 +733,19 @@ tempRes = false; } DoorLockCommonInfo.NormallyOpenModeValue(doorLock, tempRes); - Application.RunOnMainThread(async () => - { - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); - if (resTemp == 1) - { - haveLogicNormallyOpenMode = true; - } - else if (resTemp == 0) - { - haveLogicNormallyOpenMode = false; - } - }); + + //Application.RunOnMainThread(async () => + //{ + //var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3, doorLock); + //if (resTemp == 1) + //{ + // haveLogicNormallyOpenMode = true; + //} + //else if (resTemp == 0) + //{ + // haveLogicNormallyOpenMode = false; + //} + //}); } } else @@ -718,7 +760,7 @@ canVolume = DoorLockCommonInfo.CanVolume(doorLock); if (canVolume) { - //璇诲彇闊抽噺 + //2銆佽鍙栭煶閲� var resultRes = await doorLock.GetVolumeAsync(); if (resultRes == null || resultRes.volumeResponseData == null) { @@ -752,7 +794,7 @@ }); } - //璇诲彇闂ㄩ攣鐢甸噺锛氱皣ID锛�1 灞炴�D 33 + //3銆佽鍙栭棬閿佺數閲忥細绨嘔D锛�1 灞炴�D 33 doorLock.ReadAttri(Cluster_ID.Power, AttriButeId.DoorLockPower); //涓婃姤鐢甸噺绛�1绉� System.Threading.Thread.Sleep(1000); @@ -798,7 +840,7 @@ Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; functionSetting.Show(); - canShowDialog = false; + //DoorLockCommonInfo.canShowDialog = false; functionSetting.devicNameAction += (deviceRename) => { if (!string.IsNullOrEmpty(deviceRename)) @@ -829,7 +871,7 @@ //鍘嗗彶璁板綍 ---- stan var form = new DeviceDoorLock.DoorLockHistoryLogForm(); form.AddForm(this.doorLock.DeviceAddr); - canShowDialog = false; + //DoorLockCommonInfo.canShowDialog = false; }; btnRecordFrameLayout.MouseDownEventHandler += handerRecord; btnRecord.MouseDownEventHandler += handerRecord; @@ -853,7 +895,6 @@ //寮�閿佷簨浠� EventHandler<MouseEventArgs> hander1 = async (sender, e) => { - canShowDialog = true; if (doorLock.IsDoorLockNormallyMode) { if (canOpenNormallyMode) @@ -887,7 +928,6 @@ //鍏抽攣浜嬩欢 EventHandler<MouseEventArgs> hander2 = (sender, e) => { - canShowDialog = true; if (canOpenNormallyMode) { if (doorLock.IsDoorLockNormallyMode) @@ -1093,249 +1133,6 @@ } /// <summary> - /// 甯稿紑妯″紡澶辨晥澶勭悊 - /// </summary> - private void NomallyOpenModeInvalidDialog(bool IsFromReport = false) - { - if (!canShowDialog) - { - return; - } - - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); - return; - } - string msg = Language.StringByID(R.MyInternationalizationString.NomallyModeIsCanceled).Replace("{0}", "\r\n"); - var confirm = Language.StringByID(R.MyInternationalizationString.SureCancel); - var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.NomallyOpenMode, msg, confirm); - if (haveLogicNormallyOpenMode) - { - //鏈夐�昏緫璁剧疆鐨勫脊绐� - alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.CancelNomallyOpenModeWithLogic, msg, confirm); - } - alert.Show(); - - alert.MsgControlClickEvent += async () => - { - if (IsFromReport) - { - //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷 - DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); - Application.RunOnMainThread(() => - { - UpdateNomallyOpenStatus(); - }); - - if (haveLogicNormallyOpenMode) - { - //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 - var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock); - } - } - else - { - //app榛樿鈥滃父寮�妯″紡鈥濊繕鏄紑鍚� - DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); - Application.RunOnMainThread(() => - { - UpdateNomallyOpenStatus(); - }); - } - }; - - alert.CancelClickEvent += async () => - { - if (IsFromReport) - { - //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑� - Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); - - if (haveLogicNormallyOpenMode) - { - //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 - var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock); - } - //app閲嶆柊寮�鍚�滃父寮�妯″紡鈥� - var result = await doorLock.SetNormallyOpenModeFuncAsync(true); - if (result == null || result.defaultControlResponseData == null) - { - Application.RunOnMainThread(() => - { - string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); - this.ShowTipMsg(msg0); - DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); - UpdateNomallyOpenStatus(); - }); - return; - } - if (result.defaultControlResponseData.status != 0) - { - string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed); - this.ShowTipMsg(msg1); - DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); - Application.RunOnMainThread(() => - { - UpdateNomallyOpenStatus(); - }); - return; - } - else - { - //淇濇寔鈥滃父寮�鎴愬姛鈥� - DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); - Application.RunOnMainThread(() => - { - UpdateNomallyOpenStatus(); - }); - - //鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 - var resu = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); - //if (!resu) - //{ - // string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); - // this.ShowTipMsg(msg0); - //} - - CommonPage.Loading.Hide(); - } - } - else - { - //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥� - DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); - Application.RunOnMainThread(() => - { - UpdateNomallyOpenStatus(); - }); - } - }; - - alert.ConfirmClickEvent += async () => - { - if (IsFromReport) - { - //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑� - DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); - Application.RunOnMainThread(() => - { - UpdateNomallyOpenStatus(); - }); - - if (haveLogicNormallyOpenMode) - { - //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 - var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock); - } - } - else - { - //app鎿嶄綔鍙栨秷鈥滃父寮�妯″紡鈥� - Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); - var result = await doorLock.SetNormallyOpenModeFuncAsync(false); - if (result == null || result.defaultControlResponseData == null) - { - string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); - this.ShowTipMsg(msg0); - return; - } - if (result.defaultControlResponseData.status != 0) - { - string msg1 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeFailed); - this.ShowTipMsg(msg1); - return; - } - else - { - //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� - HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9002, string.Empty); - - //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔� - DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); - Application.RunOnMainThread(() => - { - UpdateNomallyOpenStatus(); - }); - - if (haveLogicNormallyOpenMode) - { - //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 - var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock); - } - string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess); - this.ShowTipMsg(msg2); - } - } - }; - } - - /// <summary> - /// 宸茬粡寮�鍚父寮�妯″紡鎻愮ず - /// </summary> - public void AlreadyOpenNormallyMode() - { - //甯稿紑妯″紡寮�鍚彁绀� - string msgNomallyModeIsTurnOn = Language.StringByID(R.MyInternationalizationString.NomallyModeIsTurnOn); - var doorLockInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockInValidSetting); - var alertNomallyModeIsTurnOn = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.DoorLockLogic, msgNomallyModeIsTurnOn, doorLockInValidSetting); - alertNomallyModeIsTurnOn.Show(); - alertNomallyModeIsTurnOn.MsgControlClickEvent += async () => - { - //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 - var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); - //if (!res) - //{ - //string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); - // this.ShowTipMsg(msg0); - //return; - //} - }; - //鐐瑰嚮鑷姩鍖� - alertNomallyModeIsTurnOn.LogicClickEvent += () => - { - //閫昏緫璋冪敤鍓嶈寰楃Щ闄� - ZbGateway.StatusList.Remove(this); - //璋冪敤閫昏緫鐣岄潰 - Shared.Phone.Device.Logic.SkipView.SkipAddLogic(2, doorLock); - }; - alertNomallyModeIsTurnOn.InvalidClickEvent += async () => - { - NomallyOpenModeInvalidTimeDialog(); - }; - } - - /// <summary> - /// 甯稿紑妯″紡澶辨晥鏃堕棿澶勭悊 - /// </summary> - private void NomallyOpenModeInvalidTimeDialog() - { - //澶辨晥璁剧疆 - string msgTimeInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime); - var timeConfrim = Language.StringByID(R.MyInternationalizationString.Confrim); - var alertTimeInValidSetting = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting, timeConfrim); - alertTimeInValidSetting.Show(); - - alertTimeInValidSetting.InvalidTimeAction += async (obj) => - { - //甯稿紑妯″紡澶辨晥鏃堕棿璁剧疆鎴愬姛 - var temp = int.Parse(obj); - DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp; - //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 - var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); - if (res == 0) - { - //榛樿鍒涘缓甯稿紑妯″紡澶辫触 - string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); - var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, msg0, Language.StringByID(R.MyInternationalizationString.confrim)); - alert.Show(); - //浜屾鍔犺浇寮圭獥 甯稿紑妯″紡寮�鍚彁绀� - NomallyOpenModeInvalidTimeDialog(); - } - }; - } - - /// <summary> /// 甯稿紑妯″紡鐘舵�佹洿鏂� /// </summary> private void UpdateNomallyOpenStatus() @@ -1436,7 +1233,9 @@ public override void RemoveFromParent() { //寰愭鐨勯棬閿佺晫闈㈠叧闂�(缃戝叧鍏ㄥ眬鎺ユ敹鏃朵娇鐢�) - ControlCommonResourse.IsDoorLockPageOpen = false; + //ControlCommonResourse.IsDoorLockPageOpen = false; + ControlCommonResourse.UpdateDoorLockStatusAction = null; + UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction = null; if (IsDrawerLockMode) { CommonPage.Instance.IsDrawerLockMode = false; diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs b/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs index ec0ce95..367c79d 100755 --- a/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs +++ b/ZigbeeApp/Shared/Phone/ZigBee/Common/Application.cs @@ -334,10 +334,6 @@ { //鏈湴Socket public static Socket busSocket; - /// <summary> - /// 璁℃椂鍣� - /// </summary> - private static int timeCount = 0; /// <summary> /// 鍚姩Socket鎺ユ敹鍜屽彂閫佸姛鑳� @@ -395,52 +391,10 @@ { try { - //妫�娴嬭繛鎺ョ姸鎬� - CheckConnectiton(); - Start(7624); busSocket.BeginSendTo(bytes, 0, bytes.Length, SocketFlags.None, iPEndPoint, new AsyncCallback(asyncEndSend), null); } catch { } - } - - /// <summary> - /// 妫�娴嬭繛鎺ョ姸鎬� - /// </summary> - private static void CheckConnectiton() - { - if (busSocket == null) { return; } - timeCount++; - if (timeCount < 20) - { - //姣�10绉掓娴嬩竴娆� - return; - } - timeCount = 0; - - bool blockingState = busSocket.Blocking; - try - { - byte[] tmp = new byte[1]; - - busSocket.Blocking = false; - busSocket.Send(tmp, 0, 0); - //tcp杩樺湪杩炴帴鐫� - busSocket.Blocking = blockingState; - } - catch (SocketException e) - { - // 10035 == WSAEWOULDBLOCK - if (e.NativeErrorCode.Equals(10035)) - { - //Still Connected, but the Send would block - } - else - { - //tcp宸茬粡鏂紑浜嗚繛鎺� - Stop(); - } - } } /// <summary> -- Gitblit v1.8.0