From 86c5efb3d78c3fe294da95872b43bac1ce324c08 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 16 三月 2023 10:43:41 +0800
Subject: [PATCH] 修复功能信息修改直接返回两次回调问题

---
 HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs |  150 +++++++++++--------------------------------------
 1 files changed, 34 insertions(+), 116 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..e35b1c0 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;
 
@@ -31,7 +36,6 @@
             bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
             new TopViewDiv(bodyView, Language.StringByID(StringId.AddMember)).LoadTopView();
 
-
             if (Entity.DB_ResidenceData.Instance.SupportFacePass)
             {
                 var btnMemberName = new Button()
@@ -46,7 +50,7 @@
                 };
                 bodyView.AddChidren(btnMemberName);
 
-                var etMemberName = new EditText()
+                etMemberName = new EditText()
                 {
                     Y = btnMemberName.Bottom,
                     X = Application.GetRealWidth(16),
@@ -120,8 +124,6 @@
                 };
                 bodyView.AddChidren(btnMemberFaceTitle);
 
-
-
                 var btnAddFace = new Button()
                 {
                     Gravity = Gravity.CenterHorizontal,
@@ -141,11 +143,12 @@
 
                 EventHandler<MouseEventArgs> eFaceHandler = (sender, e) =>
                 {
+                    Application.HideSoftInput();
                     if (OnAppConfig.Instance.FaceManagementTip)
                     {
                         OnAppConfig.Instance.FaceManagementTip = true;
                         OnAppConfig.Instance.SaveConfig();
-                        LoadPictureOptionView();
+                        LoadPictureOptionView(btnAddFace);
                         return;
                     }
 
@@ -281,7 +284,7 @@
                         dialog.Close();
                         OnAppConfig.Instance.FaceManagementTip = true;
                         OnAppConfig.Instance.SaveConfig();
-                        LoadPictureOptionView();
+                        LoadPictureOptionView(btnAddFace);
                     };
 
                 };
@@ -303,7 +306,7 @@
                     TextSize = CSS_FontSize.SubheadingFontSize,
                     IsBold = true,
                     TextAlignment = TextAlignment.Center,
-                    TextID = StringId.ConfirmInvitation,
+                    TextID = StringId.Confirm,
                 };
                 bodyView.AddChidren(btnAddMember);
 
@@ -371,7 +374,7 @@
                     TextSize = CSS_FontSize.SubheadingFontSize,
                     IsBold = true,
                     TextAlignment = TextAlignment.Center,
-                    TextID = StringId.ConfirmInvitation,
+                    TextID = StringId.Confirm,
                 };
                 bodyView.AddChidren(btnAddMember);
 
@@ -435,7 +438,7 @@
         /// <summary>
         /// 鍔犺浇鍥炬爣閫夋嫨閫夐」
         /// </summary>
-        void LoadPictureOptionView()
+        void LoadPictureOptionView(Button btnAddFace)
         {
             var pView = new FrameLayout()
             {
@@ -527,8 +530,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 +554,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