From 7bea8bc6d399e9097e3565c2eed48ee6145d6b2f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 12 七月 2023 20:49:11 +0800 Subject: [PATCH] 萤石猫眼,门锁,摄像头功能对接 --- HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs | 434 +++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 346 insertions(+), 88 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs index 062a590..36eea30 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using HDL_ON.Common; using HDL_ON.DAL.Server; +using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; @@ -21,6 +22,9 @@ Function device; VideoDoorlockUser doorlockUser; + public Action delCallBackAction; + + Loading waitPage; public VideoDoorlockUserManagerPage(Function function,VideoDoorlockUser user) { @@ -28,6 +32,9 @@ device = function; doorlockUser = user; BackgroundColor = CSS_Color.BackgroundColor; + waitPage = new Loading(); + bodyView.AddChidren(waitPage); + waitPage.Hide(); } public void LoadPage() @@ -91,25 +98,30 @@ void initOptionView(bool isEdit) { - if(userPermissionsView!= null) + int childrenViewHeight = Application.GetRealWidth(116); + int permissionsViewHeight = Application.GetRealHeight(291 + 92); + if (userPermissionsView!= null) { userPermissionsView.RemoveAll(); + + if (isEdit) + { + permissionsViewHeight = Application.GetRealHeight(391 + 50); + childrenViewHeight = Application.GetRealWidth(156); + } + userPermissionsView.Height = permissionsViewHeight; } - int childrenViewHeight = Application.GetRealHeight( 108); - int permissionsViewHeight = Application.GetRealHeight( 291+92); - if (isEdit) + else { - permissionsViewHeight = Application.GetRealHeight(391 + 92); - childrenViewHeight = Application.GetRealHeight(136); + userPermissionsView = new FrameLayout() + { + Height = permissionsViewHeight, + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + contentView.AddChidren(userPermissionsView); } #region 闂ㄩ攣鐢ㄦ埛寮�閿佹柟寮忕鐞� - userPermissionsView = new FrameLayout() - { - Height = permissionsViewHeight, - BackgroundColor = CSS_Color.MainBackgroundColor, - }; - contentView.AddChidren(userPermissionsView); var userPermissionsTitleView = new FrameLayout() { @@ -135,11 +147,19 @@ TextAlignment = TextAlignment.CenterRight, TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.MainColor, - TextID = StringId.Edit, + TextID = !isEdit? StringId.Edit: StringId.Complete, }; userPermissionsTitleView.AddChidren(btnEditUserPermissions); btnEditUserPermissions.MouseUpEventHandler = (sender, e) => { - initOptionView(isEdit ? false : true); + if(!isEdit) + { + initOptionView(true); + } + else + { + initOptionView(false); + } + }; @@ -147,7 +167,7 @@ var unlockOptionView = new FrameLayout() { Y = userPermissionsTitleView.Bottom, - Height = Application.GetRealHeight(231), + Height =2 * childrenViewHeight +Application.GetRealHeight(20), BackgroundColor = CSS_Color.MainBackgroundColor, }; userPermissionsView.AddChidren(unlockOptionView); @@ -157,7 +177,7 @@ { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(64 + 32), - Height = Application.GetRealHeight(64 + 24 + 20) + Height = childrenViewHeight }; unlockOptionView.AddChidren(fingerprintView); @@ -193,24 +213,70 @@ { btnFingerprintText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.Fingerprints); } - } - if (isEdit) - { - var btnClearFingerprints = new Button() + if (isEdit) { - Y = btnFingerprintText.Bottom, - Width = Application.GetRealWidth(60), - Height = Application.GetRealHeight(28), - BorderWidth = 1, - BorderColor = CSS_Color.MainColor, - Radius = (uint)Application.GetRealWidth(4), - TextID = StringId.Clear, - }; - fingerprintView.AddChidren(btnClearFingerprints); - btnClearFingerprints.MouseUpEventHandler = (sender, e) => { - - }; + var btnClearFingerprints = new Button() + { + X = Application.GetRealWidth(18), + Y = btnFingerprintText.Bottom, + Width = Application.GetRealWidth(60), + Height = Application.GetRealHeight(28), + BorderWidth = 1, + BorderColor = CSS_Color.MainColor, + Radius = (uint)Application.GetRealWidth(4), + TextID = StringId.Clear, + TextColor = CSS_Color.MainColor, + }; + fingerprintView.AddChidren(btnClearFingerprints); + btnClearFingerprints.MouseUpEventHandler = (sender, e) => + { + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + new System.Threading.Thread(() => + { + try + { + var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserFingerPassword(device.deviceId, doorlockUser.lockUserIndex); + if (pack != null && pack.Code == StateCode.SUCCESS) + { + Application.RunOnMainThread(() => + { + //鏇存柊鐣岄潰 + initOptionView(true); + }); + } + else + { + //澶辫触鎻愮ず + Application.RunOnMainThread(() => + { + //澶辫触鎻愮ず + var tip = new Tip() + { + MaxWidth = Application.GetRealWidth(300), + Text = pack.message, + CloseTime = 3, + Direction = AMPopTipDirection.None + }; + tip.Show(MainPage.BaseView); + }); + } + } + catch (Exception ex) + { + MainPage.Log($"delete finger error : {ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + waitPage.Hide(); + }); + } + }) + { IsBackground = true }.Start(); + }; + } } #endregion @@ -220,7 +286,7 @@ { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(64 + 32), - Height = Application.GetRealHeight(64 + 24 + 20) + Height = childrenViewHeight }; unlockOptionView.AddChidren(digitalPasswordView); @@ -256,21 +322,71 @@ { btnDigitalPasswordText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.DigitalPassword); } - } - if (isEdit) - { - var btnClearDigitalPassword = new Button() + if (isEdit) { - Y = btnDigitalPasswordText.Bottom, - Width = Application.GetRealWidth(60), - Height = Application.GetRealHeight(28), - BorderWidth = 1, - BorderColor = CSS_Color.MainColor, - Radius = (uint)Application.GetRealWidth(4), - TextID = StringId.Clear, - }; - digitalPasswordView.AddChidren(btnClearDigitalPassword); + var btnClearDigitalPassword = new Button() + { + X = Application.GetRealWidth(18), + Y = btnDigitalPasswordText.Bottom, + Width = Application.GetRealWidth(60), + Height = Application.GetRealHeight(28), + BorderWidth = 1, + BorderColor = CSS_Color.MainColor, + Radius = (uint)Application.GetRealWidth(4), + TextID = StringId.Clear, + TextColor = CSS_Color.MainColor, + }; + digitalPasswordView.AddChidren(btnClearDigitalPassword); + btnClearDigitalPassword.MouseUpEventHandler = (sender, e) => + { + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + new System.Threading.Thread(() => + { + try + { + var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserNumberPassword(device.deviceId, doorlockUser.lockUserIndex); + if (pack != null && pack.Code == StateCode.SUCCESS) + { + Application.RunOnMainThread(() => + { + //鏇存柊鐣岄潰 + initOptionView(true); + }); + } + else + { + //澶辫触鎻愮ず + Application.RunOnMainThread(() => + { + //澶辫触鎻愮ず + var tip = new Tip() + { + MaxWidth = Application.GetRealWidth(300), + Text = pack.message, + CloseTime = 3, + Direction = AMPopTipDirection.None + }; + tip.Show(MainPage.BaseView); + }); + } + } + catch (Exception ex) + { + MainPage.Log($"delete number password error : {ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + waitPage.Hide(); + }); + } + }) + { IsBackground = true }.Start(); + }; + + } } #endregion @@ -279,7 +395,7 @@ { X = Application.GetRealWidth(263), Width = Application.GetRealWidth(64 + 32), - Height = Application.GetRealHeight(64 + 24 + 20) + Height = childrenViewHeight }; unlockOptionView.AddChidren(nfcView); @@ -315,21 +431,68 @@ { btnNfcText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.NfcKey); } - } - if (isEdit) - { - var btnClearNfc = new Button() + if (isEdit) { - Y = btnNfcText.Bottom, - Width = Application.GetRealWidth(60), - Height = Application.GetRealHeight(28), - BorderWidth = 1, - BorderColor = CSS_Color.MainColor, - Radius = (uint)Application.GetRealWidth(4), - TextID = StringId.Clear, - }; - nfcView.AddChidren(btnClearNfc); + var btnClearNfc = new Button() + { + X = Application.GetRealWidth(18), + Y = btnNfcText.Bottom, + Width = Application.GetRealWidth(60), + Height = Application.GetRealHeight(28), + BorderWidth = 1, + BorderColor = CSS_Color.MainColor, + Radius = (uint)Application.GetRealWidth(4), + TextID = StringId.Clear, + TextColor = CSS_Color.MainColor, + }; + nfcView.AddChidren(btnClearNfc); + btnClearNfc.MouseUpEventHandler = (sender, e) => { + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + new System.Threading.Thread(() => + { + try + { + var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserCardPassword(device.deviceId, doorlockUser.lockUserIndex); + if (pack != null && pack.Code == StateCode.SUCCESS) + { + Application.RunOnMainThread(() => + { + //鏇存柊鐣岄潰 + initOptionView(true); + }); + } + else + { + Application.RunOnMainThread(() => + { + //澶辫触鎻愮ず + var tip = new Tip() + { + MaxWidth = Application.GetRealWidth(300), + Text = pack.message, + CloseTime = 3, + Direction = AMPopTipDirection.None + }; + tip.Show(MainPage.BaseView); + }); + } + } + catch (Exception ex) + { + MainPage.Log($"delete face error : {ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + waitPage.Hide(); + }); + } + }) + { IsBackground = true }.Start(); + }; + } } #endregion @@ -337,9 +500,9 @@ var faceView = new FrameLayout() { X = Application.GetRealWidth(16), - Y = fingerprintView.Bottom+ Application.GetRealHeight(20), + Y = fingerprintView.Bottom, Width = Application.GetRealWidth(64 + 32), - Height = Application.GetRealHeight(64 + 24 + 20) + Height = childrenViewHeight }; unlockOptionView.AddChidren(faceView); @@ -375,21 +538,69 @@ { btnFaceText.Text = doorlockUser.fingerCount + " " + Language.StringByID(StringId.FaceKey); } - } - if (isEdit) - { - var btnClearFace = new Button() + if (isEdit) { - Y = btnFaceText.Bottom, - Width = Application.GetRealWidth(60), - Height = Application.GetRealHeight(28), - BorderWidth = 1, - BorderColor = CSS_Color.MainColor, - Radius = (uint)Application.GetRealWidth(4), - TextID = StringId.Clear, - }; - faceView.AddChidren(btnClearFace); + var btnClearFace = new Button() + { + X = Application.GetRealWidth(18), + Y = btnFaceText.Bottom, + Width = Application.GetRealWidth(60), + Height = Application.GetRealHeight(28), + BorderWidth = 1, + BorderColor = CSS_Color.MainColor, + Radius = (uint)Application.GetRealWidth(4), + TextID = StringId.Clear, + TextColor = CSS_Color.MainColor, + }; + faceView.AddChidren(btnClearFace); + btnClearFace.MouseUpEventHandler = (sender, e) => { + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + new System.Threading.Thread(() => + { + try + { + var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUserFacePassword(device.deviceId, doorlockUser.lockUserIndex); + if (pack != null && pack.Code == StateCode.SUCCESS) + { + Application.RunOnMainThread(() => + { + //鏇存柊鐣岄潰 + initOptionView(true); + }); + } + else + { + Application.RunOnMainThread(() => + { + //澶辫触鎻愮ず + var tip = new Tip() + { + MaxWidth = Application.GetRealWidth(300), + Text = pack.message, + CloseTime = 3, + Direction = AMPopTipDirection.None + }; + tip.Show(MainPage.BaseView); + }); + } + } + catch (Exception ex) + { + MainPage.Log($"delete face error : {ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + waitPage.Hide(); + }); + } + }) + { IsBackground = true }.Start(); + }; + + } } #endregion @@ -399,24 +610,79 @@ var delUserView = new FrameLayout() { - Y = permissionsViewHeight - Application.GetRealHeight(92), - Height = Application.GetRealHeight(92), + Y = unlockOptionView.Bottom, + Height = Application.GetRealHeight(110), BackgroundColor = CSS_Color.BackgroundColor, }; userPermissionsView.AddChidren(delUserView); Button btnDelUser = new Button() { - Y = Application.GetRealHeight(48), + Y = Application.GetRealHeight(40), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(220), - Height = Application.GetRealHeight(44), + Height = Application.GetRealWidth(44), BackgroundColor = CSS_Color.MainBackgroundColor, TextColor = CSS_Color.WarningColor, Radius = (uint)Application.GetRealWidth(22), TextID = StringId.DeleteUser, + TextSize = CSS_FontSize.SubheadingFontSize, }; delUserView.AddChidren(btnDelUser); + + btnDelUser.MouseUpEventHandler = (sender, e) => + { + new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DeleteDoorlockUserTip, () => + { + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + new System.Threading.Thread(() => + { + try + { + var pack = ApiUtlis.Ins.HttpRequest.DeleteDoorlockUser(device.deviceId, doorlockUser.lockUserIndex); + if (pack != null && pack.Code == StateCode.SUCCESS) + { + Application.RunOnMainThread(() => + { + //鏇存柊鐣岄潰 + new PublicAssmebly().TipMsg(StringId.Tip, StringId.DeleteSuccess, () => { + this.RemoveFromParent(); + delCallBackAction?.Invoke(); + }); + }); + } + else + { + Application.RunOnMainThread(() => + { + //澶辫触鎻愮ず + var tip = new Tip() + { + MaxWidth = Application.GetRealWidth(300), + Text = pack.message, + CloseTime = 3, + Direction = AMPopTipDirection.None + }; + tip.Show(MainPage.BaseView); + }); + } + } + catch (Exception ex) + { + MainPage.Log($"delete face error : {ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + waitPage.Hide(); + }); + } + }) + { IsBackground = true }.Start(); + }); + }; + } @@ -446,8 +712,6 @@ { return; } - var waitPage = new Loading(); - bodyView.AddChidren(waitPage); waitPage.Start(Language.StringByID(StringId.PleaseWait)); new System.Threading.Thread(() => { @@ -456,8 +720,6 @@ var resultObj = ApiUtlis.Ins.HttpRequest.EditDoorlockUserName(device.deviceId, doorlockUser.extUserId,str); if (resultObj.Code == StateCode.SUCCESS) { - UserInfo.Current.userName = str; - UserInfo.Current.SaveUserInfo(); Application.RunOnMainThread(() => { btnUserName.Text = str; @@ -477,11 +739,7 @@ { Application.RunOnMainThread(() => { - if (waitPage != null) - { - waitPage.RemoveFromParent(); - waitPage = null; - } + waitPage.Hide(); }); } }) -- Gitblit v1.8.0