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/UndistributeDoorlockUserPage.cs | 520 ++++++++++++++++++++++++++------------------------------- 1 files changed, 236 insertions(+), 284 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs index 7084a3a..cbe5d50 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs @@ -10,7 +10,7 @@ /// 鏋勯�犲嚱鏁� /// </summary> /// <param name="doorLock"></param> - public UndistributeDoorlockUserPage(ZigBee.Device.DoorLock doorLock, List<Shared.Phone.UserCenter.MemberInfoRes> localAccountList) + public UndistributeDoorlockUserPage(ZigBee.Device.DoorLock doorLock, List<MemberInfoRes> localAccountList) { this.doorLock = doorLock; this.localAccountList = localAccountList; @@ -33,15 +33,11 @@ /// <summary> /// 鏈湴璐︽埛鍒楄〃 /// </summary> - List<Shared.Phone.UserCenter.MemberInfoRes> localAccountList; + List<MemberInfoRes> localAccountList; /// <summary> /// 婊戝姩甯冨眬View /// </summary> - VerticalListRefreshControl bodyView; - /// <summary> - /// 鏄惁浜屾鍒犻櫎 - /// </summary> - bool isSecondDel; + VerticalRefreshLayout bodyView; /// <summary> /// 淇濆瓨涔嬪墠鎼滅储鍒版湰鍦伴棬閿佺敤鎴峰垪琛� /// </summary> @@ -75,11 +71,7 @@ { Application.RunOnMainThread(() => { - UndateUnlockMethodAction += (obj) => - { - RefreshList(obj); - }; - TypeRefresh(doorLock); + TypeRefresh(); CommonPage.Loading.Hide(); bodyView.EndHeaderRefreshing(); }); @@ -155,14 +147,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); @@ -180,15 +164,10 @@ midTopFrameLayout.AddChidren(btnNext); EventHandler<MouseEventArgs> handerSideLip = (sender, e) => { - SideslipFramelayout(doorLock); - UndateUnlockMethodAction += (obj) => - { - RefreshList(obj); - }; + SideslipFramelayout(); }; btnNext.MouseUpEventHandler += handerSideLip; btnAllMethod.MouseUpEventHandler += handerSideLip; - var btnLine = new Button { Y = midTopFrameLayout.Bottom, @@ -197,7 +176,7 @@ }; this.midFrameLayout.AddChidren(btnLine); - bodyView = new VerticalListRefreshControl() + bodyView = new VerticalRefreshLayout() { Y = btnLine.Bottom, Height = Application.GetRealHeight(1921 - 184 - 115 - 1), @@ -253,18 +232,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) { @@ -274,206 +241,41 @@ default: break; } - - var rowFrameLayout = new RowLayoutControl(bodyView.rowSpace / 2); - rowFrameLayout.BackgroundColor = ZigbeeColor.Current.XMWhite; - bodyView.AddChidren(rowFrameLayout); - rowFrameLayout.frameTable.UseClickStatu = false; - var btnicon = rowFrameLayout.frameTable.AddLeftIcon(); - btnicon.UnSelectedImagePath = "DoorLock/DistributeUnlockIcon.png"; - - string cText = ""; - switch (curDoorLockUser.UnlockType) + var rowFrameLayout = new FrameLayout() { - case 0: - if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) - { - cText = curDoorLockUser.UserName; - } - else - { - cText = Language.StringByID(R.MyInternationalizationString.Password) + "ID" + curDoorLockUser.UserID; - } - break; - case 3: - if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) - { - cText = curDoorLockUser.UserName; - } - else - { - cText = Language.StringByID(R.MyInternationalizationString.IcCard) + "ID" + curDoorLockUser.UserID; - } - break; - case 13: - if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) - { - cText = curDoorLockUser.UserName; - } - else - { - cText = Language.StringByID(R.MyInternationalizationString.CalmFingerprintMark) + "ID" + +curDoorLockUser.UserID; - } - break; - case 14: - if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) - { - cText = curDoorLockUser.UserName; - } - else - { - cText = Language.StringByID(R.MyInternationalizationString.FaceIDMark) + "ID" + +curDoorLockUser.UserID; - } - break; - case 15: - if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) - { - cText = curDoorLockUser.UserName; - } - else - { - cText = Language.StringByID(R.MyInternationalizationString.Fingerprint) + "ID" + +curDoorLockUser.UserID; - } - break; - } - var btnText = rowFrameLayout.frameTable.AddLeftCaption(cText, 800); - - //鍒犻櫎 - var btndelete = rowFrameLayout.AddDeleteControl(); - 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)); - alert.Show(); - //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� - alert.ConfirmClickEvent += async () => - { - try - { - CommonPage.Loading.Start(""); - var passData = doorLock.SetUserAccessData(curDoorLockUser.UserID, ZigBee.Device.DoorLock.AccessType.DelCurrentUser); - var resultData = await doorLock.DefaultControlAsync(passData); - if (resultData != null && resultData.defaultControlResponseData != null) - { - if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) - { - var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - deleteDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); - deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; - deleteDoorLockData.DelDoorLockDelType = 2; - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - isSecondDel = false; - if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) - { - doorLock.localDoorLockAccountList.Remove(curDoorLockUser.ConnectedAccount); - var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - localDoorLockObj.UserID = curDoorLockUser.UserID; - doorLock.localDoorLockUserList.Remove(curUserId); - doorLock.ReSave(); - UndateUnlockMethodAction += (obj) => - { - RefreshList(obj); - }; - TypeRefresh(doorLock); - } - } - else - { - //寮�鍏冲浘鏍� - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnText); - } - } - else - { - isSecondDel = true; - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnText); - } - } - else - { - if (isSecondDel) - { - var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - deleteDoorLockData.IsOtherAccountCtrl = true; - } - if (doorLock.DeviceAddr != null) - { - deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.UserID.ToString(); - deleteDoorLockData.PrimaryId = curDoorLockUser.PrimaryId; - deleteDoorLockData.DelDoorLockDelType = 2; - var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); - if (result != null) - { - if (result.StateCode == "Success") - { - isSecondDel = false; - if (doorLock.localDoorLockUserList.ContainsKey(curDoorLockUser.UserID)) - { - doorLock.localDoorLockUserList.Remove(curDoorLockUser.UserID); - var localDoorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; - localDoorLockObj.UserID = curDoorLockUser.UserID; - doorLock.localDoorLockUserList.Remove(curUserId); - UndateUnlockMethodAction += (obj) => - { - RefreshList(obj); - }; - TypeRefresh(doorLock); - } - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnText); - } - } - else - { - isSecondDel = true; - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnText); - } - } - else - { - if (curDoorLockUser.UserID < 10) - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.OnlyBeDeletedOnTheDevice), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnText); - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnText); - } - } - } - } - else - { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); - } - } - catch { } - finally - { - CommonPage.Loading.Hide(); - } - }; + Height = Application.GetRealHeight(127 + 23), + BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, }; + bodyView.AddChidren(rowFrameLayout); + + var btnDistributeUnlockIconFrameLayout = new FrameLayout() + { + Height = Application.GetRealHeight(84), + Width = Application.GetRealWidth(84), + X = Application.GetRealWidth(58), + Y = Application.GetRealHeight(43), + }; + rowFrameLayout.AddChidren(btnDistributeUnlockIconFrameLayout); + + var btnDistributeUnlockIcon = new Button() + { + Height = Application.GetRealHeight(84), + Width = Application.GetRealWidth(84), + UnSelectedImagePath = "DoorLock/DistributeUnlockIcon.png", + }; + btnDistributeUnlockIconFrameLayout.AddChidren(btnDistributeUnlockIcon); + + var btnText = new Button() + { + X = Application.GetRealWidth(176), + Width = Application.GetRealWidth(300), + Height = Application.GetRealHeight(300), + TextAlignment = TextAlignment.CenterLeft, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, + Gravity = Gravity.CenterVertical, + TextSize = 15, + }; + rowFrameLayout.AddChidren(btnText); var line2 = new Button() { @@ -491,12 +293,46 @@ { line2.Visible = false; } - + switch (curDoorLockUser.UnlockType) + { + case 0: + if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) + { + btnText.Text = curDoorLockUser.UserName; + } + else + { + btnText.Text = Language.StringByID(R.MyInternationalizationString.Password) + "ID" + curDoorLockUser.UserID; + } + break; + case 3: + if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) + { + btnText.Text = curDoorLockUser.UserName; + } + else + { + btnText.Text = Language.StringByID(R.MyInternationalizationString.IcCard) + "ID" + curDoorLockUser.UserID; + } + break; + case 15: + if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) + { + btnText.Text = curDoorLockUser.UserName; + } + else + { + btnText.Text = Language.StringByID(R.MyInternationalizationString.Fingerprint) + "ID" + +curDoorLockUser.UserID; + } + break; + } EventHandler<MouseEventArgs> eHandler = (sender, e) => { MatchUsersFrameLayout(curDoorLockUser); }; + btnDistributeUnlockIcon.MouseUpEventHandler += eHandler; + btnDistributeUnlockIconFrameLayout.MouseUpEventHandler += eHandler; rowFrameLayout.MouseUpEventHandler += eHandler; btnText.MouseUpEventHandler += eHandler; #endregion @@ -652,25 +488,19 @@ btnLine.Visible = false; } - if (!string.IsNullOrEmpty(currentAccount.UserName)) - { - btnUserName.Text = currentAccount.UserName; - } - else - { - btnUserName.Text = currentAccount.Account; - } + btnUserName.Text = currentAccount.ShowName; EventHandler<MouseEventArgs> eHandler = (sender, e) => { - if (doorLock.IsFreezeAccount[currentAccount.SubAccountDistributedMark] == true) - { - Application.RunOnMainThread(() => - { - new Tip() { MaxWidth = 150, Text = btnUserName.Text + Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - }); - return; - } + //鈽嗐優銉笺偗鈽� + //if (doorLock.IsFreezeAccount[currentAccount.SubAccountDistributedMark] == true) + //{ + // Application.RunOnMainThread(() => + // { + // new Tip() { MaxWidth = 150, Text = btnUserName.Text + Language.StringByID(R.MyInternationalizationString.AccountIsFreezed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + // }); + // return; + //} if (!btnChoose.IsSelected) { @@ -690,7 +520,8 @@ oldbuttonChoose.IsSelected = true; oldbuttonChoose.Visible = true; oldUserName.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; - curAccountId = currentAccount.SubAccountDistributedMark; + //鈽嗐優銉笺偗鈽� + //curAccountId = currentAccount.SubAccountDistributedMark; } }; btnChoose.MouseUpEventHandler += eHandler; @@ -727,9 +558,10 @@ else { var addLockInfo = new ZigBee.Device.DoorLock.AddDoorLockData(); - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { - addLockInfo.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + //鈽嗐優銉笺偗鈽� + //addLockInfo.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); addLockInfo.IsOtherAccountCtrl = true; } addLockInfo.CloudAccountId = curAccountId; @@ -761,26 +593,6 @@ addLockInfo.UserIdRemarks = Language.StringByID(R.MyInternationalizationString.IcCard) + "ID" + curDoorLockUser.UserID; } break; - case 13: - if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) - { - addLockInfo.UserIdRemarks = curDoorLockUser.UserName; - } - else - { - addLockInfo.UserIdRemarks = Language.StringByID(R.MyInternationalizationString.CalmFingerprintMark) + "ID" + +curDoorLockUser.UserID; - } - break; - case 14: - if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) - { - addLockInfo.UserIdRemarks = curDoorLockUser.UserName; - } - else - { - addLockInfo.UserIdRemarks = Language.StringByID(R.MyInternationalizationString.FaceIDMark) + "ID" + +curDoorLockUser.UserID; - } - break; case 15: if (!string.IsNullOrEmpty(curDoorLockUser.UserName)) { @@ -796,7 +608,7 @@ var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLock", addLockInfo); if (result != null) { - if (result.StateCode == "Success") + if (result.Code == HttpMessageEnum.A鎴愬姛) { //瀛橀棬閿佷俊鎭� var resultList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetCloudLocalDoorLocklist(doorLock, curAccountId); @@ -814,15 +626,10 @@ Application.RunOnMainThread(() => { new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.DistributeSuccess), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); - UndateUnlockMethodAction += (obj) => - { - RefreshList(obj); - }; - TypeRefresh(doorLock); + TypeRefresh(); CommonPage.Loading.Hide(); flMain.RemoveFromParent(); bottomFrameLayout.RemoveAll(); - }); } else @@ -859,5 +666,150 @@ }); }; } + + /// <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; + 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(); + } + } } } -- Gitblit v1.8.0