From 0d9f64668fd7350d6a21fd157e32009a96d98134 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期三, 16 十二月 2020 13:09:08 +0800 Subject: [PATCH] 新云端代码Ver1.2 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs | 345 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 216 insertions(+), 129 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs index 158d0a8..b51f2a7 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs @@ -33,7 +33,7 @@ /// 鏋勯�犲嚱鏁� /// </summary> /// <param name="doorLock"></param> - public UnLockMethod(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes accountObj) + public UnLockMethod(ZigBee.Device.DoorLock doorLock, MemberInfoRes accountObj) { this.doorLock = doorLock; this.curAccountObj = accountObj; @@ -56,7 +56,7 @@ /// <summary> /// 褰撳墠璐︽埛 /// </summary> - Shared.Phone.UserCenter.MemberInfoRes curAccountObj; + MemberInfoRes curAccountObj; /// <summary> /// 鏁版嵁涓虹┖锛孶I鏄剧ず鐨勭┖鍥剧墖 /// </summary> @@ -88,27 +88,24 @@ { try { - var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock); - if (doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] == true) - { - //鏁版嵁濡傛灉鍦ㄩ棬閿佷笂闈㈡槸绌虹殑鏃跺�欙紝鏁版嵁涔熸槸娌℃湁鐨� - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - }); - } + //鈽嗐優銉笺偗鈽� + //var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock); + //if (doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] == true) + //{ + // //鏁版嵁濡傛灉鍦ㄩ棬閿佷笂闈㈡槸绌虹殑鏃跺�欙紝鏁版嵁涔熸槸娌℃湁鐨� + // Application.RunOnMainThread(() => + // { + // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + // }); + //} } catch { } finally { Application.RunOnMainThread(() => { - // 绫诲瀷鍖哄垎 - UndateUnlockMethodAction += (obj) => - { - RefreshList(obj); - }; - TypeRefresh(doorLock); + // 绫诲瀷鍖哄垎 + TypeRefresh(); CommonPage.Loading.Hide(); bodyView.EndHeaderRefreshing(); }); @@ -148,25 +145,26 @@ UnSelectedImagePath = "DoorLock/AddIcon.png", }; btnAddFrameLayout.AddChidren(btnAdd); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { btnAdd.Width = 0; } btnAdd.MouseDownEventHandler += (sender, e) => { - if (doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] == true) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - } - else - { - var addUnLockMethod = new Shared.Phone.UserCenter.DoorLock.AddUnLockMethod(doorLock, curAccountObj); - Shared.Phone.UserView.HomePage.Instance.AddChidren(addUnLockMethod); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - addUnLockMethod.Show(); - } + //鈽嗐優銉笺偗鈽� + //if (doorLock.IsFreezeAccount[curAccountObj.SubAccountDistributedMark] == true) + //{ + // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + //} + //else + //{ + // var addUnLockMethod = new Shared.Phone.UserCenter.DoorLock.AddUnLockMethod(doorLock, curAccountObj); + // Shared.Phone.UserView.HomePage.Instance.AddChidren(addUnLockMethod); + // Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + // addUnLockMethod.Show(); + //} }; - if (UserCenterResourse.UserInfo.AuthorityNo == 3) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo == 3) { btnAddFrameLayout.Width = 0; } @@ -176,15 +174,16 @@ } MidFrameLayoutContent(); - if (doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] == true) - { - CommonPage.Loading.Start("Loading..."); - ReadDoorLockUserInfo(); - } - else - { - RefreshList(); - } + //鈽嗐優銉笺偗鈽� + //if (doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] == true) + //{ + // CommonPage.Loading.Start("Loading..."); + // ReadDoorLockUserInfo(); + //} + //else + //{ + // RefreshList(); + //} } /// <summary> @@ -229,14 +228,6 @@ { btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock); } - else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FaceIDUnlock)) - { - btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.FaceIDUnlock); - } - else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock)) - { - btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.CalmFingerprintUnlock); - } else { btnAllMethod.Text = Language.StringByID(R.MyInternationalizationString.AllMethod); @@ -255,11 +246,7 @@ EventHandler<MouseEventArgs> handerSideLip = (sender, e) => { - SideslipFramelayout(doorLock); - UndateUnlockMethodAction += (obj) => - { - RefreshList(obj); - }; + SideslipFramelayout(); }; btnNext.MouseUpEventHandler += handerSideLip; btnAllMethod.MouseUpEventHandler += handerSideLip; @@ -331,7 +318,7 @@ TextSize = 12, }; blankFrameLayout.AddChidren(btnPicTip1); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { btnPicTip1.Width = 0; } @@ -351,15 +338,15 @@ foreach (var curUserId in doorLock.localDoorLockUserList.Keys) { var curDoorLockUser = doorLock.localDoorLockUserList[curUserId]; - - if (string.IsNullOrEmpty(curDoorLockUser.ConnectedAccount) || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) - { - continue; - } - else - { - curAccountDoorLockUserList.Add(curDoorLockUser.UserID, curDoorLockUser); - } + //鈽嗐優銉笺偗鈽� + //if (string.IsNullOrEmpty(curDoorLockUser.ConnectedAccount) || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) + //{ + // continue; + //} + //else + //{ + // curAccountDoorLockUserList.Add(curDoorLockUser.UserID, curDoorLockUser); + //} } if (curAccountDoorLockUserList.Count == 0) @@ -404,18 +391,6 @@ continue; } break; - case 13: - if (curDoorLockUser.UnlockType != unlockMethod) - { - continue; - } - break; - case 14: - if (curDoorLockUser.UnlockType != unlockMethod) - { - continue; - } - break; case 15: if (curDoorLockUser.UnlockType != unlockMethod) { @@ -434,15 +409,8 @@ var btnicon = rowFrameLayout.frameTable.AddLeftIcon(); btnicon.UnSelectedImagePath = "DoorLock/DoorLockUserPic.png"; //涓婇潰闂ㄩ攣鐢ㄦ埛鍚嶇О涓�琛� - var memberText = ""; - if (string.IsNullOrEmpty(curAccountObj.UserName)) - { - memberText = curAccountObj.Account; - } - else - { - memberText = curAccountObj.UserName; - } + var memberText = curAccountObj.ShowName; + //鎴愬憳涓�琛� var btnaa = rowFrameLayout.frameTable.AddBottomView(memberText, 800); var btnDoorlockUser = new EditText() @@ -462,7 +430,7 @@ btndelete.ButtonClickEvent += (sender, e) => { string msg = Language.StringByID(R.MyInternationalizationString.SureToDelUnlockMethod); - var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); + var alert = new ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); alert.Show(); //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� alert.ConfirmClickEvent += async () => @@ -477,9 +445,10 @@ if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) { var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { - deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + //鈽嗐優銉笺偗鈽� + //deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); deleteDoorLockData.IsOtherAccountCtrl = true; } if (doorLock.DeviceAddr != null) @@ -492,7 +461,7 @@ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); if (result != null) { - if (result.StateCode == "Success") + if (result.Code == HttpMessageEnum.A鎴愬姛) { isSecondDel = false; if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) @@ -502,11 +471,7 @@ localDoorLockObj.UserID = curDoorLockUser.UserID; doorLock.localDoorLockUserList.Remove(curUserId); doorLock.ReSave(); - UndateUnlockMethodAction += (obj) => - { - RefreshList(obj); - }; - TypeRefresh(doorLock); + TypeRefresh(); } } else @@ -526,9 +491,10 @@ if (isSecondDel) { var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { - deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + //鈽嗐優銉笺偗鈽� + //deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); deleteDoorLockData.IsOtherAccountCtrl = true; } if (doorLock.DeviceAddr != null) @@ -541,7 +507,7 @@ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); if (result != null) { - if (result.StateCode == "Success") + if (result.Code == HttpMessageEnum.A鎴愬姛) { isSecondDel = false; if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) @@ -550,11 +516,7 @@ var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; localDoorLockObj.UserID = curDoorLockUser.UserID; doorLock.localDoorLockUserList.Remove(curUserId); - UndateUnlockMethodAction += (obj) => - { - RefreshList(obj); - }; - TypeRefresh(doorLock); + TypeRefresh(); } } else @@ -624,26 +586,6 @@ btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.IcCard) + "ID" + curDoorLockUser.UserID; } break; - case 13: - if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) - { - btnDoorlockUser.Text = curDoorLockUser.UserName; - } - else - { - btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.CalmFingerprintMark) + "ID" + +curDoorLockUser.UserID; - } - break; - case 14: - if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) - { - btnDoorlockUser.Text = curDoorLockUser.UserName; - } - else - { - btnDoorlockUser.Text = Language.StringByID(R.MyInternationalizationString.FaceIDMark) + "ID" + +curDoorLockUser.UserID; - } - break; case 15: if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) { @@ -660,9 +602,10 @@ Action<Shared.View> action = async (obj) => { var refreshDoorLockData = new ZigBee.Device.DoorLock.RefreshDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { - refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + //鈽嗐優銉笺偗鈽� + //refreshDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); refreshDoorLockData.IsOtherAccountCtrl = true; } if (doorLock.DeviceAddr != null) @@ -676,7 +619,7 @@ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/UpdateDoorLock", refreshDoorLockData); if (result != null) { - if (result.StateCode == "Success") + if (result.Code == HttpMessageEnum.A鎴愬姛) { if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) { @@ -687,13 +630,10 @@ localDoorLockObj.PrimaryId = curDoorLockUser.PrimaryId; localDoorLockObj.EntryTime = curDoorLockUser.EntryTime; localDoorLockObj.UserName = refreshDoorLockData.UserIdRemarks; - localDoorLockObj.ConnectedAccount = curAccountObj.SubAccountDistributedMark; + //鈽嗐優銉笺偗鈽� + //localDoorLockObj.ConnectedAccount = curAccountObj.SubAccountDistributedMark; doorLock.localDoorLockUserList.Add(curDoorLockUser.UserID, localDoorLockObj); - UndateUnlockMethodAction += (obj1) => - { - RefreshList(obj1); - }; - TypeRefresh(doorLock); + TypeRefresh(); } } else @@ -714,6 +654,153 @@ } /// <summary> + /// 渚ц竟瀵艰埅鏍� + /// </summary> + void SideslipFramelayout() + { + #region sidelipFrameLayout UI + var dialog = new Dialog + { + }; + dialog.Show(); + + var flMain = new FrameLayout { BackgroundColor = 0x00000000 }; + dialog.AddChidren(flMain); + flMain.MouseUpEventHandler += (sender11, e11) => + { + dialog.Close(); + }; + + var sidelipFrameLayout = new FrameLayout() + { + Height = Application.GetRealHeight(625), + Width = Application.GetRealWidth(449), + Y = Application.GetRealHeight(115 + 160), + X = Application.GetRealWidth(596), + BackgroundImagePath = "DoorLock/SideslipPic.png", + }; + flMain.AddChidren(sidelipFrameLayout); + + var sidelipVerticalScrolViewLayout = new VerticalScrolViewLayout() + { + Height = Application.GetRealHeight(600), + Y = Application.GetRealHeight(28), + }; + sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout); + #endregion + + Button oldbutton = null; + Button oldbuttonText = null; + for (var i = 0; i < 4; i++) + { + #region rowFrameLayout UI + var rowFrameLayout = new RowLayout() + { + Height = Application.GetRealHeight(150), + LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, + X = Application.GetRealWidth(81), + }; + sidelipVerticalScrolViewLayout.AddChidren(rowFrameLayout); + + var btnAllMethod = new Button() + { + Width = Application.GetRealWidth(81), + Height = Application.GetRealHeight(81), + Y = Application.GetRealHeight(35), + }; + rowFrameLayout.AddChidren(btnAllMethod); + + var btnMethodText = new Button() + { + Width = Application.GetRealWidth(311), + Height = Application.GetRealHeight(58), + X = Application.GetRealWidth(92), + Y = Application.GetRealHeight(49), + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextSize = 14, + TextAlignment = TextAlignment.CenterLeft, + }; + rowFrameLayout.AddChidren(btnMethodText); + #endregion + + #region 鏁版嵁澶勭悊 + EventHandler<MouseEventArgs> hander = (sender, e) => + { + if (!btnAllMethod.IsSelected) + { + if (oldbutton != null) + { + oldbutton.IsSelected = false; + } + if (oldbuttonText != null) + { + oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; + } + oldbutton = btnAllMethod; + oldbuttonText = btnMethodText; + doorLock.currentUserDisplayMethod = btnMethodText.Text; + doorLock.ReSave(); + btnAllMethod.IsSelected = true; + oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + oldbuttonText.IsBold = true; + TypeRefresh(); + } + dialog.Close(); + }; + rowFrameLayout.MouseUpEventHandler += hander; + btnAllMethod.MouseUpEventHandler += hander; + btnMethodText.MouseUpEventHandler += hander; + + DisplayAllUnlockMethod(i, btnAllMethod, btnMethodText); + + if (string.IsNullOrEmpty(doorLock.currentUserDisplayMethod) && i == 0) + { + CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText); + } + if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.AllMethod) && i == 0) + { + CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText); + } + if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock) && i == 1) + { + CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText); + } + if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock) && i == 2) + { + CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText); + } + if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock) && i == 3) + { + CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText); + } + #endregion + } + } + + /// <summary> + /// 绫诲瀷鍖哄垎 + /// </summary> + void TypeRefresh() + { + if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock)) + { + RefreshList(0); + } + else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock)) + { + RefreshList(15); + } + else if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock)) + { + RefreshList(3); + } + else + { + RefreshList(); + } + } + + /// <summary> /// 閲嶅啓绉婚櫎鏂规硶 /// </summary> public override void RemoveFromParent() -- Gitblit v1.8.0