From 452e8cef1c740d18ee398be6971d9952e41dbd4a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 12 四月 2023 16:11:50 +0800
Subject: [PATCH] 1
---
HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs | 559 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 501 insertions(+), 58 deletions(-)
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs
index 80b04df..7c88b59 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs
@@ -1,4 +1,6 @@
锘縰sing System;
+using System.Threading;
+using HDL_ON.DAL.Server;
using HDL_ON.UI.CSS;
using Shared;
@@ -14,6 +16,11 @@
Button btnAddMember;
Button btnScan;
EditText etMemberAccount;
+ EditText etMemberName;
+ /// <summary>
+ /// 浜鸿劯鐓х墖鏁版嵁
+ /// </summary>
+ string base64string;
Action backAction;
@@ -29,71 +36,360 @@
bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
new TopViewDiv(bodyView, Language.StringByID(StringId.AddMember)).LoadTopView();
- var btnTitle = new Button()
+ if (Entity.DB_ResidenceData.Instance.SupportFacePass)
{
- Y = Application.GetRealHeight(70),
- X = Application.GetRealWidth(16),
- Height = Application.GetRealHeight(32),
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.TextFontSize,
- TextAlignment = TextAlignment.CenterLeft,
- TextID = StringId.NewMemberAccount,
- };
- bodyView.AddChidren(btnTitle);
+ var btnMemberName = new Button()
+ {
+ Y = Application.GetRealHeight(70),
+ X = Application.GetRealWidth(16),
+ Height = Application.GetRealHeight(32),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextID = StringId.MemberName,
+ };
+ bodyView.AddChidren(btnMemberName);
- etMemberAccount = new EditText()
+ etMemberName = new EditText()
+ {
+ Y = btnMemberName.Bottom,
+ X = Application.GetRealWidth(16),
+ Width = Application.GetRealWidth(356),
+ Height = Application.GetRealHeight(40),
+ TextColor = CSS_Color.TextualColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextAlignment = TextAlignment.CenterLeft,
+ PlaceholderText = Language.StringByID(StringId.PleaseEnterContent),
+ PlaceholderTextColor = CSS_Color.PromptingColor2
+ };
+ bodyView.AddChidren(etMemberName);
+
+ var btnLine = new Button()
+ {
+ Y = etMemberName.Bottom,
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS_Color.DividingLineColor,
+ };
+ bodyView.AddChidren(btnLine);
+
+
+ var btnTitle = new Button()
+ {
+ Y = btnLine.Bottom + Application.GetRealHeight(20),
+ X = Application.GetRealWidth(16),
+ Height = Application.GetRealHeight(32),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextID = StringId.MemberAccount,
+ };
+ bodyView.AddChidren(btnTitle);
+
+ etMemberAccount = new EditText()
+ {
+ Y = btnTitle.Bottom,
+ X = Application.GetRealWidth(16),
+ Width = Application.GetRealWidth(356),
+ Height = Application.GetRealHeight(40),
+ TextColor = CSS_Color.TextualColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextAlignment = TextAlignment.CenterLeft,
+ PlaceholderText = Language.StringByID(StringId.PleaseEnterContent),
+ PlaceholderTextColor = CSS_Color.PromptingColor2
+ };
+ bodyView.AddChidren(etMemberAccount);
+
+ var btnLine1 = new Button()
+ {
+ Y = etMemberAccount.Bottom,
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS_Color.DividingLineColor,
+ };
+ bodyView.AddChidren(btnLine1);
+
+ #region 浜鸿劯绠$悊
+ var btnMemberFaceTitle = new Button()
+ {
+ Y = btnLine1.Bottom + Application.GetRealHeight(20),
+ X = Application.GetRealWidth(16),
+ Height = Application.GetRealHeight(32),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextID = StringId.MemberFace,
+ };
+ bodyView.AddChidren(btnMemberFaceTitle);
+
+ var btnAddFace = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = btnMemberFaceTitle.Bottom,
+ Width = Application.GetRealWidth(120),
+ Height = Application.GetRealWidth(120),
+ Radius = (uint)Application.GetRealWidth(22),
+ BorderWidth = 0,
+ UnSelectedImagePath = "PersonalCenter/FacePassage/FaceIcon.png",
+ TextColor = CSS_Color.MainBackgroundColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ IsBold = true,
+ TextAlignment = TextAlignment.Center,
+ };
+ bodyView.AddChidren(btnAddFace);
+
+
+ EventHandler<MouseEventArgs> eFaceHandler = (sender, e) =>
+ {
+ Application.HideSoftInput();
+ if (OnAppConfig.Instance.FaceManagementTip)
+ {
+ OnAppConfig.Instance.FaceManagementTip = true;
+ OnAppConfig.Instance.SaveConfig();
+ LoadPictureOptionView(btnAddFace);
+ return;
+ }
+
+ Dialog dialog = new Dialog()
+ {
+ BackgroundColor = CSS_Color.DialogTransparentColor1,
+ };
+
+ FrameLayout contentView = new FrameLayout()
+ {
+ Gravity = Gravity.Center,
+ Width = Application.GetRealWidth(270),
+ Height = Application.GetRealHeight(192),
+ BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
+ BorderColor = 0x00000000,
+ BorderWidth = 0,
+ Radius = (uint)Application.GetMinRealAverage(10),
+ };
+ dialog.AddChidren(contentView);
+
+ Button btnTitle2 = new Button()
+ {
+ Y = Application.GetRealHeight(16),
+ Height = Application.GetRealHeight(30),
+ TextColor = CSS_Color.MainColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextAlignment = TextAlignment.Center,
+ IsBold = true,
+ TextID = StringId.FaceProtocolPrompt,
+ };
+ contentView.AddChidren(btnTitle2);
+
+ Button btnMsg = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Height = Application.GetRealHeight(35),
+ Y = btnTitle2.Bottom,
+ Width = Application.GetRealHeight(200),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.TextualColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextID =StringId.FaceProTipText1,
+ IsMoreLines = true,
+ };
+ contentView.AddChidren(btnMsg);
+
+ Button btnMsg1 = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Height = Application.GetRealHeight(15),
+ Y = btnMsg.Bottom,
+ Width = Application.GetRealHeight(200),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.MainColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextID = StringId.FaceProTipText2,
+ IsMoreLines = true,
+ };
+
+ contentView.AddChidren(btnMsg1);
+
+ Button btnMsg2 = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Height = Application.GetRealHeight(35),
+ Y = btnMsg1.Bottom,
+ Width = Application.GetRealHeight(200),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.TextualColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextID = StringId.FaceProTipText3,
+ IsMoreLines = true,
+ };
+ contentView.AddChidren(btnMsg2);
+
+ Button btnLine2 = new Button()
+ {
+ Y = Application.GetRealHeight(149),
+ Height = Application.GetRealHeight(1),
+ Width = Application.GetRealWidth(270 / 2),
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ };
+ contentView.AddChidren(btnLine2);
+
+ Button btnCancel = new Button()
+ {
+ Y = btnLine2.Bottom,
+ Width = Application.GetRealWidth(135),
+ Height = Application.GetRealHeight(43),
+ TextAlignment = TextAlignment.Center,
+ TextColor = CSS_Color.TextualColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ //SelectedTextColor = CSS_Color.MainBackgroundColor,
+ //SelectedBackgroundColor = CSS_Color.MainColor,
+ TextID = StringId.Disagree,
+ };
+ contentView.AddChidren(btnCancel);
+
+ Button btnConfirm = new Button()
+ {
+ X = btnCancel.Right,
+ Y = btnLine2.Y,
+ Width = Application.GetRealWidth(135),
+ Height = Application.GetRealHeight(45),
+ TextAlignment = TextAlignment.Center,
+ //TextColor = CSS_Color.TextualColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextColor = CSS_Color.MainBackgroundColor,
+ BackgroundColor = CSS_Color.MainColor,
+ TextID = StringId.Agree,
+ };
+ contentView.AddChidren(btnConfirm);
+ //渚嬶細鍙充笅鍦嗚 澶у皬涓�50
+ int mRectCornerID = HDLUtils.RectCornerBottomRight;
+ btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID);
+ dialog.Show();
+
+ btnCancel.MouseUpEventHandler += (sender2, e2) =>
+ {
+ dialog.Close();
+ };
+ btnMsg1.MouseUpEventHandler += (sender2, e2) =>
+ {
+ string url = "https://developer.hdlcontrol.com/浜鸿劯淇℃伅閲囬泦鍗忚.html";
+ if (Language.CurrentLanguage != "Chinese")
+ {
+ url = "https://developer.hdlcontrol.com/Face information collection protocol.html";
+ }
+ new WebViewDialog().LoadPage(Language.StringByID(StringId.GetFaceProtocol), url);
+
+ dialog.Close();
+ };
+ btnConfirm.MouseUpEventHandler = (sender2, e2) => {
+ dialog.Close();
+ OnAppConfig.Instance.FaceManagementTip = true;
+ OnAppConfig.Instance.SaveConfig();
+ LoadPictureOptionView(btnAddFace);
+ };
+
+ };
+ btnAddFace.MouseUpEventHandler = eFaceHandler;
+ #endregion
+
+
+ btnAddMember = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = btnAddFace.Bottom + Application.GetRealHeight(30),
+ Width = Application.GetRealWidth(220),
+ Height = Application.GetRealWidth(44),
+ Radius = (uint)Application.GetRealWidth(22),
+ BorderWidth = 0,
+ BorderColor = 0x00000000,
+ BackgroundColor = CSS_Color.MainColor,
+ TextColor = CSS_Color.MainBackgroundColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ IsBold = true,
+ TextAlignment = TextAlignment.Center,
+ TextID = StringId.Confirm,
+ };
+ bodyView.AddChidren(btnAddMember);
+
+
+ btnScan = new Button()
+ {
+ Y = btnTitle.Bottom,
+ Width = Application.GetRealWidth(40),
+ Height = Application.GetRealWidth(40),
+ X = Application.GetRealWidth(310),
+ UnSelectedImagePath = "Public/Scan.png"
+ };
+ bodyView.AddChidren(btnScan);
+
+ }
+ else
{
- Y = btnTitle.Bottom,
- X = Application.GetRealWidth(16),
- Width = Application.GetRealWidth(356),
- Height = Application.GetRealHeight(40),
- TextColor = CSS_Color.TextualColor,
- TextSize = CSS_FontSize.SubheadingFontSize,
- TextAlignment = TextAlignment.CenterLeft,
- PlaceholderText = Language.StringByID(StringId.PleaseEnterContent),
- PlaceholderTextColor = CSS_Color.PromptingColor2
- };
- bodyView.AddChidren(etMemberAccount);
+ var btnTitle2 = new Button()
+ {
+ Y = Application.GetRealHeight(70),
+ X = Application.GetRealWidth(16),
+ Height = Application.GetRealHeight(32),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextID = StringId.NewMemberAccount,
+ };
+ bodyView.AddChidren(btnTitle2);
- var btnLine = new Button()
- {
- Y = etMemberAccount.Bottom,
- Gravity = Gravity.CenterHorizontal,
- Width = Application.GetRealWidth(343),
- Height = Application.GetRealHeight(1),
- BackgroundColor = CSS_Color.DividingLineColor,
- };
- bodyView.AddChidren(btnLine);
+ etMemberAccount = new EditText()
+ {
+ Y = btnTitle2.Bottom,
+ X = Application.GetRealWidth(16),
+ Width = Application.GetRealWidth(356),
+ Height = Application.GetRealHeight(40),
+ TextColor = CSS_Color.TextualColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextAlignment = TextAlignment.CenterLeft,
+ PlaceholderText = Language.StringByID(StringId.PleaseEnterContent),
+ PlaceholderTextColor = CSS_Color.PromptingColor2
+ };
+ bodyView.AddChidren(etMemberAccount);
- btnAddMember = new Button()
- {
- Gravity = Gravity.CenterHorizontal,
- Y = Application.GetRealHeight(244),
- Width = Application.GetRealWidth(220),
- Height = Application.GetRealWidth(44),
- Radius = (uint)Application.GetRealWidth(22),
- BorderWidth = 0,
- BorderColor = 0x00000000,
- BackgroundColor = CSS_Color.MainColor,
- TextColor = CSS_Color.MainBackgroundColor,
- TextSize = CSS_FontSize.SubheadingFontSize,
- IsBold = true,
- TextAlignment = TextAlignment.Center,
- TextID = StringId.ConfirmInvitation,
- };
- bodyView.AddChidren(btnAddMember);
+ var btnLine = new Button()
+ {
+ Y = etMemberAccount.Bottom,
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS_Color.DividingLineColor,
+ };
+ bodyView.AddChidren(btnLine);
- btnScan = new Button()
- {
- Y = btnAddMember.Bottom,
- Height = Application.GetRealHeight(44),
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.MainColor,
- TextSize = CSS_FontSize.TextFontSize,
- TextID = StringId.ScanQRCoden,
- };
- bodyView.AddChidren(btnScan);
+ btnAddMember = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(244),
+ Width = Application.GetRealWidth(220),
+ Height = Application.GetRealWidth(44),
+ Radius = (uint)Application.GetRealWidth(22),
+ BorderWidth = 0,
+ BorderColor = 0x00000000,
+ BackgroundColor = CSS_Color.MainColor,
+ TextColor = CSS_Color.MainBackgroundColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ IsBold = true,
+ TextAlignment = TextAlignment.Center,
+ TextID = StringId.Confirm,
+ };
+ bodyView.AddChidren(btnAddMember);
+ btnScan = new Button()
+ {
+ Y = btnAddMember.Bottom,
+ Height = Application.GetRealHeight(44),
+ TextAlignment = TextAlignment.Center,
+ TextColor = CSS_Color.MainColor,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextID = StringId.ScanQRCoden,
+ };
+ bodyView.AddChidren(btnScan);
+ }
LoadEventList();
}
@@ -137,5 +433,152 @@
}) { IsBackground = true }.Start();
}
+
+ const int imageHeight = 400;
+
+ /// <summary>
+ /// 鍔犺浇鍥炬爣閫夋嫨閫夐」
+ /// </summary>
+ void LoadPictureOptionView(Button btnAddFace)
+ {
+ var pView = new FrameLayout()
+ {
+ BackgroundColor = CSS_Color.DialogTransparentColor1,
+ };
+ bodyView.AddChidren(pView);
+
+ var pictureOptionView = new FrameLayout()
+ {
+ Y = Application.GetRealHeight(445 + 50),
+ Height = Application.GetRealHeight(250),
+ AnimateSpeed = 0.3f,
+ Animate = Animate.DownToUp,
+ };
+ pView.AddChidren(pictureOptionView);
+
+ var optionView = new VerticalScrolViewLayout()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealHeight(100),
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ Radius = (uint)Application.GetRealWidth(12),
+ };
+ pictureOptionView.AddChidren(optionView);
+
+ var btnTakePicture = new Button()
+ {
+ Height = Application.GetRealHeight(50),
+ TextAlignment = TextAlignment.Center,
+ TextColor = CSS_Color.TextualColor,
+ SelectedTextColor = CSS_Color.MainColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextID = StringId.TakePicture,
+ };
+ optionView.AddChidren(btnTakePicture);
+
+ optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
+
+ var btnAlbum = new Button()
+ {
+ Height = Application.GetRealHeight(50),
+ TextAlignment = TextAlignment.Center,
+ TextColor = CSS_Color.TextualColor,
+ SelectedTextColor = CSS_Color.MainColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ TextID = StringId.Album,
+ };
+ optionView.AddChidren(btnAlbum);
+
+ optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
+
+ var btnCancel = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Y = Application.GetRealHeight(8) + optionView.Bottom,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealHeight(50),
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ Radius = (uint)Application.GetRealWidth(12),
+ TextID = StringId.Cancel,
+ TextColor = CSS_Color.WarningColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ };
+ pictureOptionView.AddChidren(btnCancel);
+
+
+
+ pictureOptionView.MouseUpEventHandler = (sender, e) =>
+ {
+ pictureOptionView.Parent.RemoveFromParent();
+ };
+ pView.MouseUpEventHandler = (sender, e) =>
+ {
+ pictureOptionView.Parent.RemoveFromParent();
+ };
+
+ btnCancel.MouseUpEventHandler = (sender, e) =>
+ {
+ pictureOptionView.Parent.RemoveFromParent();
+ };
+ btnTakePicture.MouseDownEventHandler = (sender, e) =>
+ {
+ btnTakePicture.IsSelected = true;
+ };
+ btnTakePicture.MouseUpEventHandler = (sender, e) =>
+ {
+ btnTakePicture.IsSelected = false;
+ var imageName = Guid.NewGuid().ToString();
+ CropImage.TakePicture((imagePath) =>
+ {
+ if (imagePath != null)
+ {
+ var imageBytes = getFaceImageBytes(imagePath);
+ btnAddFace.ImageBytes = imageBytes;
+ base64string = Convert.ToBase64String(imageBytes);
+ }
+
+ }, imageName, 6, 6, imageHeight);
+
+ pictureOptionView.Parent.RemoveFromParent();
+ };
+ btnAlbum.MouseDownEventHandler = (sender, e) =>
+ {
+ btnAlbum.IsSelected = true;
+ };
+
+ btnAlbum.MouseUpEventHandler = (sender, e) =>
+ {
+ btnAlbum.IsSelected = false;
+ //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀
+ var imageName = Guid.NewGuid().ToString();
+ //var imageName = scene.sid;
+ CropImage.SelectPicture((imagePath) =>
+ {
+ if (imagePath != null)
+ {
+ var imageBytes = getFaceImageBytes(imagePath);
+ btnAddFace.ImageBytes = imageBytes;
+ base64string = Convert.ToBase64String(imageBytes);
+ }
+ }, imageName, 6, 6, imageHeight);
+
+ pictureOptionView.Parent.RemoveFromParent();
+ };
+
+ }
+
+ /// <summary>
+ /// 鑾峰彇鏈湴閫夊彇鐨勪汉鑴告暟鎹�
+ /// </summary>
+ /// <param name="selectImagePath"></param>
+ /// <returns></returns>
+ byte[] getFaceImageBytes(string selectImagePath)
+ {
+ var imageBytes = Shared.IO.FileUtils.ReadFile(selectImagePath);
+ System.IO.File.Delete(selectImagePath);
+ return imageBytes;
+ }
+
}
}
\ No newline at end of file
--
Gitblit v1.8.0