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/AddFunction/BrandListPage.cs                      |   10 
 HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs          |  251 +++++++++++
 HDL-ON_Android/Assets/Language.ini                                               |   17 
 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs |  317 +++++++-------
 HDL_ON/Common/R.cs                                                               |   13 
 HDL_ON/DAL/DriverLayer/Control.cs                                                |    3 
 HDL_ON/UI/UI1-Login/LoginPage.cs                                                 |    6 
 HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs             |  640 +++++++++++++++++++++++++++--
 8 files changed, 1,035 insertions(+), 222 deletions(-)

diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini
index 7f62ed4..7973230 100644
--- a/HDL-ON_Android/Assets/Language.ini
+++ b/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=袙谢邪卸薪芯褋褌 胁 褋褌邪褟褌邪
diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs
index 54f862b..e8cedee 100644
--- a/HDL_ON/Common/R.cs
+++ b/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>
diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index 652bc0d..fba2cc1 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/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);
 
                         }
 
diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs
index ce94afb..d290c12 100644
--- a/HDL_ON/UI/UI1-Login/LoginPage.cs
+++ b/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);
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs
index 7101fbe..11bd0d2 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/BrandListPage.cs
+++ b/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")//瀛愭櫞闇�瑕侀殣钘忚繖涓叆鍙o紝鐢辫皟璇曡蒋浠朵笂浼犳暟鎹� 2023-03-09 17:20:33
+                {
+                    continue;
+                }
                 var row = new RowLayout()
                 {
                     Height = Application.GetRealHeight(87),
@@ -165,13 +169,17 @@
                 //涓嬭浇绗笁鏂瑰搧鐗宨con
                 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;
             }
 
         }
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs
index 80b04df..31e0814 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs
@@ -1,4 +1,6 @@
 锘縰sing 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 = "    銆奜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.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);
+            }
+        }
+
     }
 }
\ 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 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
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
index 7bed343..a10b239 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
+++ b/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($"鍔犺浇浼犳劅鍣ㄥ紓甯竫x:{ex.Message}");
             }
             #endregion
             new TopViewDiv(bodyView, Language.StringByID(sensorTemp.GetFunctionTypeNameId(function.spk))).LoadTopView();

--
Gitblit v1.8.0