From bba578c2f0acf2eca747edcb69426771e0cadd32 Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期一, 23 三月 2020 18:20:50 +0800 Subject: [PATCH] 2020-03-23-3 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs | 139 +++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 125 insertions(+), 14 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs index 50f9bfe..d89ee5c 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +using Shared.Common; using ZigBee.Device; namespace Shared.Phone.UserCenter.DoorLock @@ -9,6 +10,14 @@ public class DoorLockCommonInfo : CommonDevice { #region 鏈湴鍙橀噺 + /// <summary> + /// 鏄惁甯稿紑妯″紡[褰撴暟鎹幏鍙栧け璐ワ紝杩斿洖绌篯 + /// </summary> + public static bool? IsDoorLockNormallyMode = new bool?(); + /// <summary> + /// 甯稿紑妯″紡鏃堕棿 + /// </summary> + public static int NormallyOpenModeInvalidTime = 12; /// <summary> /// 鏄惁鏀寔淇敼 /// </summary> @@ -67,6 +76,69 @@ public static int InValidDateSecond = 0; #endregion + /// <summary> + /// 鑾峰彇褰撳墠闂ㄩ攣鐨勫父寮�妯″紡 + /// </summary> + /// <param name="doorLock:褰撳墠闂ㄩ攣"></param> + /// <returns></returns> + public static async System.Threading.Tasks.Task<bool?> GetNormallyOpenMode(ZigBee.Device.DoorLock doorLock) + { + var result = await doorLock.ReadNormallyOpenModeFuncAsync(); + //鍏遍�氶敊璇娴� + string error = HdlCheckLogic.Current.CheckCommonErrorCode(result); + + if (result == null || result.errorMessageBase != null || result.errorResponData != null) + { + IsDoorLockNormallyMode = null; + } + + if (result.command == "10") + { + IsDoorLockNormallyMode = true; + } + if (result.command == "11") + { + IsDoorLockNormallyMode = false; + } + + return IsDoorLockNormallyMode; + } + + /// <summary> + /// 闂ㄩ攣鏄惁鏀寔甯稿紑[杩欓噷鏆傛椂鍙湁S-One闂ㄩ攣鏀寔锛孒06C涓嶆敮鎸�, 鍚庢湡閫氳繃鑳藉姏鍊兼敮鎸乚 + /// </summary> + /// <param name="doorLock:褰撳墠闂ㄩ攣"></param> + /// <returns></returns> + public static bool CanNormallyOpen(ZigBee.Device.DoorLock doorLock) + { + var listDevice = new List<CommonDevice> { }; + listDevice.Add(doorLock); + var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); + if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) + { + return true; + } + return false; + } + + /// <summary> + /// 闂ㄩ攣鏄惁鏀寔闊抽噺[杩欓噷鏆傛椂鍙湁S-One闂ㄩ攣鏀寔锛孒06C涓嶆敮鎸侊紝鍚庢湡閫氳繃鑳藉姏鍊兼敮鎸乚 + /// </summary> + /// <param name="doorLock:褰撳墠闂ㄩ攣"></param> + /// <returns></returns> + public static bool CanVolume(ZigBee.Device.DoorLock doorLock) + { + var listDevice = new List<CommonDevice> { }; + listDevice.Add(doorLock); + var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); + if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) + { + return true; + } + return false; + } + + #region 浠庝簯绔幏鍙栫殑鏂规硶 /// <summary> /// 鑾峰彇褰撳墠璐︽埛闂ㄩ攣鎿嶄綔鏉冮檺锛堟槸鍚﹁鍐荤粨锛� /// </summary> @@ -218,7 +290,7 @@ } - //2銆佽鍙栦簯绔棬閿佷俊鎭� + //2銆佽鍙栦簯绔棬閿佷俊鎭� var getDoorLockInfoAllList = new List<ZigBee.Device.DoorLock.CloudDoorLockObj> { }; var getDoorLockInfoList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAccountInfolist(doorLock); if (getDoorLockInfoList != null) @@ -520,24 +592,32 @@ } var getDoorLockInfoList = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("DoorLock/GetDoorLockPager", localDoorLockObj); - if (getDoorLockInfoList != null) + + if (getDoorLockInfoList == null) { - if (getDoorLockInfoList.PageData.Count != 0) - { - getDoorLockInfoAllList.Add(getDoorLockInfoList); - } + getDoorLockInfoAllList = null; } - if (getDoorLockInfoList.TotalPages > 1) + else { - for (int j = 1; j < getDoorLockInfoList.TotalPages; j++) + if (getDoorLockInfoList != null) { - var pageSetting = new ZigBee.Device.DoorLock.PageSetting() { }; - pageSetting.Page = j + 1; - localDoorLockObj.pageSetting = pageSetting; - var getDoorLockInfoListTemp = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("DoorLock/GetDoorLockPager", localDoorLockObj); - if (getDoorLockInfoListTemp != null) + if (getDoorLockInfoList.PageData.Count != 0) { - getDoorLockInfoAllList.Add(getDoorLockInfoListTemp); + getDoorLockInfoAllList.Add(getDoorLockInfoList); + } + } + if (getDoorLockInfoList.TotalPages > 1) + { + for (int j = 1; j < getDoorLockInfoList.TotalPages; j++) + { + var pageSetting = new ZigBee.Device.DoorLock.PageSetting() { }; + pageSetting.Page = j + 1; + localDoorLockObj.pageSetting = pageSetting; + var getDoorLockInfoListTemp = await ZigBee.Device.DoorLock.GetDoorLockInfoFromServer("DoorLock/GetDoorLockPager", localDoorLockObj); + if (getDoorLockInfoListTemp != null) + { + getDoorLockInfoAllList.Add(getDoorLockInfoListTemp); + } } } } @@ -727,5 +807,36 @@ /// </summary> public string PrimaryId = ""; } + + #endregion + + #region 涓�鑸柟娉� + /// <summary> + /// 鏄剧ず閿欒淇℃伅绐楀彛 + /// </summary> + /// <param name="msg"></param> + private void ShowErrorMsg(string msg) + { + Application.RunOnMainThread(() => + { + var contr = new ShowMsgControl(ShowMsgType.Error, msg); + contr.Show(); + }); + } + + /// <summary> + /// 鏄剧ずTip淇℃伅绐楀彛 + /// </summary> + /// <param name="msg"></param> + private void ShowTipMsg(string msg) + { + Application.RunOnMainThread(() => + { + var contr = new ShowMsgControl(ShowMsgType.Tip, msg); + contr.Show(); + }); + } + + #endregion } } -- Gitblit v1.8.0