| | |
| | | /// </summary> |
| | | DateTime waitGetDoorLockPower = DateTime.MaxValue; |
| | | /// <summary> |
| | | /// 逻辑中是否有常开模式
|
| | | /// 逻辑中是否有常开模式 |
| | | /// </summary> |
| | | private bool haveLogicNormallyOpenMode = false;
|
| | | private bool haveLogicNormallyOpenMode = false; |
| | | |
| | | /// <summary> |
| | | /// 当前电量 |
| | |
| | | bool IsClick = true; |
| | | #endregion |
| | | |
| | | /// <summary>
|
| | | /// UI显示 |
| | | /// <summary> |
| | | /// UI显示 |
| | | /// </summary> |
| | | public void Show() |
| | | {
|
| | | { |
| | | this.TopFrameLayout(this, ""); |
| | | this.MidFrameLayout(this); |
| | | |
| | |
| | | |
| | | ClickHandle(); |
| | | |
| | | if (Common.LocalDevice.Current.CheckDeviceIsOnline(doorLock) == true) |
| | | if (HdlDeviceCommonLogic.Current.CheckDeviceIsOnline(doorLock) == true) |
| | | { |
| | | ReadDoorLockUserInfo(); |
| | | } |
| | |
| | | btnDoorLockTitle.Y = Application.GetRealHeight(46); |
| | | btnDoorLockTitle.TextSize = 15; |
| | | btnDoorLockTitle.IsBold = true; |
| | | btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock); |
| | | btnDoorLockTitle.Text = HdlDeviceCommonLogic.Current.GetDeviceMacName(doorLock); |
| | | btnDoorLockTitle.Width = btnDoorLockTitle.GetRealWidthByText(); |
| | | btnDoorLockTitle.TextAlignment = TextAlignment.Center; |
| | | btnDoorLockTitle.Gravity = Gravity.CenterHorizontal; |
| | |
| | | UnSelectedImagePath = "Item/Collection.png", |
| | | SelectedImagePath = "Item/CollectionSelected.png" |
| | | }; |
| | | btnCollectFrameLayout.AddChidren(btnCollect);
|
| | |
|
| | | //当前状态
|
| | | btnCollectFrameLayout.AddChidren(btnCollect); |
| | | |
| | | //当前状态 |
| | | btnStatus = new Button() |
| | | { |
| | | Width = Application.GetRealWidth(132 + 351), |
| | |
| | | TextSize = 10, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | midTopFrameLayout.AddChidren(btnCurrentPowerText);
|
| | | #if Android
|
| | | btnCurrentPowerText.X = btnStatus.Right + Application.GetRealWidth(20);
|
| | | midTopFrameLayout.AddChidren(btnCurrentPowerText); |
| | | #if Android |
| | | btnCurrentPowerText.X = btnStatus.Right + Application.GetRealWidth(20); |
| | | #endif |
| | | |
| | | //门锁开/关图片 |
| | |
| | | if (tempDoor.doorLockOperatingEventNotificationCommand != null) |
| | | { |
| | | //非主人不弹这个窗口 |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1)
|
| | | {
|
| | | return;
|
| | | if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) |
| | | { |
| | | return; |
| | | } |
| | | if (doorLock.IsDoorLockNormallyMode)
|
| | | {
|
| | | if (doorLock.IsDoorLockNormallyMode) |
| | | { |
| | | if (canOpenNormallyMode) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | |
| | | { |
| | | var listDevice = new List<CommonDevice> { }; |
| | | listDevice.Add(doorLock); |
| | | var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); |
| | | var devTemp = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(listDevice); |
| | | if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | |
| | | public void ClickHandle() |
| | | { |
| | | //门锁标题 |
| | | btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock); |
| | | btnDoorLockTitle.Text = HdlDeviceCommonLogic.Current.GetDeviceMacName(doorLock); |
| | | |
| | | //返回 |
| | | EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => |
| | |
| | | { |
| | | if (doorLock.IsDoorLockNormallyMode) |
| | | { |
| | | if (canOpenNormallyMode)
|
| | | {
|
| | | if (canOpenNormallyMode) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | Action<bool> action = (obj) => |
| | |
| | | { |
| | | OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus); |
| | | } |
| | | }
|
| | | } |
| | | else |
| | | { |
| | | OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus); |
| | |
| | | /// </summary> |
| | | private async void NomallyOpenDialog() |
| | | { |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) |
| | | { |
| | | this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); |
| | | return; |
| | | } |
| | | |
| | | if (!UserCenterResourse.AccountOption.DoorUnLockByRemote) |
| | | if (!HdlUserCenterResourse.AccountOption.DoorUnLockByRemote) |
| | | { |
| | | SystemSecondAuthentication(); |
| | | return; |
| | |
| | | action = () => |
| | | { |
| | | //WJC的代码:系统密码支持操作门锁后,调用温居城的界面【常开自动化】 |
| | | if (doorLock == null)
|
| | | {
|
| | | if (doorLock == null) |
| | | { |
| | | ///防止抛异常 |
| | | return;
|
| | | }
|
| | | ///备注:WJC的
|
| | | Shared.Phone.Device.Logic.Send.CurrentDoorLock = doorLock;
|
| | | ///进来刷新一次设备列表;
|
| | | Common.Logic.LogicDviceList.Clear();
|
| | | if (Common.Logic.LogicDviceList.Count == 0)
|
| | | {
|
| | | Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray());
|
| | | }
|
| | | var addLogicPage = new Shared.Phone.Device.Logic.SoneLogicList();
|
| | | UserView.HomePage.Instance.AddChidren(addLogicPage);
|
| | | UserView.HomePage.Instance.PageIndex += 1;
|
| | | addLogicPage.Show();
|
| | | addLogicPage.action += async (w) =>
|
| | | {
|
| | | DoorLockCommonInfo.NormallyOpenModeValue(doorLock, w);
|
| | | UpdateNomallyOpenStatus();
|
| | | return; |
| | | } |
| | | ///备注:WJC的 |
| | | Shared.Phone.Device.Logic.Send.CurrentDoorLock = doorLock; |
| | | ///进来刷新一次设备列表; |
| | | Common.Logic.LogicDviceList.Clear(); |
| | | if (Common.Logic.LogicDviceList.Count == 0) |
| | | { |
| | | Common.Logic.LogicDviceList.AddRange(HdlDeviceCommonLogic.Current.listAllDevice.ToArray()); |
| | | } |
| | | var addLogicPage = new Shared.Phone.Device.Logic.SoneLogicList(); |
| | | UserView.HomePage.Instance.AddChidren(addLogicPage); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | addLogicPage.Show(); |
| | | addLogicPage.action += async (w) => |
| | | { |
| | | DoorLockCommonInfo.NormallyOpenModeValue(doorLock, w); |
| | | UpdateNomallyOpenStatus(); |
| | | //返回按键清空当前逻辑定义的LogicAction |
| | | UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = null; |
| | | //是否存在常开模式 |
| | |
| | | }; |
| | | HdlCheckLogic.Current.CheckSecondarySecurity(action); |
| | | |
| | | }
|
| | |
|
| | | /// <summary>
|
| | | } |
| | | |
| | | /// <summary> |
| | | /// 常开模式状态更新 |
| | | /// </summary> |
| | | private void UpdateNomallyOpenStatus() |
| | |
| | | { |
| | | openFrameLayout.Enable = false; |
| | | btnDoorOpenPic.Enable = false; |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) |
| | | { |
| | | var result = await DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); |
| | | if (result == false) |
| | |
| | | { |
| | | if (!string.IsNullOrEmpty(deviceRename)) |
| | | { |
| | | btnDoorLockTitle.Text = deviceRename;
|
| | | //改房间
|
| | | btnDoorLockTitle.Text = deviceRename; |
| | | //改房间 |
| | | HdlRoomLogic.Current.ChangedRoom(deviceUI, currentRoom.Id); |
| | | deviceUI.ReSave(); |
| | | } |