From cbc156bc38d8b8eae7aef60cb186ab2b52fa701f Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 16 七月 2024 13:59:56 +0800
Subject: [PATCH] 增加全部挂断

---
 HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs |  443 ++++++++++++++++++------------------------------------
 1 files changed, 150 insertions(+), 293 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs
index 31e0814..b79d50f 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs
@@ -16,6 +16,11 @@
         Button btnAddMember;
         Button btnScan;
         EditText etMemberAccount;
+        EditText etMemberName;
+        /// <summary>
+        /// 浜鸿劯鐓х墖鏁版嵁
+        /// </summary>
+        string base64string;
 
         Action backAction;
 
@@ -29,84 +34,87 @@
         public void LoadPage()
         {
             bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
-            new TopViewDiv(bodyView, Language.StringByID(StringId.AddMember)).LoadTopView();
+            var topView = new TopViewDiv(bodyView, Language.StringByID(StringId.AddMember));
+            topView.maginY = 10;
+            topView.LoadTopView();
+
+            var btnMemberName = new Button()
+            {
+                Y = Application.GetRealHeight(70+10),
+                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);
+
+            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);
+
+            int btnAddmemberY = 30;
             if (Entity.DB_ResidenceData.Instance.SupportFacePass)
             {
-                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);
-
-                var 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);
-
+                btnAddmemberY = 203;
                 #region 浜鸿劯绠$悊
                 var btnMemberFaceTitle = new Button()
                 {
@@ -119,8 +127,6 @@
                     TextID = StringId.MemberFace,
                 };
                 bodyView.AddChidren(btnMemberFaceTitle);
-
-
 
                 var btnAddFace = new Button()
                 {
@@ -141,11 +147,12 @@
 
                 EventHandler<MouseEventArgs> eFaceHandler = (sender, e) =>
                 {
+                    Application.HideSoftInput();
                     if (OnAppConfig.Instance.FaceManagementTip)
                     {
                         OnAppConfig.Instance.FaceManagementTip = true;
                         OnAppConfig.Instance.SaveConfig();
-                        LoadPictureOptionView();
+                        LoadPictureOptionView(btnAddFace);
                         return;
                     }
 
@@ -166,7 +173,7 @@
                     };
                     dialog.AddChidren(contentView);
 
-                    Button btnTitle = new Button()
+                    Button btnTitle2 = new Button()
                     {
                         Y = Application.GetRealHeight(16),
                         Height = Application.GetRealHeight(30),
@@ -176,18 +183,18 @@
                         IsBold = true,
                         TextID = StringId.FaceProtocolPrompt,
                     };
-                    contentView.AddChidren(btnTitle);
+                    contentView.AddChidren(btnTitle2);
 
                     Button btnMsg = new Button()
                     {
                         Gravity = Gravity.CenterHorizontal,
                         Height = Application.GetRealHeight(35),
-                        Y = btnTitle.Bottom,
+                        Y = btnTitle2.Bottom,
                         Width = Application.GetRealHeight(200),
                         TextAlignment = TextAlignment.CenterLeft,
                         TextColor = CSS_Color.TextualColor,
                         TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                        Text = "    涓轰繚鎶ゆ偍鐨勪釜浜洪殣绉佹潈鐩婏紝鐗瑰悜鎮ㄩ�氱煡骞剁敵璇锋槑纭悓鎰忔巿鏉冦�傝浣犱粩缁嗛槄璇�",
+                        TextID = StringId.FaceProTipText1,
                         IsMoreLines = true,
                     };
                     contentView.AddChidren(btnMsg);
@@ -201,9 +208,10 @@
                         TextAlignment = TextAlignment.CenterLeft,
                         TextColor = CSS_Color.MainColor,
                         TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                        Text = "    銆奜n Pro浜鸿劯淇℃伅閲囬泦鍗忚銆�",
+                        TextID = StringId.FaceProTipText2,
                         IsMoreLines = true,
                     };
+
                     contentView.AddChidren(btnMsg1);
 
                     Button btnMsg2 = new Button()
