From 8cf6ab121d1cca81973de1a4cbe387c1a4a8308a Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 15 三月 2023 11:04:48 +0800 Subject: [PATCH] 人脸管理完成,缺个更新人脸返回 --- HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs | 14 HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs | 448 ----------------- HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs | 29 HDL-ON_Android/Assets/Language.ini | 10 HDL_ON/Common/ImageUtlis.cs | 1 HDL_ON/HDL_ON.projitems | 1 HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs | 12 HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs | 8 HDL_ON/DAL/Server/NewAPI.cs | 8 HDL_ON/DAL/Server/NewApiRes.cs | 4 HDL_ON/DAL/Server/HttpUtil.cs | 19 HDL_ON/Common/R.cs | 9 HDL_ON/DAL/Server/HttpServerRequest.cs | 67 ++ HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFaceManagementPage.cs | 610 +++++++++++++++++++++++++ HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs | 150 +---- SiriIntents/Server/HttpUtil.cs | 17 16 files changed, 813 insertions(+), 594 deletions(-) diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini index 7973230..4e47611 100644 --- a/HDL-ON_Android/Assets/Language.ini +++ b/HDL-ON_Android/Assets/Language.ini @@ -578,6 +578,8 @@ 591=*Member name 592=Member account 593=Face photo +594=Please enter member name +595=Delete 2532=Visitor Invitation Record @@ -1826,6 +1828,8 @@ 591=*鎴愬憳鍚嶇О 592=鎴愬憳璐﹀彿 593=浜鸿劯鐓х墖 +594=璇疯緭鍏ユ垚鍛樺悕绉� +595=鍒犻櫎浜鸿劯鏁版嵁 @@ -3051,6 +3055,8 @@ 591=*Member name 592=Member account 593=Face photo +594=Please enter member name +595=Delete @@ -4279,6 +4285,8 @@ 591=*Member name 592=Member account 593=Face photo +594=Please enter member name +595=Delete @@ -5492,6 +5500,8 @@ 591=*Member name 592=Member account 593=Face photo +594=Please enter member name +595=Delete 1000=袙谢邪卸薪芯褋褌 胁 褋褌邪褟褌邪 diff --git a/HDL_ON/Common/ImageUtlis.cs b/HDL_ON/Common/ImageUtlis.cs index 34c5bf5..87c0daf 100644 --- a/HDL_ON/Common/ImageUtlis.cs +++ b/HDL_ON/Common/ImageUtlis.cs @@ -281,7 +281,6 @@ if (imageView != null) { imageView.ImageBytes = imageBytes; - //Utlis.WriteLine("imageKey 鍔犺浇浜戠涓嬭浇鍥剧墖鎴愬姛"); } }); } diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs index e8cedee..73dc6b3 100644 --- a/HDL_ON/Common/R.cs +++ b/HDL_ON/Common/R.cs @@ -4,7 +4,14 @@ { public static class StringId { - + /// <summary> + /// 鍒犻櫎浜鸿劯鏁版嵁 + /// </summary> + public const int DeleteMemberFace = 595; + /// <summary> + /// 璇疯緭鍏ユ垚鍛樺娉� + /// </summary> + public const int PlsEntrySubAccountRemark = 594; /// <summary> /// 浜鸿劯鐓х墖 /// </summary> diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs index ac5de30..7d4034e 100644 --- a/HDL_ON/DAL/Server/HttpServerRequest.cs +++ b/HDL_ON/DAL/Server/HttpServerRequest.cs @@ -726,7 +726,7 @@ { var requestObj = new ChildDeleteObj() { - childAccountId = subaccount.childAccountId, + childId = subaccount.id, homeId = subaccount.homeId }; var requestJson = HttpUtil.GetSignRequestJson(requestObj); @@ -741,12 +741,11 @@ /// <returns></returns> public ResponsePackNew EditSubAccountNickName(string nickName, string childAccountId) { - var requestJson = HttpUtil.GetSignRequestJson(new UpdateChildNickNameObj() - { - homeId = DB_ResidenceData.Instance.CurrentRegion.id, - childAccountId = childAccountId, - nickName = nickName, - }); + var d = new Dictionary<string, string>(); + d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); + d.Add("childId", childAccountId); + d.Add("nickName", nickName); + var requestJson = HttpUtil.GetSignRequestJson(d); return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Update, requestJson); } @@ -761,7 +760,7 @@ var requestJson = HttpUtil.GetSignRequestJson(new UpdateChildAllowCreateSceneObj() { homeId = DB_ResidenceData.Instance.CurrentRegion.id, - childAccountId = childAccountId, + childId = childAccountId, isAllowCreateScene = isAllow, }); return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Update, requestJson); @@ -977,10 +976,60 @@ public ResponsePackNew BindResidenceMemberAccount(string subAccount, string nickName) { //娣诲姞瀛愯处鍙� - var requestObj = new ChildAddObj() { homeId = DB_ResidenceData.Instance.CurrentRegion.id, account = subAccount, nickName = nickName }; + var requestObj = new ChildAddObj() + { + homeId = DB_ResidenceData.Instance.CurrentRegion.id, + account = subAccount, + nickName = nickName + }; var requestJson = HttpUtil.GetSignRequestJson(requestObj); return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Add, requestJson); + } + //v1.7鏇存柊鎺ュ彛 + public ResponsePackNew BindResidenceMemberAccount(string subAccount, string nickName,string faceUrl) + { + //娣诲姞瀛愯处鍙� + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); + d.Add("nickName", nickName); + if (!string.IsNullOrEmpty(subAccount)) + { + d.Add("account", subAccount); + } + if (!string.IsNullOrEmpty(faceUrl)) + { + d.Add("faceUrl", @"data:image/jpg;base64," + faceUrl); + } + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_Add, requestJson); + } + /// <summary> + /// 鍒犻櫎鎴愬憳璐﹀彿浜鸿劯鏁版嵁 + /// </summary> + /// <param name="subAccount"></param> + /// <param name="nickName"></param> + /// <param name="faceUrl"></param> + /// <returns></returns> + public ResponsePackNew DeleteMemberFace( string childId) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); + d.Add("childId", childId); + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_RemoveFace, requestJson); + } + /// <summary> + /// 鏇存柊鎴愬憳璐﹀彿浜鸿劯鏁版嵁 + /// </summary> + public ResponsePackNew UpdataMemberFace(string childId, string faceUrl) + { + Dictionary<string, object> d = new Dictionary<string, object>(); + d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id); + d.Add("childId", childId); + d.Add("userFace", @"data:image/jpg;base64," + faceUrl); + var requestJson = HttpUtil.GetSignRequestJson(d); + return HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_Child_UpdateFace, requestJson); } /// <summary> diff --git a/HDL_ON/DAL/Server/HttpUtil.cs b/HDL_ON/DAL/Server/HttpUtil.cs index 511a91e..64fc404 100644 --- a/HDL_ON/DAL/Server/HttpUtil.cs +++ b/HDL_ON/DAL/Server/HttpUtil.cs @@ -17,8 +17,13 @@ /// 鍥哄畾鍩熷悕,姝e紡鐜 /// 鍏叡鍩熷悕灏辫繎瑙f瀽 /// </summary> - public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; - //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm + //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; + //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com"; + //const string APP_KEY = "HDL-HOME-APP-TEST"; + //const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss"; + public const string GlobalRequestHttpsHost = "http://59.41.255.150:7777";//mmmm + const string APP_KEY = "CPEVRLRT"; + const string SECRET_KEY = "CPEVRLSJCPEVRLSZ"; /// <summary> /// RegionMark /// </summary> @@ -230,7 +235,7 @@ } else { - HDL_ON.Utlis.WriteLine(response.Content); + HDL_ON.Utlis.WriteLine($"鎺ュ彛寮傚父:{requestFullUrl} \r\n"+response.ErrorMessage); return new ResponsePackNew() { Code = StateCode.NETWORK_ERROR }; } @@ -521,14 +526,6 @@ #endregion #region **********绛惧悕鏍¢獙********** - /// <summary> - /// - /// </summary> - const string APP_KEY = "HDL-HOME-APP-TEST"; - /// <summary> - /// - /// </summary> - const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss"; /// <summary> /// 鑾峰彇褰撳墠鏃堕棿鎴冲�� diff --git a/HDL_ON/DAL/Server/NewAPI.cs b/HDL_ON/DAL/Server/NewAPI.cs index e7e96bd..57dac3a 100644 --- a/HDL_ON/DAL/Server/NewAPI.cs +++ b/HDL_ON/DAL/Server/NewAPI.cs @@ -155,6 +155,14 @@ /// </summary> public const string API_POST_Child_Update = "/home-wisdom/app/child/account/update"; /// <summary> + /// 鏇存柊鎴愬憳璐﹀彿浜鸿劯淇℃伅 + /// </summary> + public const string API_POST_Child_UpdateFace = "/home-wisdom/app/child/account/updateFace"; + /// <summary> + /// 鍒犻櫎鎴愬憳璐﹀彿浜鸿劯淇℃伅 + /// </summary> + public const string API_POST_Child_RemoveFace = "/home-wisdom/app/child/account/removeFace"; + /// <summary> /// 瀛愯处鍙风鐞嗗憳鑾峰彇涓昏处鍙锋巿鏉僒oken /// </summary> public const string API_POST_Child_GetMasterToken = "/home-wisdom/app/child/account/masterToken/get"; diff --git a/HDL_ON/DAL/Server/NewApiRes.cs b/HDL_ON/DAL/Server/NewApiRes.cs index 6bb1700..955e396 100644 --- a/HDL_ON/DAL/Server/NewApiRes.cs +++ b/HDL_ON/DAL/Server/NewApiRes.cs @@ -885,7 +885,7 @@ /// <summary> /// 瀛愯处鍙稩D childAccountId /// </summary> - public string childAccountId; + public string childId; /// <summary> /// 浣忓畢 /// </summary> @@ -908,7 +908,7 @@ /// <summary> /// 瀛愯处鎴风被鍨� ORDINARY銆丏EBUG銆丄DMIN /// </summary> - public string childAccountType; + //public string childAccountType; ///// <summary> ///// 鏄惁鍏佽杩滅▼鎺у埗 0:鍏佽 1:涓嶅厑璁� ///// </summary> diff --git a/HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs b/HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs index 2c1680d..465a0cc 100644 --- a/HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs +++ b/HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs @@ -13,6 +13,16 @@ public ResidenceMemberInfo() { } + /// <summary> + /// 鏄惁铏氭嫙璐﹀彿 + /// </summary> + public bool isVirtualAccount + { + get + { + return string.IsNullOrEmpty(childAccountId); + } + } //public string Account = ""; //public string UserName = ""; @@ -101,6 +111,10 @@ /// </summary> public string memberHeadIcon; /// <summary> + /// 浜鸿劯鐓х墖 + /// </summary> + public string userFaceUrl; + /// <summary> /// 鐢ㄦ埛璐﹀彿 /// 浼樺厛鏄剧ず鎵嬫満鍙凤紝濡傛灉鎵嬫満鍙蜂负绌哄垯鏄剧ず閭鍦板潃 /// </summary> diff --git a/HDL_ON/HDL_ON.projitems b/HDL_ON/HDL_ON.projitems index 3b6e83f..dbf7c92 100644 --- a/HDL_ON/HDL_ON.projitems +++ b/HDL_ON/HDL_ON.projitems @@ -531,6 +531,7 @@ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\OrderFunctionPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\Face\FaceManagementPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\DeliveryQrCodePage.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberFaceManagementPage.cs" /> </ItemGroup> <ItemGroup> <Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" /> 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; } } diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs index 3ed1e67..066bd64 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs @@ -22,12 +22,14 @@ { btnAddMember.MouseUpEventHandler = (sender, e) => { var memberAccount = etMemberAccount.Text.Trim(); - if(string.IsNullOrEmpty(memberAccount)) + var name = etMemberName.Text.Trim(); + if(string.IsNullOrEmpty(name)) { - TipDivMsg(Language.StringByID(StringId.PlsEntryAccount)); + TipDivMsg(Language.StringByID(StringId.PlsEntrySubAccountRemark)); return; } - BindMember(memberAccount); + + BindMember(memberAccount, name, base64string); }; } @@ -35,7 +37,7 @@ /// 缁戝畾璐﹀彿 /// </summary> /// <param name="memberAccount"></param> - void BindMember(string memberAccount) + void BindMember(string memberAccount,string nickName,string faceUrl) { var waitPage = new Loading(); bodyView.AddChidren(waitPage); @@ -45,7 +47,7 @@ { try { - var result = new HttpServerRequest().BindResidenceMemberAccount(memberAccount, memberAccount); + var result = new HttpServerRequest().BindResidenceMemberAccount(memberAccount, nickName,faceUrl); if (result.Code == StateCode.SUCCESS) { Application.RunOnMainThread(() => diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFaceManagementPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFaceManagementPage.cs new file mode 100644 index 0000000..fc17912 --- /dev/null +++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFaceManagementPage.cs @@ -0,0 +1,610 @@ +锘縰sing System; +using System.Threading; +using HDL_ON.DAL.Server; +using HDL_ON.Entity; +using HDL_ON.UI.CSS; +using Shared; + +namespace HDL_ON.UI +{ + /// <summary> + /// 澧炲姞瀛愯处鍙风晫闈� + /// </summary> + public partial class MemberFaceManagementPage : FrameLayout + { + FrameLayout bodyView; + + /// <summary> + /// 浜鸿劯鐓х墖鏁版嵁 + /// </summary> + string base64string; + ResidenceMemberInfo memberInfo; + public MemberFaceManagementPage(ResidenceMemberInfo memberInfo) + { + bodyView = this; + this.memberInfo = memberInfo; + } + + + public void LoadPage() + { + bodyView.BackgroundColor = CSS_Color.MainBackgroundColor; + new TopViewDiv(bodyView, memberInfo.nickName).LoadTopView(); + + #region 浜鸿劯绠$悊 + var btnMemberFaceTitle = new Button() + { + Y = Application.GetRealHeight(80), + 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(230), + Height = Application.GetRealWidth(230), + 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) => + { + 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 btnTitle = 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(btnTitle); + + Button btnMsg = new Button() + { + Gravity = Gravity.CenterHorizontal, + Height = Application.GetRealHeight(35), + Y = btnTitle.Bottom, + Width = Application.GetRealHeight(200), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.TextualColor, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + Text = " 涓轰繚鎶ゆ偍鐨勪釜浜洪殣绉佹潈鐩婏紝鐗瑰悜鎮ㄩ�氱煡骞剁敵璇锋槑纭悓鎰忔巿鏉冦�傝浣犱粩缁嗛槄璇�", + 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, + Text = " 銆奜n Pro浜鸿劯淇℃伅閲囬泦鍗忚銆�", + 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, + Text = " 鑻ュ悓鎰忚鍗忚锛岃鐐瑰嚮銆愬悓鎰忋�戞寜閿紝琛ㄧず鎮ㄥ凡缁忕悊瑙e苟鍚屾剰浜鸿劯淇℃伅閲囬泦鍗忚銆�", + IsMoreLines = true, + }; + contentView.AddChidren(btnMsg2); + + Button btnLine = new Button() + { + Y = Application.GetRealHeight(149), + Height = Application.GetRealHeight(1), + Width = Application.GetRealWidth(270 / 2), + BackgroundColor = CSS.CSS_Color.DividingLineColor, + }; + contentView.AddChidren(btnLine); + + Button btnCancel = new Button() + { + Y = btnLine.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 = btnLine.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 += (sender, e) => + { + dialog.Close(); + }; + btnMsg1.MouseUpEventHandler += (sender, e) => + { + 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); + + dialog.Close(); + }; + btnConfirm.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + OnAppConfig.Instance.FaceManagementTip = true; + OnAppConfig.Instance.SaveConfig(); + LoadPictureOptionView(btnAddFace); + }; + + }; + btnAddFace.MouseUpEventHandler = eFaceHandler; + #endregion + + var btnDeleteFaceDate = 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.WarningColor, + TextColor = CSS_Color.MainBackgroundColor, + TextSize = CSS_FontSize.SubheadingFontSize, + IsBold = true, + TextAlignment = TextAlignment.Center, + TextID = StringId.DeleteMemberFace, + }; + bodyView.AddChidren(btnDeleteFaceDate); + + btnDeleteFaceDate.MouseUpEventHandler = (sender, e) => { + var waitPage = new Loading(); + waitPage.Start(""); + new Thread(() => + { + try + { + var pack = new HttpServerRequest().DeleteMemberFace(memberInfo.id); + if (pack != null) + { + if(pack.Code == StateCode.SUCCESS) + { + Application.RunOnMainThread(() => + { + btnAddFace.ImageBytes = null; + btnAddFace.UnSelectedImagePath = "PersonalCenter/FacePassage/FaceIcon.png"; + btnDeleteFaceDate.Enable = btnDeleteFaceDate.Visible = false; + }); + } + } + else + { + Application.RunOnMainThread(() => + { + TipDivMsg(Language.StringByID(StringId.delFail)); + }); + } + } + catch (Exception ex) + { + } + finally + { + Application.RunOnMainThread(() => + { + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } + }); + } + }) + { IsBackground = true }.Start(); + + }; + + if (!string.IsNullOrEmpty(memberInfo.userFaceUrl)) + { + var waitPage = new Loading(); + waitPage.Start(""); + new Thread(() => + { + try + { + var bytes = downloadImageBytes(memberInfo.userFaceUrl); + if (bytes != null) + { + Application.RunOnMainThread(() => + { + btnAddFace.ImageBytes = bytes; + }); + } + } + catch (Exception ex) + { + } + finally + { + Application.RunOnMainThread(() => + { + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } + }); + } + }) + { IsBackground = true }.Start(); + } + else + { + btnDeleteFaceDate.Enable = btnDeleteFaceDate.Visible = false; + } + } + + void TipDivMsg(string msg) + { + var tipBodyView = new FrameLayout(); + bodyView.AddChidren(tipBodyView); + + var msgView = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(167), + Width = Application.GetRealWidth(210), + Height = Application.GetRealHeight(62), + Radius = (uint)Application.GetRealWidth(8), + BorderWidth = 0, + BorderColor = 0x00000000, + BackgroundColor = 0xFF333333, + }; + tipBodyView.AddChidren(msgView); + + var btnMsg = new Button() + { + Gravity = Gravity.Center, + Width = Application.GetRealWidth(186), + Height = Application.GetRealHeight(42), + TextColor = CSS_Color.MainBackgroundColor, + TextSize = CSS_FontSize.TextFontSize, + TextAlignment = TextAlignment.Center, + Text = msg, + IsMoreLines = true, + }; + msgView.AddChidren(btnMsg); + + new System.Threading.Thread(() => { + System.Threading.Thread.Sleep(1200); + Application.RunOnMainThread(() => { + tipBodyView.RemoveAll(); + tipBodyView.RemoveFromParent(); + }); + }) + { 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) => + { + CropImageCallBack(imagePath, 1, imageName); + }, 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) => + { + CropImageCallBack(imagePath, 2, imageName); + }, imageName, 6, 6, imageHeight); + + pictureOptionView.Parent.RemoveFromParent(); + }; + + } + + /// <summary> + /// 涓嬭浇浜戠浜鸿劯鍥剧墖 + /// </summary> + /// <param name="imageUrl"></param> + /// <returns></returns> + byte[] downloadImageBytes(string imageUrl) + { + var imageBytes = ImageUtlis.Current.GetImageDownloadUrl(imageUrl); + + return imageBytes; + } + + + /// <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, 1, imageName); + }, imageName, 6, 6, imageHeight); + } + else + { + CropImage.SelectPicture((imagePath) => + { + CropImageCallBack(imagePath, 2, imageName); + }, imageName, 6, 6, imageHeight); + } + } + }; + + //if (isSuccess) + //{ + //} + + 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); + var pack = new HttpServerRequest().UpdataMemberFace(memberInfo.id, base64string); + if (pack != null) + { + Utlis.WriteLine("涓婁紶缁撴灉锛�" + pack.message); + if(pack.Code == StateCode.SUCCESS) + { + Application.RunOnMainThread(() => + { + this.RemoveFromParent(); + }); + } + 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 diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs index ad4cd51..0186ae1 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs @@ -29,6 +29,9 @@ public void LoadPage() { +#if DEBUG + Entity.DB_ResidenceData.Instance.SupportFacePass = true; +#endif bodyView.BackgroundColor = CSS_Color.BackgroundColor; //鍒涘缓璇诲彇鎴愬憳璐﹀彿绾跨▼ var thread = LoadThread_GetResidenceMemberAccount(); @@ -79,7 +82,6 @@ { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), - //Height = Application.GetRealWidth(230), Height = Application.GetRealWidth(180), BackgroundColor = CSS_Color.MainBackgroundColor, Radius = (uint)Application.GetRealWidth(12), @@ -151,7 +153,11 @@ Text = HDLCommon.Current.GetUserName(memberInfo.memberName) }; view1.AddChidren(btnMemberName); + if (memberInfo.isVirtualAccount) + { + btnMemberName.Text = memberInfo.nickName; + } var btnMemberEmail = new Button() { X = Application.GetRealWidth(88), @@ -219,7 +225,7 @@ Width = Application.GetRealWidth(311), BackgroundColor = CSS_Color.DividingLineColor, }); - LoadView_EidtNickname(btnNickname, btnNicknameRight, memberInfo); + LoadView_EidtNickname(btnNickname, btnNicknameRight, memberInfo, memberInfo.isVirtualAccount ? btnMemberName : null); #endregion #region 浣跨敤鏉冮檺 @@ -250,13 +256,7 @@ }; view3.AddChidren(btnPermissionRight); - sView.AddChidren(new Button() - { - Gravity = Gravity.CenterHorizontal, - Height = Application.GetRealWidth(1), - Width = Application.GetRealWidth(311), - BackgroundColor = CSS_Color.DividingLineColor, - }); + EventHandler<MouseEventArgs> eHandler = (sender, e) => { @@ -280,6 +280,14 @@ #region 浜鸿劯绠$悊 if (Entity.DB_ResidenceData.Instance.SupportFacePass) { + sView.AddChidren(new Button() + { + Gravity = Gravity.CenterHorizontal, + Height = Application.GetRealWidth(1), + Width = Application.GetRealWidth(311), + BackgroundColor = CSS_Color.DividingLineColor, + }); + var view4 = new FrameLayout() { Height = Application.GetRealWidth(49), @@ -307,431 +315,21 @@ }; view4.AddChidren(btnFaceManagementRight); - //sView.AddChidren(new Button() - //{ - // Gravity = Gravity.CenterHorizontal, - // Height = Application.GetRealWidth(1), - // Width = Application.GetRealWidth(311), - // BackgroundColor = CSS_Color.DividingLineColor, - //}); EventHandler<MouseEventArgs> eFaceHandler = (sender, e) => { - if (OnAppConfig.Instance.FaceManagementTip) - { - LoadPictureOptionView(); - 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 btnTitle = 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(btnTitle); - - Button btnMsg = new Button() - { - Gravity = Gravity.CenterHorizontal, - Height = Application.GetRealHeight(35), - Y = btnTitle.Bottom, - Width = Application.GetRealHeight(200), - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.TextualColor, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - Text = " 涓轰繚鎶ゆ偍鐨勪釜浜洪殣绉佹潈鐩婏紝鐗瑰悜鎮ㄩ�氱煡骞剁敵璇锋槑纭悓鎰忔巿鏉冦�傝浣犱粩缁嗛槄璇�", - 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, - Text = " 銆奜n Pro浜鸿劯淇℃伅閲囬泦鍗忚銆�", - 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, - Text = " 鑻ュ悓鎰忚鍗忚锛岃鐐瑰嚮銆愬悓鎰忋�戞寜閿紝琛ㄧず鎮ㄥ凡缁忕悊瑙e苟鍚屾剰浜鸿劯淇℃伅閲囬泦鍗忚銆�", - IsMoreLines = true, - }; - contentView.AddChidren(btnMsg2); - - Button btnLine = new Button() - { - Y = Application.GetRealHeight(149), - Height = Application.GetRealHeight(1), - Width = Application.GetRealWidth(270 / 2), - BackgroundColor = CSS.CSS_Color.DividingLineColor, - }; - contentView.AddChidren(btnLine); - - Button btnCancel = new Button() - { - Y = btnLine.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 = btnLine.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 += (sender, e) => - { - dialog.Close(); - }; - btnMsg1.MouseUpEventHandler += (sender, e) => - { - 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); - - dialog.Close(); - }; - btnConfirm.MouseUpEventHandler = (sender, e) => - { - dialog.Close(); - OnAppConfig.Instance.FaceManagementTip = true; - OnAppConfig.Instance.SaveConfig(); - LoadPictureOptionView(); - }; - + var page = new MemberFaceManagementPage(memberInfo); + MainPage.BasePageView.AddChidren(page); + page.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; - view4.MouseUpEventHandler = eHandler; - btnFaceManagementTitle.MouseUpEventHandler = eFaceHandler; + view4.MouseUpEventHandler = eFaceHandler; btnFaceManagementRight.MouseUpEventHandler = eFaceHandler; + btnFaceManagementTitle.MouseUpEventHandler = eFaceHandler; } #endregion - //#region 鍒涘缓鍦烘櫙 2020-12-23 闅愯棌鍒涘缓鍦烘櫙鎸夐挳 - //var view4 = new FrameLayout() - //{ - // Height = Application.GetRealWidth(50), - //}; - //sView.AddChidren(view4); - - //var btnCreateSceneTitle = new Button() - //{ - // X = Application.GetRealWidth(16), - // Width = Application.GetRealWidth(200), - // TextAlignment = TextAlignment.CenterLeft, - // TextColor = CSS_Color.FirstLevelTitleColor, - // TextSize = CSS_FontSize.TextFontSize, - // TextID = StringId.CreateScene, - //}; - //view4.AddChidren(btnCreateSceneTitle); - - //var btnCreateSceneRight = new Button() - //{ - // X = Application.GetRealWidth(287), - // Y = Application.GetRealHeight(4), - // Width = Application.GetMinRealAverage(38), - // Height = Application.GetMinRealAverage(38), - // UnSelectedImagePath = "Public/Switch_2.png", - // SelectedImagePath = "Public/SwitchOn_2.png", - // IsSelected = memberInfo.isAllowCreateScene - //}; - //view4.AddChidren(btnCreateSceneRight); - - //LoadView_ChangeCreateSceneState(btnCreateSceneRight, btnCreateSceneTitle, memberInfo); - //#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 diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs index e659d9c..213d8af 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs @@ -161,7 +161,7 @@ /// <summary> /// 淇敼鏄电О绐楀彛 /// </summary> - void LoadView_EidtNickname(Button btn1, Button btn2, ResidenceMemberInfo mInfo) + void LoadView_EidtNickname(Button btn1, Button btn2, ResidenceMemberInfo mInfo,Button btnMemberName) { EventHandler<MouseEventArgs> eventHandler = (sender, e) => { @@ -185,12 +185,16 @@ { try { - var responsePack = new HttpServerRequest().EditSubAccountNickName(str, mInfo.childAccountId); + var responsePack = new HttpServerRequest().EditSubAccountNickName(str, mInfo.id); if (responsePack.Code.ToUpper() == StateCode.SUCCESS) { Application.RunOnMainThread(() => { btn1.Text = str; + if (btnMemberName != null) + { + btnMemberName.Text = str; + } }); mInfo.nickName = str; } diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs index e7454e3..ee381fa 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs @@ -63,18 +63,21 @@ }; headPortraitView.AddChidren(btnMemberName); string username = HDLCommon.Current.GetUserName(memberInfo.memberName); - btnMemberName.Text = memberInfo.nickName + "(" + username + ")"; + btnMemberName.Text = memberInfo.nickName; - #region RoomList - roomListView = new VerticalScrolViewLayout() + if (!memberInfo.isVirtualAccount) { - Y = Application.GetRealHeight(138), - Height = Application.GetRealHeight(471), - //BackgroundColor = CSS_Color.MainBackgroundColor, - }; - bodyView.AddChidren(roomListView); - #endregion - + btnMemberName.Text = memberInfo.nickName + "(" + username + ")"; + #region RoomList + roomListView = new VerticalScrolViewLayout() + { + Y = Application.GetRealHeight(138), + Height = Application.GetRealHeight(471), + //BackgroundColor = CSS_Color.MainBackgroundColor, + }; + bodyView.AddChidren(roomListView); + #endregion + } btnDelMember = new Button() { Y = Application.GetRealHeight(617), @@ -89,8 +92,10 @@ bodyView.AddChidren(btnDelMember); LoadEventList(); - - GetShareDataByAccount(); + if (!memberInfo.isVirtualAccount) + { + GetShareDataByAccount(); + } } /// <summary> diff --git a/SiriIntents/Server/HttpUtil.cs b/SiriIntents/Server/HttpUtil.cs index 3843485..51d5267 100644 --- a/SiriIntents/Server/HttpUtil.cs +++ b/SiriIntents/Server/HttpUtil.cs @@ -16,8 +16,13 @@ /// 鍥哄畾鍩熷悕,姝e紡鐜 /// 鍏叡鍩熷悕灏辫繎瑙f瀽 /// </summary> - public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; - //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm + //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; + //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com"; + //const string APP_KEY = "HDL-HOME-APP-TEST"; + //const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss"; + public const string GlobalRequestHttpsHost = "http://59.41.255.150:7777";//mmmm + const string APP_KEY = "CPEVRLRT"; + const string SECRET_KEY = "CPEVRLSJCPEVRLSZ"; /// <summary> /// RegionMark /// </summary> @@ -248,14 +253,6 @@ #endregion #region **********绛惧悕鏍¢獙********** - /// <summary> - /// - /// </summary> - const string APP_KEY = "HDL-HOME-APP-TEST"; - /// <summary> - /// - /// </summary> - const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss"; /// <summary> /// 鑾峰彇褰撳墠鏃堕棿鎴冲�� -- Gitblit v1.8.0