wxr
2023-03-08 426c5e387c5553177d3f949c5e19e9f31353d1d3
人脸管理保存
2个文件已添加
14个文件已修改
1272 ■■■■■ 已修改文件
HDL-ON_Android/Assets/Language.ini 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Properties/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Language.ini 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/R.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/HDL_ON.projitems 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/MainPage.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI0-Public/PublicAssmebly.cs 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI1-Login/LoginPage.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/Face/FaceManagementPage.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs 336 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/DeliveryQrCodePage.cs 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/ResidentialManagePage.cs 391 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/ResidentialManagePageBLL.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Language.ini
@@ -574,6 +574,7 @@
587=Face management
588=Tip
589=Disagree
590=Residential delivery
2532=Visitor Invitation Record
@@ -1818,6 +1819,7 @@
587=人脸管理
588=人脸信息采集协议提示
589=不同意
590=住宅交付
2532=访客邀请记录
2533=访客管理
@@ -3037,6 +3039,8 @@
587=Face management
588=Tip
589=Disagree
590=Residential delivery
2532=Visitor Invitation Record
@@ -4260,6 +4264,7 @@
587=Face management
588=Tip
589=Disagree
590=Residential delivery
@@ -5469,6 +5474,7 @@
587=Face management
588=Tip
589=Disagree
590=Residential delivery
1000=Влажност в стаята
HDL-ON_Android/Properties/AndroidManifest.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.6.42" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202302271">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.7" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202303061">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" />
    <!--友盟-->
    <!--<uses-sdk android:minSdkVersion="8"></uses-sdk>-->
HDL-ON_iOS/Resources/Language.ini
@@ -571,6 +571,10 @@
584=Deployment status
585=Failed to obtain third-party platform information
586=Sort
587=Face management
588=Tip
589=Disagree
590=Residential delivery
2532=Visitor Invitation Record
@@ -1812,7 +1816,10 @@
584=布防状态
585=获取第三方平台信息失败
586=排序
587=人脸管理
588=人脸信息采集协议提示
589=不同意
590=住宅交付
2532=访客邀请记录
2533=访客管理
@@ -3029,6 +3036,11 @@
584=Deployment status
585=Failed to obtain third-party platform information
586=Sort
587=Face management
588=Tip
589=Disagree
590=Residential delivery
2532=Visitor Invitation Record
@@ -4249,6 +4261,10 @@
584=Deployment status
585=Failed to obtain third-party platform information
586=Sort
587=Face management
588=Tip
589=Disagree
590=Residential delivery
@@ -5455,6 +5471,10 @@
584=Deployment status
585=Failed to obtain third-party platform information
586=Sort
587=Face management
588=Tip
589=Disagree
590=Residential delivery
1000=Влажност в стаята
HDL_ON/Common/R.cs
@@ -4,6 +4,12 @@
{
    public static class StringId
    {
        /// <summary>
        /// 住宅交付
        /// </summary>
        public const int ResidentialDelivery = 590;
        /// <summary>
        /// 不同意
        /// </summary>
HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs
@@ -89,7 +89,7 @@
        /// <summary>
        /// 交付状态
        /// </summary>
        public string deliverstatus;
        public string deliverStatus;
        /// <summary>
        /// 住宅类型 Zigbee, Buspro, A
        /// </summary>
@@ -126,6 +126,11 @@
        /// 网关本地通信加密Key,同一个住宅 密钥创建后就不变
        /// </summary>
        public string localSecret;
        /// <summary>
        /// 交付链接
        /// </summary>
        public string deliverUrl;
    }
}
HDL_ON/HDL_ON.projitems
@@ -529,6 +529,8 @@
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\CommonMethod.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31FlieList.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\OrderFunctionPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\Face\FaceManagementPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\RoomListManage\DeliveryQrCodePage.cs" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" />
HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
        /// <summary>
        /// 版本号
        /// </summary>
        public static string VersionString = "1.6.42";
        public static string VersionString = "1.7";
        ///// <summary>
        ///// 客户端类型
        ///// </summary>
