From 61af8b06212a470308e02fd9af929f0f30955107 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期一, 13 三月 2023 15:16:20 +0800 Subject: [PATCH] 传感器优化 --- HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs | 251 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 247 insertions(+), 4 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs index d96b5c4..ad4cd51 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs @@ -3,6 +3,8 @@ using HDL_ON.Entity; using HDL_ON.UI.CSS; using System.Collections.Generic; +using System.Threading; +using HDL_ON.DAL.Server; namespace HDL_ON.UI { @@ -119,7 +121,7 @@ TextID = StringId.Member }; userTypeView.AddChidren(btnUserTypeName); - if(Language.CurrentLanguage == "English") + if (Language.CurrentLanguage == "English") { userTypeView.X = Application.GetRealWidth(260); } @@ -258,7 +260,8 @@ EventHandler<MouseEventArgs> eHandler = (sender, e) => { - action = () => { + action = () => + { residenceMemberInfos.Remove(memberInfo); LoadMemberRow(); }; @@ -316,7 +319,7 @@ { if (OnAppConfig.Instance.FaceManagementTip) { - + LoadPictureOptionView(); return; } @@ -448,6 +451,13 @@ dialog.Close(); }; + btnConfirm.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + OnAppConfig.Instance.FaceManagementTip = true; + OnAppConfig.Instance.SaveConfig(); + LoadPictureOptionView(); + }; }; view4.MouseUpEventHandler = eHandler; @@ -490,5 +500,238 @@ //#endregion } } + + + const int imageHeight = 400; + + /// <summary> + /// 鍔犺浇鍥炬爣閫夋嫨閫夐」 + /// </summary> + void LoadPictureOptionView() + { + 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) => + { + CropImageCallBack(imagePath, 1, imageName); + }, imageName, 4, 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) => + { + CropImageCallBack(imagePath, 2, imageName); + }, imageName, 4, 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) + { + 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); + } + } + } -} +} \ No newline at end of file -- Gitblit v1.8.0