@@ -215,23 +223,23 @@
                         TextAlignment = TextAlignment.CenterLeft,
                         TextColor = CSS_Color.TextualColor,
                         TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                        Text = "    鑻ュ悓鎰忚鍗忚锛岃鐐瑰嚮銆愬悓鎰忋�戞寜閿紝琛ㄧず鎮ㄥ凡缁忕悊瑙e苟鍚屾剰浜鸿劯淇℃伅閲囬泦鍗忚銆�",
+                        TextID = StringId.FaceProTipText3,
                         IsMoreLines = true,
                     };
                     contentView.AddChidren(btnMsg2);
 
-                    Button btnLine = new Button()
+                    Button btnLine2 = new Button()
                     {
                         Y = Application.GetRealHeight(149),
                         Height = Application.GetRealHeight(1),
                         Width = Application.GetRealWidth(270 / 2),
                         BackgroundColor = CSS.CSS_Color.DividingLineColor,
                     };
-                    contentView.AddChidren(btnLine);
+                    contentView.AddChidren(btnLine2);
 
                     Button btnCancel = new Button()
                     {
-                        Y = btnLine.Bottom,
+                        Y = btnLine2.Bottom,
                         Width = Application.GetRealWidth(135),
                         Height = Application.GetRealHeight(43),
                         TextAlignment = TextAlignment.Center,
@@ -246,7 +254,7 @@
                     Button btnConfirm = new Button()
                     {
                         X = btnCancel.Right,
-                        Y = btnLine.Y,
+                        Y = btnLine2.Y,
                         Width = Application.GetRealWidth(135),
                         Height = Application.GetRealHeight(45),
                         TextAlignment = TextAlignment.Center,
@@ -262,130 +270,64 @@
                     btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID);
                     dialog.Show();
 
-                    btnCancel.MouseUpEventHandler += (sender, e) =>
+                    btnCancel.MouseUpEventHandler += (sender2, e2) =>
                     {
                         dialog.Close();
                     };
-                    btnMsg1.MouseUpEventHandler += (sender, e) =>
+                    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("浜鸿劯淇℃伅閲囬泦鍗忚", url);
+                        new WebViewDialog().LoadPage(Language.StringByID(StringId.GetFaceProtocol), url);
 
                         dialog.Close();
                     };
-                    btnConfirm.MouseUpEventHandler = (sender, e) => {
+                    btnConfirm.MouseUpEventHandler = (sender2, e2) =>
+                    {
                         dialog.Close();
                         OnAppConfig.Instance.FaceManagementTip = true;
                         OnAppConfig.Instance.SaveConfig();
-                        LoadPictureOptionView();
+                        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.ConfirmInvitation,
-                };
-                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
+
+            btnAddMember = new Button()
             {
-                var btnTitle = 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(btnTitle);
+                Gravity = Gravity.CenterHorizontal,
+                Y = btnLine1.Bottom + Application.GetRealHeight(btnAddmemberY),
+                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);
 
-                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 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 = btnTitle.Bottom,
+                Width = Application.GetRealWidth(40),
+                Height = Application.GetRealWidth(40),
+                X = Application.GetRealWidth(310),
+                UnSelectedImagePath = "Public/Scan.png"
+            };
+            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.ConfirmInvitation,
-                };
-                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();
         }
 
@@ -435,7 +377,7 @@
         /// <summary>
         /// 鍔犺浇鍥炬爣閫夋嫨閫夐」
         /// </summary>
-        void LoadPictureOptionView()
+        void LoadPictureOptionView(Button btnAddFace)
         {
             var pView = new FrameLayout()
             {
@@ -527,8 +469,14 @@
                 var imageName = Guid.NewGuid().ToString();
                 CropImage.TakePicture((imagePath) =>
                 {
-                    CropImageCallBack(imagePath, 1, imageName);
-                }, imageName, 4, 6, imageHeight);
+                    if (imagePath != null)
+                    {
+                        var imageBytes = getFaceImageBytes(imagePath);
+                        btnAddFace.ImageBytes = imageBytes;
+                        base64string = Convert.ToBase64String(imageBytes);
+                    }
+
+                }, imageName, 6, 6, imageHeight);
 
                 pictureOptionView.Parent.RemoveFromParent();
             };