@@ -405,6 +405,7 @@
                    {
                        if (waitPage != null)
                        {
                            waitPage.Hide();
                            waitPage.RemoveFromParent();
                            waitPage = null;
                        }
HDL_ON/UI/UI0-Public/PublicAssmebly.cs
@@ -546,86 +546,105 @@
        /// <param name="title"></param>
        /// <param name="msg"></param>
        /// <param name="action"></param>
        public void TipMsg(string title, string msg, Action action = null)
        public void TipMsg(string title, string msg, Action action = null,bool again = true)
        {
            Dialog dialog = new Dialog()
            try
            {
                BackgroundColor = CSS_Color.DialogTransparentColor1,
            };
                Dialog dialog = new Dialog()
                {
                    BackgroundColor = CSS_Color.DialogTransparentColor1,
                };
            FrameLayout contentView = new FrameLayout()
                FrameLayout contentView = new FrameLayout()
                {
                    Gravity = Gravity.Center,
                    Width = Application.GetRealWidth(270),
                    Height = Application.GetRealHeight(140),
                    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,
                    Text = title
                };
                contentView.AddChidren(btnTitle);
                Button btnMsg = new Button()
                {
                    Gravity = Gravity.CenterHorizontal,
                    Height = Application.GetRealHeight(35),
                    Y = btnTitle.Bottom,
                    Width = Application.GetRealHeight(200),
                    TextAlignment = TextAlignment.Center,
                    TextColor = CSS_Color.TextualColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = msg,
                    IsMoreLines = true,
                };
                contentView.AddChidren(btnMsg);
                Button btnLine = new Button()
                {
                    Y = Application.GetRealHeight(96),
                    Height = Application.GetRealHeight(1),
                    BackgroundColor = CSS.CSS_Color.DividingLineColor,
                };
                contentView.AddChidren(btnLine);
                Button btnConfirm = new Button()
                {
                    Y = btnLine.Bottom,
                    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.Confirm,
                };
                contentView.AddChidren(btnConfirm);
                dialog.Show();
                btnConfirm.MouseDownEventHandler += (sender, e) =>
                {
                    btnConfirm.IsSelected = true;
                };
                btnConfirm.MouseUpEventHandler += (sender, e) =>
                {
                    btnConfirm.IsSelected = false;
                    action?.Invoke();
                    dialog.Close();
                };
            }catch(Exception ex)
            {
                Gravity = Gravity.Center,
                Width = Application.GetRealWidth(270),
                Height = Application.GetRealHeight(140),
                BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
                BorderColor = 0x00000000,
                BorderWidth = 0,
                Radius = (uint)Application.GetMinRealAverage(10),
            };
            dialog.AddChidren(contentView);
            Button btnTitle = new Button()
                MainPage.Log($"lc add fail:{ex.Message}");
                if (again)
                {
                    new System.Threading.Thread(() =>
                    {
                        System.Threading.Thread.Sleep(500);
                        Application.RunOnMainThread(() =>
                        {
                            TipMsg(title, msg, action, false);
                        });
                    }).Start() ;
                }
            }
            finally
            {
                Y = Application.GetRealHeight(16),
                Height = Application.GetRealHeight(30),
                TextColor = CSS_Color.MainColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextAlignment = TextAlignment.Center,
                IsBold = true,
                Text = title
            };
            contentView.AddChidren(btnTitle);
            Button btnMsg = new Button()
            {
                Gravity = Gravity.CenterHorizontal,
                Height = Application.GetRealHeight(35),
                Y = btnTitle.Bottom,
                Width = Application.GetRealHeight(200),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                Text = msg,
                IsMoreLines = true,
            };
            contentView.AddChidren(btnMsg);
            Button btnLine = new Button()
            {
                Y = Application.GetRealHeight(96),
                Height = Application.GetRealHeight(1),
                BackgroundColor = CSS.CSS_Color.DividingLineColor,
            };
            contentView.AddChidren(btnLine);
            Button btnConfirm = new Button()
            {
                Y = btnLine.Bottom,
                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.Confirm,
            };
            contentView.AddChidren(btnConfirm);
            dialog.Show();
            btnConfirm.MouseDownEventHandler += (sender, e) =>
            {
                btnConfirm.IsSelected = true;
            };
            btnConfirm.MouseUpEventHandler += (sender, e) =>
            {
                btnConfirm.IsSelected = false;
                action?.Invoke();
                dialog.Close();
            };
            }
        }
HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -218,21 +218,22 @@
                    //etAccount.Text = "tf@smarttech.com.ua";
                    //etAccount.Text = "455740454@qq.com";
                    //etAccount.Text = "18688565449";
                    //etAccount.Text = "support7@hdlautomation.com";
                    etAccount.Text = "support7@hdlautomation.com";
                    //etAccount.Text = "18570064522";
                    //etAccount.Text = "18718417827";
                    etAccount.Text = "18188019284";
                    //etAccount.Text = "18188019284";
                    //etAccount.Text = "13143792049";
                    //etAccount.Text = "13288623489";//罗晓东
                    //etAccount.Text = "18244942707";
                    //etAccount.Text = "13143792049";
                    etAccount.Text = "18688414428";//天河3楼
                    //etAccount.Text = "18688414428";//天河3楼
                    //etAccount.Text = "18244942707";
                    //etAccount.Text = "12345678904";
                    //etAccount.Text = "13418062953";
                    etAccount.Text = "13138683659";
                    //etAccount.Text = "13138683659";
                    //etAccount.Text = "15217626103";
                    etAccount.Text = "18100573477";
                    //etAccount.Text = "18100573477";
                    etAccount.Text = "18321091245";
                }
                else
                {
HDL_ON/UI/UI2/4-PersonalCenter/Face/FaceManagementPage.cs
New file
@@ -0,0 +1,10 @@
using System;
namespace HDL_ON.UI
{
    public class FaceManagementPage
    {
        public FaceManagementPage()
        {
        }
    }
}
HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs
@@ -76,7 +76,7 @@
                var sView = new VerticalScrolViewLayout()
                {
                    Gravity = Gravity.CenterHorizontal,
                    Width = Application.GetRealWidth(343),
                    Width = Application.GetRealWidth(343 + 50),
                    //Height = Application.GetRealWidth(230),
                    Height = Application.GetRealWidth(180),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
@@ -263,12 +263,69 @@
                    mmp.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
                sView.MouseUpEventHandler = eHandler;
                view3.MouseUpEventHandler = eHandler;
                btnPermissionTitle.MouseUpEventHandler = eHandler;
                btnPermissionRight.MouseUpEventHandler = eHandler;
                #endregion
                #region 人脸管理
                if (Entity.DB_ResidenceData.Instance.SupportFacePass)
                {
                    var view4 = new FrameLayout()
                    {
                        Height = Application.GetRealWidth(49),
                    };
                    sView.AddChidren(view4);
                    var btnFaceManagementTitle = new Button()
                    {
                        X = Application.GetRealWidth(16),
                        Width = Application.GetRealWidth(330),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.TextFontSize,
                        TextID = StringId.PermissionToUse,
                    };
                    view4.AddChidren(btnFaceManagementTitle);
                    var btnFaceManagementRight = new Button()
                    {
                        X = Application.GetRealWidth(311),
                        Gravity = Gravity.CenterVertical,
                        Width = Application.GetMinRealAverage(16),
                        Height = Application.GetMinRealAverage(16),
                        UnSelectedImagePath = "Public/Right.png",
                    };
                    view4.AddChidren(btnFaceManagementRight);
                    //sView.AddChidren(new Button()
                    //{
                    //    Gravity = Gravity.CenterHorizontal,
                    //    Height = Application.GetRealWidth(1),
                    //    Width = Application.GetRealWidth(311),
                    //    BackgroundColor = CSS_Color.DividingLineColor,
                    //});
                    EventHandler<MouseEventArgs> eFaceHandler = (sender, e) =>
                    {
                        action = () =>
                        {
                            residenceMemberInfos.Remove(memberInfo);
                            LoadMemberRow();
                        };
                        var mmp = new MemberPermissionPage(memberInfo, action);
                        MainPage.BasePageView.AddChidren(mmp);
                        mmp.LoadPage();
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    };
                    view4.MouseUpEventHandler = eHandler;
                    btnFaceManagementTitle.MouseUpEventHandler = eFaceHandler;
                    btnFaceManagementRight.MouseUpEventHandler = eFaceHandler;
                }
                #endregion
                //#region 创建场景 2020-12-23 隐藏创建场景按钮
                //var view4 = new FrameLayout()
                //{
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs
@@ -293,21 +293,21 @@
            var residenceFunctionCount = 0;
            #region 住宅信息区域
            if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare && DB_ResidenceData.Instance.GatewayType == 1)
            {
                residenceInfoView = new FrameLayout()
                {
                    Gravity = Gravity.CenterHorizontal,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(213),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                    Radius = (uint)Application.GetRealHeight(12),
                    BorderColor = 0x00FFFFFF,
                    BorderWidth = 0,
                };
                contentView.AddChidren(residenceInfoView);
            }
            else
            //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare && DB_ResidenceData.Instance.GatewayType == 1)
            //{
            //    residenceInfoView = new FrameLayout()
            //    {
            //        Gravity = Gravity.CenterHorizontal,
            //        Width = Application.GetRealWidth(343),
            //        Height = Application.GetRealHeight(213),
            //        BackgroundColor = CSS_Color.MainBackgroundColor,
            //        Radius = (uint)Application.GetRealHeight(12),
            //        BorderColor = 0x00FFFFFF,
            //        BorderWidth = 0,
            //    };
            //    contentView.AddChidren(residenceInfoView);
            //}
            //else
            {
                residenceInfoView = new FrameLayout()
                {
@@ -583,173 +583,173 @@
                    residenceAddFunctionView.AddChidren(btnResidenceAddFunctionText);
                    #endregion
                    residenceFunctionCount++;
                    #region ---人脸管理
                    var faceManagementView = new FrameLayout()
                    {
                        X = Application.GetRealWidth(28 - 24),
                        Y = residenceManageView.Bottom,
                        Width = Application.GetRealWidth(64 + 48),
                        Height = Application.GetRealWidth(64),
                    };
                    residenceInfoView.AddChidren(faceManagementView);
                    //residenceFunctionCount++;
                    //#region ---人脸管理
                    //var faceManagementView = new FrameLayout()
                    //{
                    //    X = Application.GetRealWidth(28 - 24),
                    //    Y = residenceManageView.Bottom,
                    //    Width = Application.GetRealWidth(64 + 48),
                    //    Height = Application.GetRealWidth(64),
                    //};
                    //residenceInfoView.AddChidren(faceManagementView);
                    var btnFaceManagementIcon = new Button
                    {
                        Gravity = Gravity.CenterHorizontal,
                        Y = Application.GetRealHeight(5),
                        Width = Application.GetMinRealAverage(30),
                        Height = Application.GetMinRealAverage(30),
                        UnSelectedImagePath = "PersonalCenter/FaceManagementIcon.png",
                    };
                    faceManagementView.AddChidren(btnFaceManagementIcon);
                    var btnFaceManagementText = new Button()
                    {
                        Y = btnResidenceManageIcon.Bottom,
                        Height = Application.GetRealHeight(29),
                        TextID = StringId.FaceManagemant,
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel
                    };
                    faceManagementView.AddChidren(btnFaceManagementText);
                    btnFaceManagementIcon.MouseUpEventHandler = (sender, e) => {
                        if (OnAppConfig.Instance.FaceManagementTip) {
                    //var btnFaceManagementIcon = new Button
                    //{
                    //    Gravity = Gravity.CenterHorizontal,
                    //    Y = Application.GetRealHeight(5),
                    //    Width = Application.GetMinRealAverage(30),
                    //    Height = Application.GetMinRealAverage(30),
                    //    UnSelectedImagePath = "PersonalCenter/FaceManagementIcon.png",
                    //};
                    //faceManagementView.AddChidren(btnFaceManagementIcon);
                    //var btnFaceManagementText = new Button()
                    //{
                    //    Y = btnResidenceManageIcon.Bottom,
                    //    Height = Application.GetRealHeight(29),
                    //    TextID = StringId.FaceManagemant,
                    //    TextAlignment = TextAlignment.Center,
                    //    TextColor = CSS_Color.FirstLevelTitleColor,
                    //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel
                    //};
                    //faceManagementView.AddChidren(btnFaceManagementText);
                    //btnFaceManagementIcon.MouseUpEventHandler = (sender, e) => {
                    //    if (OnAppConfig.Instance.FaceManagementTip) {
                            return;
                        }
                    //        return;
                    //    }
                        Dialog dialog = new Dialog()
                        {
                            BackgroundColor = CSS_Color.DialogTransparentColor1,
                        };
                    //    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);
                    //    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 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 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 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 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 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 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();
                    //    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);
                    //    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();
                        };
                    //        dialog.Close();
                    //    };
                    };
                    #endregion
                    //};
                    //#endregion
                }
            }
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/DeliveryQrCodePage.cs
New file
@@ -0,0 +1,145 @@
using System;
using System.Collections.Generic;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI
{
    /// <summary>
    /// 我的二维码页面
    /// </summary>
    public class DeliveryQrCodePage : FrameLayout
    {
        FrameLayout bodyView;
        public DeliveryQrCodePage()
        {
            bodyView = this;
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="isStartCheckResidenceThread">是否开启住宅监听线程,没有住宅的时候别人扫码添加你为成员的时候调用</param>
        public void LoadPage()
        {
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            new TopViewDiv(bodyView, Language.StringByID(StringId.ResidentialDelivery)).LoadTopView();
            int backViewHeight = Application.GetRealHeight(132) + Application.GetRealWidth(266);
            FrameLayout backView = new FrameLayout()
            {
                Y = Application.GetRealHeight(144),
                Gravity = Gravity.CenterHorizontal,
                Height = Application.GetRealWidth(288),
                Width = Application.GetRealWidth(288),
                BackgroundColor = CSS_Color.MainBackgroundColor,
                Radius = (uint)Application.GetRealWidth(8),
            };
            bodyView.AddChidren(backView);
            var btnHomeName = new Button()
            {
                Gravity = Gravity.CenterHorizontal,
                Y = backView.Bottom + Application.GetRealWidth(12),
                Width = Application.GetRealWidth(300),
                Height = Application.GetRealHeight(60),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                Text = Entity.DB_ResidenceData.Instance.CurrentRegion.homeName,
                IsBold = true,
                IsMoreLines = true,
            };
            bodyView.AddChidren(btnHomeName);
            //二维码
            int codeWidth = Application.GetRealWidth(266);
            ImageView codeImage = new ImageView()
            {
                Gravity = Gravity.Center,
                Height = codeWidth,
                Width = codeWidth,
                ImageBytes = Scan.BytesFromText(Entity.DB_ResidenceData.Instance.CurrentRegion.deliverUrl,codeWidth, codeWidth),
            };
            backView.AddChidren(codeImage);
            ////二维码中心头像
            //int imageWidth = Application.GetMinRealAverage(60);
            //int imageX = codeImage.X + (codeWidth - imageWidth) / 2;
            //int imageY = codeImage.Y + (codeWidth - imageWidth) / 2;
            //ImageView headImage2 = new ImageView()
            //{
            //    X = imageX,
            //    Y = imageY,
            //    Width = imageWidth,
            //    Height = imageWidth,
            //    ImagePath = UserInfo.Current.headImagePagePath,
            //    BorderColor = CSS_Color.MainBackgroundColor,
            //    BorderWidth = (uint)Application.GetRealWidth(2),
            //    Radius = (uint)Application.GetMinRealAverage(30),
            //};
            //backView.AddChidren(headImage2);
        }
        /// <summary>
        /// 开启检测住宅是否已经添加了的线程
        /// </summary>
        private void StartCheckResidenceThread()
        {
            //获取住宅列表的参数
            var requestJson = DAL.Server.HttpUtil.GetSignRequestJson(new DAL.Server.GetHomeListObj() { homeType = HomeTypeEnum.ALL.ToString() });
            new System.Threading.Thread(() =>
            {
                while (this.Parent != null)
                {
                    System.Threading.Thread.Sleep(4000);
                    if (this.Parent == null)
                    {
                        break;
                    }
                    //访问云端获取列表
                    var resultObj = DAL.Server.HttpUtil.RequestHttpsPost(DAL.Server.NewAPI.API_POST_Gethomepager, requestJson);
                    if (resultObj.Code == DAL.Server.StateCode.SUCCESS)
                    {
                        var homeList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoRes>>(resultObj.Data.ToString());
                        if (homeList == null || homeList.Count == 0)
                        {
                            //如果还没有住宅的话,继续下一次检测
                            continue;
                        }
                        //调用On原来的方法,刷新住宅列表及其缓存
                        var pm = new DAL.Server.HttpServerRequest();
                        pm.GetHomePager();
                        Application.RunOnMainThread(() =>
                        {
                            if (this.Parent == null)
                            {
                                return;
                            }
                            //跳转页面----
                            MainPage.GoUserPage(true, false, () =>
                            {
                                //显示欢迎回家的弹窗界面
                                var form = new WellcomToHomeForm();
                                form.ShowForm();
                            });
                        });
                        break;
                    }
                }
            })
            { IsBackground = true }.Start();
        }
    }
}
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/ResidentialManagePage.cs
@@ -275,182 +275,233 @@
            roomManagementRow.AddChidren(btnRoomManagementSkinIcon);
            #endregion
            #region 管理员权限迁移
            contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
            administratorPermissionMigrationRow = new FrameLayout()
            if (DB_ResidenceData.Instance.CurrentRegion.deliverStatus == "PAID")
            {
                Height = Application.GetRealHeight(65),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            if (DB_ResidenceData.Instance.CurrentRegion.isOtherShare == false)
            {
                //是主账号本人才能显示这个菜单
                contentView.AddChidren(administratorPermissionMigrationRow);
            }
            btnAdministratorPermissionMigrationTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = Application.GetRealHeight(10),
                Width = Application.GetRealWidth(308),
                Height = Application.GetRealHeight(24),
                TextID = StringId.AdministratorPermissionMigration,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
            };
            administratorPermissionMigrationRow.AddChidren(btnAdministratorPermissionMigrationTitle);
            btnAdministratorPermissionMigrationExplan = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = btnAdministratorPermissionMigrationTitle.Bottom,
                Width = Application.GetRealWidth(308),
                Height = Application.GetRealHeight(21),
                TextID = StringId.AdministratorPermissionMigrationExPlan,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextColor = CSS_Color.PromptingColor1,
            };
            administratorPermissionMigrationRow.AddChidren(btnAdministratorPermissionMigrationExplan);
            btnAdministratorPermissionMigrationSkinIcon = new Button()
            {
                X = Application.GetRealWidth(343),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/RightIcon.png",
            };
            administratorPermissionMigrationRow.AddChidren(btnAdministratorPermissionMigrationSkinIcon);
            administratorPermissionMigrationRow.AddChidren(
                new Button()
                #region 管理员权限迁移
                contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
                administratorPermissionMigrationRow = new FrameLayout()
                {
                    Gravity = Gravity.CenterHorizontal,
                    Y = Application.GetRealHeight(64),
                    Height = Application.GetRealHeight(1),
                    Width = Application.GetRealWidth(343),
                    BackgroundColor = CSS_Color.DividingLineColor,
                });
            #endregion
            #region 过户
            transferRow = new FrameLayout()
            {
                Y = administratorPermissionMigrationRow.Bottom,
                Height = Application.GetRealHeight(65),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            //有网关才能过户
            if (DB_ResidenceData.Instance.HomeGateway != null && string.IsNullOrEmpty(DB_ResidenceData.Instance.HomeGateway.gatewayId) == false
                && DB_ResidenceData.Instance.CurrentRegion.isOtherShare == false)
            {
                contentView.AddChidren(transferRow);
            }
            btnTransferTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = Application.GetRealHeight(10),
                Width = Application.GetRealWidth(308),
                Height = Application.GetRealHeight(24),
                TextID = StringId.Transfer,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
            };
            transferRow.AddChidren(btnTransferTitle);
            btnTrasferExplan = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = btnTransferTitle.Bottom,
                Width = Application.GetRealWidth(308),
                Height = Application.GetRealHeight(21),
                TextID = StringId.TransferExPlan,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextColor = CSS_Color.PromptingColor1,
            };
            transferRow.AddChidren(btnTrasferExplan);
            btnTrasferSkinIcon = new Button()
            {
                X = Application.GetRealWidth(343),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/RightIcon.png",
            };
            transferRow.AddChidren(btnTrasferSkinIcon);
            #endregion
            #region 调试权限
            contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
            FrameLayout commissioningAuthorityRow;
            commissioningAuthorityRow = new FrameLayout()
            {
                Height = Application.GetRealHeight(65),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            contentView.AddChidren(commissioningAuthorityRow);
            var btnCommissioningAuthorityTitle = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = Application.GetRealHeight(10),
                Width = Application.GetRealWidth(308),
                Height = Application.GetRealHeight(24),
                TextID = StringId.CommissioningAuthority,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
            };
            commissioningAuthorityRow.AddChidren(btnCommissioningAuthorityTitle);
            var btnCommissioningAuthorityExplan = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = btnCommissioningAuthorityTitle.Bottom,
                Width = Application.GetRealWidth(308),
                Height = Application.GetRealHeight(21),
                TextID = StringId.CommissioningAuthorityExPlan,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextColor = CSS_Color.PromptingColor1,
            };
            commissioningAuthorityRow.AddChidren(btnCommissioningAuthorityExplan);
            btnCommissioningAuthoritySwitchIcon = new Button()
            {
                X = Application.GetRealWidth(314),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(48),
                Height = Application.GetMinRealAverage(36),
                UnSelectedImagePath = "Public/Switch.png",
                SelectedImagePath = "Public/SwitchOn.png",
                IsSelected = DB_ResidenceData.Instance.CurrentRegion.debugPerm
            };
            commissioningAuthorityRow.AddChidren(btnCommissioningAuthoritySwitchIcon);
            btnCommissioningAuthoritySwitchIcon.MouseUpEventHandler = (sender, e) =>
            {
                DB_ResidenceData.Instance.CurrentRegion.debugPerm = !DB_ResidenceData.Instance.CurrentRegion.debugPerm;
                btnCommissioningAuthoritySwitchIcon.IsSelected = DB_ResidenceData.Instance.CurrentRegion.debugPerm;
                new System.Threading.Thread(() =>
                    Height = Application.GetRealHeight(65),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                if (DB_ResidenceData.Instance.CurrentRegion.isOtherShare == false)
                {
                    new DAL.Server.HttpServerRequest().ChangeResidenceDebugPerm(DB_ResidenceData.Instance.CurrentRegion.debugPerm);
                })
                { IsBackground = true }.Start();
            };
                    //是主账号本人才能显示这个菜单
                    contentView.AddChidren(administratorPermissionMigrationRow);
                }
            #endregion
                btnAdministratorPermissionMigrationTitle = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = Application.GetRealHeight(10),
                    Width = Application.GetRealWidth(308),
                    Height = Application.GetRealHeight(24),
                    TextID = StringId.AdministratorPermissionMigration,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                };
                administratorPermissionMigrationRow.AddChidren(btnAdministratorPermissionMigrationTitle);
                btnAdministratorPermissionMigrationExplan = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = btnAdministratorPermissionMigrationTitle.Bottom,
                    Width = Application.GetRealWidth(308),
                    Height = Application.GetRealHeight(21),
                    TextID = StringId.AdministratorPermissionMigrationExPlan,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextColor = CSS_Color.PromptingColor1,
                };
                administratorPermissionMigrationRow.AddChidren(btnAdministratorPermissionMigrationExplan);
                btnAdministratorPermissionMigrationSkinIcon = new Button()
                {
                    X = Application.GetRealWidth(343),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/RightIcon.png",
                };
                administratorPermissionMigrationRow.AddChidren(btnAdministratorPermissionMigrationSkinIcon);
                administratorPermissionMigrationRow.AddChidren(
                    new Button()
                    {
                        Gravity = Gravity.CenterHorizontal,
                        Y = Application.GetRealHeight(64),
                        Height = Application.GetRealHeight(1),
                        Width = Application.GetRealWidth(343),
                        BackgroundColor = CSS_Color.DividingLineColor,
                    });
                #endregion
                #region 过户
                transferRow = new FrameLayout()
                {
                    Y = administratorPermissionMigrationRow.Bottom,
                    Height = Application.GetRealHeight(65),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                //有网关才能过户
                if (DB_ResidenceData.Instance.HomeGateway != null && string.IsNullOrEmpty(DB_ResidenceData.Instance.HomeGateway.gatewayId) == false
                    && DB_ResidenceData.Instance.CurrentRegion.isOtherShare == false)
                {
                    contentView.AddChidren(transferRow);
                }
                btnTransferTitle = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = Application.GetRealHeight(10),
                    Width = Application.GetRealWidth(308),
                    Height = Application.GetRealHeight(24),
                    TextID = StringId.Transfer,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                };
                transferRow.AddChidren(btnTransferTitle);
                btnTrasferExplan = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = btnTransferTitle.Bottom,
                    Width = Application.GetRealWidth(308),
                    Height = Application.GetRealHeight(21),
                    TextID = StringId.TransferExPlan,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextColor = CSS_Color.PromptingColor1,
                };
                transferRow.AddChidren(btnTrasferExplan);
                btnTrasferSkinIcon = new Button()
                {
                    X = Application.GetRealWidth(343),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/RightIcon.png",
                };
                transferRow.AddChidren(btnTrasferSkinIcon);
                #endregion
                #region 调试权限
                contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
                FrameLayout commissioningAuthorityRow;
                commissioningAuthorityRow = new FrameLayout()
                {
                    Height = Application.GetRealHeight(65),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(commissioningAuthorityRow);
                var btnCommissioningAuthorityTitle = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = Application.GetRealHeight(10),
                    Width = Application.GetRealWidth(308),
                    Height = Application.GetRealHeight(24),
                    TextID = StringId.CommissioningAuthority,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                };
                commissioningAuthorityRow.AddChidren(btnCommissioningAuthorityTitle);
                var btnCommissioningAuthorityExplan = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = btnCommissioningAuthorityTitle.Bottom,
                    Width = Application.GetRealWidth(308),
                    Height = Application.GetRealHeight(21),
                    TextID = StringId.CommissioningAuthorityExPlan,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextColor = CSS_Color.PromptingColor1,
                };
                commissioningAuthorityRow.AddChidren(btnCommissioningAuthorityExplan);
                btnCommissioningAuthoritySwitchIcon = new Button()
                {
                    X = Application.GetRealWidth(314),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(48),
                    Height = Application.GetMinRealAverage(36),
                    UnSelectedImagePath = "Public/Switch.png",
                    SelectedImagePath = "Public/SwitchOn.png",
                    IsSelected = DB_ResidenceData.Instance.CurrentRegion.debugPerm
                };
                commissioningAuthorityRow.AddChidren(btnCommissioningAuthoritySwitchIcon);
                btnCommissioningAuthoritySwitchIcon.MouseUpEventHandler = (sender, e) =>
                {
                    DB_ResidenceData.Instance.CurrentRegion.debugPerm = !DB_ResidenceData.Instance.CurrentRegion.debugPerm;
                    btnCommissioningAuthoritySwitchIcon.IsSelected = DB_ResidenceData.Instance.CurrentRegion.debugPerm;
                    new System.Threading.Thread(() =>
                    {
                        new DAL.Server.HttpServerRequest().ChangeResidenceDebugPerm(DB_ResidenceData.Instance.CurrentRegion.debugPerm);
                    })
                    { IsBackground = true }.Start();
                };
                #endregion
                LoadEvent_SkipAdminMigrationConfirmPage();
                LoadEvent_SkipTransferConfirmPage();
            }
            else
            {
                #region 交付二维码
                contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
                var deliveryQRcodeRow = new FrameLayout()
                {
                    Height = Application.GetRealHeight(50),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(deliveryQRcodeRow);
                var btnDeliveryQRcodeTitle = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Width = Application.GetRealWidth(308),
                    TextID = StringId.ResidentialDelivery,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                };
                deliveryQRcodeRow.AddChidren(btnDeliveryQRcodeTitle);
                var btnDeliveryQRcodeRightIcon = new Button()
                {
                    X = Application.GetRealWidth(343),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/RightIcon.png",
                };
                deliveryQRcodeRow.AddChidren(btnDeliveryQRcodeRightIcon);
                EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
                    var skipPage = new DeliveryQrCodePage();
                    MainPage.BasePageView.AddChidren(skipPage);
                    skipPage.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
                deliveryQRcodeRow.MouseUpEventHandler = eventHandler;
                btnDeliveryQRcodeTitle.MouseUpEventHandler = eventHandler;
                btnDeliveryQRcodeRightIcon.MouseUpEventHandler = eventHandler;
                #endregion
            }
            LoadEventList();
        }
    }
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/ResidentialManagePageBLL.cs
@@ -14,8 +14,6 @@
            LoadEvent_SkipRoomsPage();
            LoadEvent_EditResidencName();
            LoadEvent_EditResidencAddress();
            LoadEvent_SkipAdminMigrationConfirmPage();
            LoadEvent_SkipTransferConfirmPage();
        }
        /// <summary>
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
@@ -495,6 +495,7 @@
            List<uint> levelColorList = new List<uint>();
            List<int> levelTextList = new List<int>();
            List<string> levelText = new List<string>();
            List<string> intervalList = new List<string>();
            var configs = sensor.GetAttrKeyConfigs(sensor.SpkClassification);
