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