@@ -545,120 +493,29 @@
                 //var imageName = scene.sid;
                 CropImage.SelectPicture((imagePath) =>
                 {
-                    CropImageCallBack(imagePath, 2, imageName);
-                }, imageName, 4, 6, imageHeight);
+                    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="imagePath">瑁佸壀鍚庣殑鐪熷疄璺緞</param>
-        /// <param name="imageSource">鐓х墖鏉ユ簮锛�1锛氭媿鐓э紱2锛氬浘搴�</param>
-        void CropImageCallBack(string selectImagePath, int imageSource, string imageName)
+        /// <param name="selectImagePath"></param>
+        /// <returns></returns>
+        byte[] getFaceImageBytes(string selectImagePath)
         {
-            if (string.IsNullOrEmpty(selectImagePath) == true)
-            {
-                return;
-            }
-            //涓婁紶鎴愬姛鍒板洖璋�
-            Action<bool> uploadSuccessAction = (isSuccess) =>
-            {
-                //鐐瑰嚮閲嶆柊褰曞叆浜嬩欢
-                Action action = () =>
-                {
-                    if (!isSuccess)
-                    {
-                        if (imageSource == 1)
-                        {
-                            CropImage.TakePicture((imagePath) =>
-                            {
-                                CropImageCallBack(imagePath, 2, imageName);
-                            }, imageName, 4, 6, imageHeight);
-                        }
-                        else
-                        {
-                            CropImage.SelectPicture((imagePath) =>
-                            {
-                                CropImageCallBack(imagePath, 1, imageName);
-                            }, imageName, 4, 6, imageHeight);
-                        }
-                    }
-                };
-
-                if (isSuccess)
-                {
-                    //ReadFaceInfo(false);
-                }
-
-                Application.RunOnMainThread(() =>
-                {
-                    var page = new FaceSettingResultPage(action);
-                    MainPage.BasePageView.AddChidren(page);
-                    page.LoadPage(isSuccess);
-                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                });
-            };
-            //涓婁紶鍥剧墖鍒颁簯绔�
-            UploadImage(selectImagePath, uploadSuccessAction);
-        }
-
-        /// <summary>
-        /// 涓婁紶鍥剧墖鏂规硶
-        /// </summary>
-        /// <param name="selectImagePath">瑁佸壀鍚庣殑鍥剧墖璺緞</param>
-        /// <param name="imageView"></param>
-        /// <param name="uploadResultAction"></param>
-        void UploadImage(string selectImagePath, Action<bool> uploadResultAction)
-        {
-            try
-            {
-                //1.璇诲彇瑁佸壀鍚庣殑鍥剧墖锛岀劧鍚庡垹闄�
-                var imageBytes = Shared.IO.FileUtils.ReadFile(selectImagePath);
-                System.IO.File.Delete(selectImagePath);
-
-                var waitPage = new Loading();
-                bodyView.AddChidren(waitPage);
-                waitPage.Start(Language.StringByID(StringId.PleaseWait));
-                //寮�濮嬩笂浼�
-                new Thread(() =>
-                {
-                    try
-                    {
-                        string base64string = Convert.ToBase64String(imageBytes);
-                        //Utlis.WriteLine("涓婁紶鍥剧墖Length:" + imageBytes.Length + " base64锛�" + base64string);
-                        var pack = new HttpServerRequest().FaceSetting(base64string);
-                        if (pack != null)
-                        {
-                            Utlis.WriteLine("涓婁紶缁撴灉锛�" + pack.message);
-                            uploadResultAction?.Invoke(pack.Code == StateCode.SUCCESS);
-                        }
-                    }
-                    catch (Exception ex)
-                    {
-                    }
-                    finally
-                    {
-                        Application.RunOnMainThread(() =>
-                        {
-                            if (waitPage != null)
-                            {
-                                waitPage.RemoveFromParent();
-                                waitPage = null;
-                            }
-                        });
-                    }
-                })
-                { IsBackground = true }.Start();
-            }
-            catch (Exception ex)
-            {
-                MainPage.Log(ex.Message);
-            }
+            var imageBytes = Shared.IO.FileUtils.ReadFile(selectImagePath);
+            System.IO.File.Delete(selectImagePath);
+            return imageBytes;
         }
 
     }

--
Gitblit v1.8.0