HDL-ON_Android/Assets/Language.ini | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/Common/R.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/DAL/DriverLayer/Control.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI1-Login/LoginPage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
HDL-ON_Android/Assets/Language.ini
@@ -575,6 +575,9 @@ 588=Tip 589=Disagree 590=Residential delivery 591=*Member name 592=Member account 593=Face photo 2532=Visitor Invitation Record @@ -1820,6 +1823,11 @@ 588=人脸信息采集协议提示 589=不同意 590=住宅交付 591=*成员名称 592=成员账号 593=人脸照片 2532=访客邀请记录 2533=访客管理 @@ -3040,6 +3048,9 @@ 588=Tip 589=Disagree 590=Residential delivery 591=*Member name 592=Member account 593=Face photo @@ -4265,6 +4276,9 @@ 588=Tip 589=Disagree 590=Residential delivery 591=*Member name 592=Member account 593=Face photo @@ -5475,6 +5489,9 @@ 588=Tip 589=Disagree 590=Residential delivery 591=*Member name 592=Member account 593=Face photo 1000=Влажност в стаята HDL_ON/Common/R.cs
@@ -5,7 +5,18 @@ public static class StringId { /// <summary> /// 人脸照片 /// </summary> public const int MemberFace = 593; /// <summary> /// 成员账号 /// </summary> public const int MemberAccount = 592; /// <summary> /// 成员名称 /// </summary> public const int MemberName = 591; /// <summary> /// 住宅交付 /// </summary> HDL_ON/DAL/DriverLayer/Control.cs
@@ -1235,12 +1235,11 @@ // return; // } //} MainPage.Log($"音乐收到数据:{revString}"); MainPage.Log($"收到数据:{revString}"); foreach (var attr in updateTemp.status) { localFunction.time_stamp = temp.time_stamp; localFunction.SetAttrState(attr.key, attr.value); Console.WriteLine("音乐播放器添加缓存数据=======" + revString); } HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -35,7 +35,7 @@ base.RemoveFromParent(); ////2020-12-22 增加点击隐藏键盘事件 //2020-12-22 增加点击隐藏键盘事件 //Application.HideSoftInput(); } @@ -238,10 +238,8 @@ } else { //etAccount.Text = "15018447586";//音乐数量刷新问题 //etAccount.Text = "464027401@qq.com";// //etAccount.Text = "15217626103";// //etAccount.Text = "13682244600";//波哥 etAccount.Text = "13168123446";//昆明金茂项目,新风问题 //etAccount.Text = "2949126848@qq.com";//陈琳 etAccount.Text = "15014291819 "; @@ -319,7 +317,7 @@ Height = Application.GetRealHeight(40), TextID = StringId.LoginByEmail, TextColor = CSS_Color.PromptingColor1, TextAlignment = TextAlignment.Center, TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.TextFontSize, }; bodyView.AddChidren(btnEmailLogin); HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs
@@ -107,6 +107,10 @@ bool isFrist = true; foreach (var brand in brandList) { if(brand.productPlatform == "HaiLin")//子晴需要隐藏这个入口,由调试软件上传数据 2023-03-09 17:20:33 { continue; } var row = new RowLayout() { Height = Application.GetRealHeight(87), @@ -165,13 +169,17 @@ //下载第三方品牌icon ImageUtlis.Current.Load3tyBrandIconImages(brand.brandName, brand.brandIcon, btnIcon); btnName.MouseUpEventHandler = (sender, e) => { EventHandler<MouseEventArgs> eventHandler = (sender, e) => { var page = new DeviceListPage(brand); MainPage.BasePageView.AddChidren(page); page.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; btnName.MouseUpEventHandler = eventHandler; btnIcon.MouseUpEventHandler = eventHandler; btnRight.MouseUpEventHandler = eventHandler; row.MouseUpEventHandler = eventHandler; } } HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs
@@ -1,4 +1,6 @@ using System; using System.Threading; using HDL_ON.DAL.Server; using HDL_ON.UI.CSS; using Shared; @@ -29,71 +31,361 @@ bodyView.BackgroundColor = CSS_Color.MainBackgroundColor; new TopViewDiv(bodyView, Language.StringByID(StringId.AddMember)).LoadTopView(); 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); etMemberAccount = new EditText() if (Entity.DB_ResidenceData.Instance.SupportFacePass) { 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 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 btnLine = new Button() 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); #region 人脸管理 var btnMemberFaceTitle = new Button() { Y = btnLine1.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.MemberFace, }; bodyView.AddChidren(btnMemberFaceTitle); var btnAddFace = new Button() { Gravity = Gravity.CenterHorizontal, Y = btnMemberFaceTitle.Bottom, Width = Application.GetRealWidth(120), Height = Application.GetRealWidth(120), 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(); 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 = " 《On 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 = " 若同意该协议,请点击【同意】按键,表示您已经理解并同意人脸信息采集协议。", 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.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 { Y = etMemberAccount.Bottom, Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor, }; bodyView.AddChidren(btnLine); 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); 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); 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); 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); 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); 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(); } @@ -137,5 +429,237 @@ }) { IsBackground = true }.Start(); } 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); } } } } 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); } } } } } HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
@@ -69,7 +69,7 @@ { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(600), ScrollEnabled = false ScrollEnabled = sensorList.Count > 6 }; bodyView.AddChidren(contentView); @@ -657,165 +657,178 @@ bool initTitleButton = true; int index = 1; foreach (var tempSensor in sensorList) try { if(index > 6) new System.Threading.Thread(() => { break; } if (tempSensor.sid == function.sid) { continue; } if (tempSensor.spk != function.spk) { continue; } contentView.ScrollEnabled = true; if (initTitleButton) { Button btnOthreTitle = new Button() foreach (var tempSensor in sensorList) { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(200), Height = Application.GetRealWidth(38), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.OtherArea, }; contentView.AddChidren(btnOthreTitle); initTitleButton = false; } if (index >= 6) { break; } if (tempSensor.sid == function.sid) { continue; } if (tempSensor.spk != function.spk) { continue; } #region 其它传感器信息栏 FrameLayout otherInfoView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), Height = Application.GetRealWidth(100), BackgroundColor = CSS_Color.MainBackgroundColor, Radius = (uint)Application.GetRealWidth(12), BorderColor = 0x00000000, BorderWidth = 0, }; contentView.AddChidren(otherInfoView); Button btnTipColor1 = new Button() { X = Application.GetRealWidth(8), Y = Application.GetRealWidth(16), Width = Application.GetRealWidth(12), Height = Application.GetRealWidth(12), BackgroundColor = tipColorList[index++], Radius = (uint)Application.GetRealWidth(2), BorderWidth = 0, BorderColor = 0x00000000, }; otherInfoView.AddChidren(btnTipColor1); Button btnSensorName = new Button() { X = Application.GetRealWidth(28), Y = Application.GetRealWidth(10), Width = Application.GetRealWidth(250), Height = Application.GetRealWidth(24), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, Text = function.name, IsBold = true, }; otherInfoView.AddChidren(btnSensorName); Button btnFromFoorAndRoom1 = new Button() { X = Application.GetRealWidth(16), Y = btnSeltSensorName.Bottom, Width = Application.GetRealWidth(270), Height = Application.GetRealHeight(21), TextColor = CSS_Color.PromptingColor1, TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, Text = tempSensor.GetRoomListName() }; otherInfoView.AddChidren(btnFromFoorAndRoom1); var btnSetting1 = new Button() { X = Application.GetRealWidth(291), Y = Application.GetRealWidth(6), Width = Application.GetMinRealAverage(32), Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "Public/FuncInfoSetIcon.png", }; otherInfoView.AddChidren(btnSetting1); btnSetting1.MouseUpEventHandler = (sender, e) => { Action backAction = () => { MainPage.Log("45678i"); Application.RunOnMainThread(() => { btnSeltSensorName.Text = tempSensor.name; if (initTitleButton) { Button btnOthreTitle = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(200), Height = Application.GetRealWidth(38), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.OtherArea, }; contentView.AddChidren(btnOthreTitle); initTitleButton = false; } #region 其它传感器信息栏 FrameLayout otherInfoView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), Height = Application.GetRealWidth(100), BackgroundColor = CSS_Color.MainBackgroundColor, Radius = (uint)Application.GetRealWidth(12), BorderColor = 0x00000000, BorderWidth = 0, }; contentView.AddChidren(otherInfoView); Button btnTipColor1 = new Button() { X = Application.GetRealWidth(8), Y = Application.GetRealWidth(16), Width = Application.GetRealWidth(12), Height = Application.GetRealWidth(12), BackgroundColor = tipColorList[index++], Radius = (uint)Application.GetRealWidth(2), BorderWidth = 0, BorderColor = 0x00000000, }; otherInfoView.AddChidren(btnTipColor1); Button btnSensorName = new Button() { X = Application.GetRealWidth(28), Y = Application.GetRealWidth(10), Width = Application.GetRealWidth(250), Height = Application.GetRealWidth(24), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, Text = function.name, IsBold = true, }; otherInfoView.AddChidren(btnSensorName); Button btnFromFoorAndRoom1 = new Button() { X = Application.GetRealWidth(16), Y = btnSeltSensorName.Bottom, Width = Application.GetRealWidth(270), Height = Application.GetRealHeight(21), TextColor = CSS_Color.PromptingColor1, TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, Text = tempSensor.GetRoomListName() }; otherInfoView.AddChidren(btnFromFoorAndRoom1); var btnSetting1 = new Button() { X = Application.GetRealWidth(291), Y = Application.GetRealWidth(6), Width = Application.GetMinRealAverage(32), Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "Public/FuncInfoSetIcon.png", }; otherInfoView.AddChidren(btnSetting1); btnSetting1.MouseUpEventHandler = (sender, e) => { Action backAction = () => { MainPage.Log("45678i"); Application.RunOnMainThread(() => { btnSeltSensorName.Text = tempSensor.name; }); }; var infoView = new FunctionBaseInfoSetPage(tempSensor, backAction); MainPage.BasePageView.AddChidren(infoView); infoView.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; Button btnSensorValue = new Button() { X = Application.GetRealWidth(16), Y = Application.GetRealWidth(47), Width = Application.GetRealWidth(200), Height = Application.GetRealWidth(43), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, IsBold = true, TextSize = CSS_FontSize.HeadlineFontSize, }; otherInfoView.AddChidren(btnSensorValue); var btnShowData1 = new Button() { X = Application.GetRealWidth(291), Y = Application.GetRealWidth(62), Width = Application.GetMinRealAverage(32), Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIcon.png", SelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIconOn.png", }; otherInfoView.AddChidren(btnShowData1); btnShowData1.MouseUpEventHandler = (sender, e) => { btnShowData1.IsSelected = !btnShowData1.IsSelected; if (btnShowData1.IsSelected) { if (!showFunctions.Contains(tempSensor)) { showFunctions.Add(tempSensor); } } else { if (showFunctions.Contains(tempSensor)) { showFunctions.Remove(tempSensor); } } LoadMothed_GetSensorHistoryData(); }; #endregion contentView.AddChidren(new Button() { Height = Application.GetRealHeight(12), }); }); }; var infoView = new FunctionBaseInfoSetPage(tempSensor, backAction); MainPage.BasePageView.AddChidren(infoView); infoView.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; Button btnSensorValue = new Button() { X = Application.GetRealWidth(16), Y = Application.GetRealWidth(47), Width = Application.GetRealWidth(200), Height = Application.GetRealWidth(43), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, IsBold = true, TextSize = CSS_FontSize.HeadlineFontSize, }; otherInfoView.AddChidren(btnSensorValue); var btnShowData1 = new Button() { X = Application.GetRealWidth(291), Y = Application.GetRealWidth(62), Width = Application.GetMinRealAverage(32), Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIcon.png", SelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIconOn.png", }; otherInfoView.AddChidren(btnShowData1); btnShowData1.MouseUpEventHandler = (sender, e) => { btnShowData1.IsSelected = !btnShowData1.IsSelected; if (btnShowData1.IsSelected) { if (!showFunctions.Contains(tempSensor)) { showFunctions.Add(tempSensor); } System.Threading.Thread.Sleep(50); } else { if (showFunctions.Contains(tempSensor)) { showFunctions.Remove(tempSensor); } } LoadMothed_GetSensorHistoryData(); }; #endregion contentView.AddChidren(new Button() { Height = Application.GetRealHeight(12), }); }).Start(); } catch(Exception ex) { MainPage.Log($"加载传感器异常xx:{ex.Message}"); } #endregion new TopViewDiv(bodyView, Language.StringByID(sensorTemp.GetFunctionTypeNameId(function.spk))).LoadTopView();