@@ -514,7 +515,9 @@
            {
                levelColorList = sensorTemp.GetLevelColorList(sensor.spk);
                levelTextList = sensorTemp.GetLevelTextList(sensor.spk);
                foreach(var iii in levelTextList)
                intervalList = sensorTemp.GetIntervalValue(sensor.spk);
                foreach (var iii in levelTextList)
                {
                    levelText.Add(Language.StringByID(iii));
                }
@@ -611,55 +614,65 @@
                IsBold = true,
                TextID = StringId.ColorValue,
            });
            for (int index = 0; index < levelText.Count; index++)
            try
            {
                infoView.AddChidren(new Button()
                for (int index = 0; index < levelText.Count; index++)
                {
                    Gravity = Gravity.CenterHorizontal,
                    Width = Application.GetRealWidth(303),
                    Height = Application.GetRealWidth(1),
                    BackgroundColor = CSS_Color.DividingLineColor,
                });
                    //if(sensorTemp.GetIntervalValue(sensor.spk).Count >= index)
                    //{
                    //    return;
                    //}
                    infoView.AddChidren(new Button()
                    {
                        Gravity = Gravity.CenterHorizontal,
                        Width = Application.GetRealWidth(303),
                        Height = Application.GetRealWidth(1),
                        BackgroundColor = CSS_Color.DividingLineColor,
                    });
                FrameLayout subInfoView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(44),
                };
                infoView.AddChidren(subInfoView);
                    FrameLayout subInfoView = new FrameLayout()
                    {
                        Height = Application.GetRealHeight(44),
                    };
                    infoView.AddChidren(subInfoView);
                subInfoView.AddChidren(new Button()
                {
                    X = Application.GetRealWidth(20),
                    Width = Application.GetRealWidth(100),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.TextFontSize,
                    IsBold = true,
                    Text = sensorTemp.GetIntervalValue(sensor.spk)[index]
                });
                    subInfoView.AddChidren(new Button()
                    {
                        X = Application.GetRealWidth(20),
                        Width = Application.GetRealWidth(100),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.TextFontSize,
                        IsBold = true,
                        Text = sensorTemp.GetIntervalValue(sensor.spk)[index]
                    });
                subInfoView.AddChidren(new Button()
                {
                    Gravity = Gravity.CenterHorizontal,
                    Width = Application.GetRealWidth(100),
                    TextAlignment = TextAlignment.Center,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.TextFontSize,
                    IsBold = true,
                    Text = levelText[index]
                });
                    subInfoView.AddChidren(new Button()
                    {
                        Gravity = Gravity.CenterHorizontal,
                        Width = Application.GetRealWidth(100),
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.TextFontSize,
                        IsBold = true,
                        Text = levelText[index]
                    });
                subInfoView.AddChidren(new Button()
                {
                    X = Application.GetRealWidth(285),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetRealWidth(38),
                    Height = Application.GetRealHeight(18),
                    Radius = (uint)Application.GetRealWidth(4),
                    BackgroundColor = levelColorList[index]
                });
                    subInfoView.AddChidren(new Button()
                    {
                        X = Application.GetRealWidth(285),
                        Gravity = Gravity.CenterVertical,
                        Width = Application.GetRealWidth(38),
                        Height = Application.GetRealHeight(18),
                        Radius = (uint)Application.GetRealWidth(4),
                        BackgroundColor = levelColorList[index]
                    });
                }
            }
            catch (Exception ex)
            {
                MainPage.Log($"环境等级信息表加载异常:{ex.Message}");
            }