From eaaa2635f9ef5e431e00df922731a54c20cf7016 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期一, 31 七月 2023 19:41:58 +0800 Subject: [PATCH] 三相空开备份 --- HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/UnlockSettingFacePage.cs | 263 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 214 insertions(+), 49 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/UnlockSettingFacePage.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/UnlockSettingFacePage.cs index bd0cae2..7ba9cc4 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/UnlockSettingFacePage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/UnlockSettingFacePage.cs @@ -1,29 +1,39 @@ 锘縰sing System; +using HDL_ON.Common; +using HDL_ON.DAL.Server; +using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock { + /// <summary> + /// 钀ょ煶瑙嗛闂ㄩ攣-浜鸿劯寮�閿佽缃〉闈� + /// </summary> public class UnlockSettingFacePage : FrameLayout { FrameLayout bodyView; bool faceUnlockSwitch; + Function device; - public UnlockSettingFacePage() + public UnlockSettingFacePage(Function function) { bodyView = this; + device = function; } public void LoadPage() { - new TopViewDiv(bodyView, Language.StringByID(StringId.FaceUnlockSetting)).LoadTopView(); + var faceUnlockSetup = new FaceUnlockSetupObj(); + new TopViewDiv(bodyView, Language.StringByID(StringId.FaceUnlockSetting)).LoadTopView(); var contentView = new VerticalScrolViewLayout() { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(600), ScrollEnabled = false, + BackgroundColor = CSS_Color.BackgroundColor, }; bodyView.AddChidren(contentView); @@ -58,7 +68,7 @@ TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, IsMoreLines = true, - TextID = StringId.FaceUnlockTip + TextID = StringId.FaceUnlockOpenTip }; faceUnlockView.AddChidren(btnFaceUnlockTipText); @@ -73,6 +83,13 @@ IsSelected = faceUnlockSwitch, }; faceUnlockView.AddChidren(btnFaceUnlockSwitchIcon); + + + + var waitPage = new Loading(); + bodyView.AddChidren(waitPage); + waitPage.Start(""); + #endregion contentView.AddChidren(new Button() @@ -81,66 +98,192 @@ BackgroundColor = CSS_Color.BackgroundColor, }); - - #region 瑙﹀彂鏂瑰紡 TriggerMode - var triggerModeView = new FrameLayout() + var view = new VerticalScrolViewLayout() { - Height = Application.GetRealHeight(50), - BackgroundColor = CSS.CSS_Color.MainBackgroundColor, + Height = Application.GetRealHeight(300), }; - contentView.AddChidren(triggerModeView); + contentView.AddChidren(view); - var btnTriggerModeRight = new Button() + + btnFaceUnlockSwitchIcon.MouseUpEventHandler = (sender, e) => { - X = Application.GetRealWidth(339), - Gravity = Gravity.CenterVertical, - Width = Application.GetMinRealAverage(16), - Height = Application.GetMinRealAverage(16), - UnSelectedImagePath = "Public/Right.png", + waitPage.Start(""); + bool changeState = false; + if (!btnFaceUnlockSwitchIcon.IsSelected) + { + btnFaceUnlockSwitchIcon.IsSelected = true; + changeState = true; + } + new System.Threading.Thread(() => + { + try + { + var pack = ApiUtlis.Ins.HttpRequest.SetFaceUnlockCfg(device.deviceId, changeState, faceUnlockSetup.mode); + if (pack != null && pack.Code == StateCode.SUCCESS) + { + Application.RunOnMainThread(() => + { + //鏇存柊鐣岄潰 + faceUnlockSetup.enabled = btnFaceUnlockSwitchIcon.IsSelected = changeState; + loadSubView(view, faceUnlockSetup); + }); + } + else + { + //澶辫触鎻愮ず + Application.RunOnMainThread(() => + { + if (!string.IsNullOrEmpty(pack.message)) + { + if (string.IsNullOrEmpty(pack.message)) + { + pack.message = Language.StringByID(StringId.OperationFailed); + } + var tip = new Tip() + { + MaxWidth = Application.GetRealWidth(300), + Text = $"{pack.message}({pack.Code})", + CloseTime = 3, + Direction = AMPopTipDirection.None + }; + tip.Show(MainPage.BaseView); + } + }); + } + } + catch (Exception ex) + { + MainPage.Log($"btnFaceUnlockSwitchIcon error : {ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + waitPage.Hide(); + }); + } + }) + { IsBackground = true }.Start(); }; - triggerModeView.AddChidren(btnTriggerModeRight); - var btnTriggerModeStateText = new Button() + + new System.Threading.Thread(() => { + try + { + var pack = ApiUtlis.Ins.HttpRequest.GetFaceUnlockCfg(device.deviceId); + if (pack != null && pack.Code == StateCode.SUCCESS) + { + Application.RunOnMainThread(() => + { + //鏇存柊鐣岄潰 + faceUnlockSetup = Newtonsoft.Json.JsonConvert.DeserializeObject<FaceUnlockSetupObj>(pack.Data.ToString()); + btnFaceUnlockSwitchIcon.IsSelected = faceUnlockSetup.enabled; + loadSubView(view, faceUnlockSetup); + }); + } + else + { + //澶辫触鎻愮ず + Application.RunOnMainThread(() => + { + if (!string.IsNullOrEmpty(pack.message)) + { + if (string.IsNullOrEmpty(pack.message)) + { + pack.message = Language.StringByID(StringId.OperationFailed); + } + var tip = new Tip() + { + MaxWidth = Application.GetRealWidth(300), + Text = $"{pack.message}({pack.Code})", + CloseTime = 3, + Direction = AMPopTipDirection.None + }; + tip.Show(MainPage.BaseView); + } + }); + } + } + catch (Exception ex) + { + MainPage.Log($"UnlockSettingPage error : {ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + waitPage.Hide(); + }); + } + + }) + { IsBackground = true }.Start(); + + } + + void loadSubView(VerticalScrolViewLayout view, FaceUnlockSetupObj faceUnlockSetup) + { + view.RemoveAll(); + if (faceUnlockSetup.enabled) { - Width = Application.GetRealWidth(223), - TextAlignment = TextAlignment.CenterRight, - TextSize = CSS_FontSize.TextFontSize, - TextColor = CSS_Color.PromptingColor1, - TextID = StringId.ManualTriggering, - }; - triggerModeView.AddChidren(btnTriggerModeStateText); + #region 瑙﹀彂鏂瑰紡 TriggerMode + var triggerModeView = new FrameLayout() + { + Height = Application.GetRealHeight(50), + BackgroundColor = CSS.CSS_Color.MainBackgroundColor, + }; + view.AddChidren(triggerModeView); - var btnTriggerModeText = new Button() - { - X = Application.GetRealWidth(16), - TextSize = CSS_FontSize.SubheadingFontSize, - TextColor = CSS_Color.FirstLevelTitleColor, - TextAlignment = TextAlignment.CenterLeft, - TextID = StringId.TriggerMode, - }; - triggerModeView.AddChidren(btnTriggerModeText); + var btnTriggerModeRight = new Button() + { + X = Application.GetRealWidth(339), + Gravity = Gravity.CenterVertical, + Width = Application.GetMinRealAverage(16), + Height = Application.GetMinRealAverage(16), + UnSelectedImagePath = "Public/Right.png", + }; + triggerModeView.AddChidren(btnTriggerModeRight); - btnTriggerModeText.MouseUpEventHandler = (sender, e) => - { + var btnTriggerModeStateText = new Button() + { + X = Application.GetRealWidth(100), + Width = Application.GetRealWidth(223), + TextAlignment = TextAlignment.CenterRight, + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.PromptingColor1, + }; + triggerModeView.AddChidren(btnTriggerModeStateText); + btnTriggerModeStateText.TextID = faceUnlockSetup.mode == 0 ? StringId.AutomaticTriggering : StringId.ManualTriggering; - }; - #endregion + var btnTriggerModeText = new Button() + { + X = Application.GetRealWidth(16), + TextSize = CSS_FontSize.SubheadingFontSize, + TextColor = CSS_Color.FirstLevelTitleColor, + TextAlignment = TextAlignment.CenterLeft, + TextID = StringId.TriggerMode, + }; + triggerModeView.AddChidren(btnTriggerModeText); - contentView.AddChidren(new Button() - { - Height = 1, - BackgroundColor = CSS_Color.PromptingColor1, - Gravity = Gravity.CenterHorizontal, - }); + btnTriggerModeText.MouseUpEventHandler = (sender, e) => + { + var page = new VideoDoorlockFaceUnlockTriggerSettingPage(device, faceUnlockSetup); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + #endregion + view.AddChidren(new Button { Height = 1, BackgroundColor = CSS_Color.DividingLineColor }); + } #region 浜鸿劯褰曞叆甯姪 var faceEntryHelpView = new FrameLayout() { Height = Application.GetRealHeight(50), BackgroundColor = CSS.CSS_Color.MainBackgroundColor, }; - contentView.AddChidren(faceEntryHelpView); + view.AddChidren(faceEntryHelpView); var btnFaceEntryHelpRight = new Button() { @@ -152,7 +295,7 @@ }; faceEntryHelpView.AddChidren(btnFaceEntryHelpRight); - + var btnFaceEntryHelpText = new Button() { X = Application.GetRealWidth(16), @@ -163,14 +306,36 @@ }; faceEntryHelpView.AddChidren(btnFaceEntryHelpText); - btnFaceEntryHelpText.MouseUpEventHandler = (sender, e) => { - + btnFaceEntryHelpText.MouseUpEventHandler = (sender, e) => + { + var page = new VideoDoorlockFaceUnlockHelpPage(); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; #endregion - - } } + + /// <summary> + /// 浜鸿劯寮�閿侀厤缃� + /// </summary> + public class FaceUnlockSetupObj + { + /// <summary> + /// 寮�鍏� + /// </summary> + public bool enabled = false; + /// <summary> + /// 瑙i攣鏂瑰紡 0-鑷姩 1-鎵嬪姩 + /// </summary> + public int mode; + /// <summary> + /// 鐏垫晱搴� 0-楂� 1-浣� + /// </summary> + public int sensitivity; + + } } -- Gitblit v1.8.0