From c1cb2d8c6034a2ee7aa8a5710bba15b14f76cebc Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期五, 18 八月 2023 18:54:31 +0800
Subject: [PATCH] 2023年08月18日18:54:22
---
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/UnlockSettingFacePage.cs | 254 +++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 205 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..a9eaf42 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,183 @@
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(() =>
+ {
+ //鏇存柊鐣岄潰
+ btnFaceUnlockSwitchIcon.IsSelected = changeState;
+ loadSubView(view, faceUnlockSetup);
+ });
+ }
+ else
+ {
+ //澶辫触鎻愮ず
+ Application.RunOnMainThread(() =>
+ {
+ if (!string.IsNullOrEmpty(pack.message))
+ {
+ 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))
+ {
+ 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)
+ {
+ 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 +286,7 @@
};
faceEntryHelpView.AddChidren(btnFaceEntryHelpRight);
-
+
var btnFaceEntryHelpText = new Button()
{
X = Application.GetRealWidth(16),
@@ -163,14 +297,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