wxr
2023-04-07 0041a49139ebb21f228de022b38462b137c2d71e
语言包整理
26个文件已修改
10023 ■■■■ 已修改文件
HDL-ON_Android/Assets/Language.ini 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Properties/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Resources/Resource.designer.cs 9544 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Scan.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Language.ini 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/R.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpServerRequest.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/DB_ResidenceData.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/MainPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/1-HomePage/HomePage.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/FunctionPage.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/Iot_AuthorizedPage.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/iot_BindTipPage.cs 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/OrderFunctionPage.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/UserPage.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Language.ini
@@ -586,6 +586,20 @@
599=Please input name
600=Add combined dimming
601=Please select two or more devices
602=My Home
603=   In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully
604=    'On Pro Face Information Collection Protocol'
605=   If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement.
606=Account binding is successful.You can continue to complete the device association operation
607=Previous page
608=Next page
609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record
610=Unable to bind this device. Please purchase this type of product from HDL
611=Load more
612=Facial Information Collection Protocol
613=Revoke Authorization
614=Statement on account binding
615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid
@@ -1861,6 +1875,21 @@
599=请输入组名称
600=添加组合调光
601=请选择两个以上的设备
602=我的家庭
603=    为保护您的个人隐私权益,特向您通知并申请明确同意授权。请你仔细阅读
604=    《On Pro人脸信息采集协议》
605=    若同意该协议,请点击【同意】按键,表示您已经理解并同意人脸信息采集协议。
606=账户绑定成功,您可以继续完成设备关联操作
607=上一页
608=下一页
609=*可视对讲可以自动识别门口可疑人员,并发起徘徊报警记录
610=无法绑定该设备,请从河东渠道购买该类型产品
611=加载更多
612=人脸信息采集协议
613=撤回授权
614=关于账号绑定的声明
615=撤销授权后,该品牌关联在On Pro中的设备将全部被解绑,相关使用信息合设备值也将失效
@@ -3118,7 +3147,20 @@
599=Please input name
600=Add combined dimming
601=Please select two or more devices
602=My Home
603=   In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully
604=    'On Pro Face Information Collection Protocol'
605=   If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement.
606=Account binding is successful.You can continue to complete the device association operation
607=Previous page
608=Next page
609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record
610=Unable to bind this device. Please purchase this type of product from HDL
611=Load more
612=Facial Information Collection Protocol
613=Revoke Authorization
614=Statement on account binding
615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid
2532=Visitor Invitation Record
@@ -4354,6 +4396,22 @@
599=Please input name
600=Add combined dimming
601=Please select two or more devices
602=My Home
603=   In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully
604=    'On Pro Face Information Collection Protocol'
605=   If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement.
606=Account binding is successful.You can continue to complete the device association operation
607=Previous page
608=Next page
609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record
610=Unable to bind this device. Please purchase this type of product from HDL
611=Load more
612=Facial Information Collection Protocol
613=Revoke Authorization
614=Statement on account binding
615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid
2532=Visitor Invitation Record
@@ -5574,6 +5632,21 @@
599=Please input name
600=Add combined dimming
601=Please select two or more devices
602=My Home
603=   In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully
604=    'On Pro Face Information Collection Protocol'
605=   If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement.
606=Account binding is successful.You can continue to complete the device association operation
607=Previous page
608=Next page
609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record
610=Unable to bind this device. Please purchase this type of product from HDL
611=Load more
612=Facial Information Collection Protocol
613=Revoke Authorization
614=Statement on account binding
615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid
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.6" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202303221">
<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="202304071">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" />
    <!--友盟-->
    <!--<uses-sdk android:minSdkVersion="8"></uses-sdk>-->
HDL-ON_Android/Resources/Resource.designer.cs
Diff too large
HDL-ON_Android/Scan.cs
@@ -36,15 +36,6 @@
        public void OpenScan(Action<string> action)
        {
            resultAction = action;
            //string cancel = "取消";
            //string flashText = "";
            //string titleText = "二维码扫描";
            //if (Language.CurrentLanguage != "Chinese")
            //{
            //    cancel = "Cancel";
            //    flashText = "";
            //    titleText = "Scan";
            //}
            ((BaseActivity)Shared.Application.Activity).SetCamera(async (obj) =>
            {
HDL-ON_iOS/Resources/Language.ini
@@ -586,6 +586,20 @@
599=Please input name
600=Add combined dimming
601=Please select two or more devices
602=My Home
603=   In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully
604=    'On Pro Face Information Collection Protocol'
605=   If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement.
606=Account binding is successful.You can continue to complete the device association operation
607=Previous page
608=Next page
609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record
610=Unable to bind this device. Please purchase this type of product from HDL
611=Load more
612=Facial Information Collection Protocol
613=Revoke Authorization
614=Statement on account binding
615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid
@@ -1152,6 +1166,9 @@
8511=User Education
8512=Serial number
8513=Model
@@ -1858,6 +1875,21 @@
599=请输入组名称
600=添加组合调光
601=请选择两个以上的设备
602=我的家庭
603=    为保护您的个人隐私权益,特向您通知并申请明确同意授权。请你仔细阅读
604=    《On Pro人脸信息采集协议》
605=    若同意该协议,请点击【同意】按键,表示您已经理解并同意人脸信息采集协议。
606=账户绑定成功,您可以继续完成设备关联操作
607=上一页
608=下一页
609=*可视对讲可以自动识别门口可疑人员,并发起徘徊报警记录
610=无法绑定该设备,请从河东渠道购买该类型产品
611=加载更多
612=人脸信息采集协议
613=撤回授权
614=关于账号绑定的声明
615=撤销授权后,该品牌关联在On Pro中的设备将全部被解绑,相关使用信息合设备值也将失效
@@ -2410,6 +2442,9 @@
8511=用户人员
8512=序列号
8513=型号
@@ -3112,7 +3147,20 @@
599=Please input name
600=Add combined dimming
601=Please select two or more devices
602=My Home
603=   In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully
604=    'On Pro Face Information Collection Protocol'
605=   If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement.
606=Account binding is successful.You can continue to complete the device association operation
607=Previous page
608=Next page
609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record
610=Unable to bind this device. Please purchase this type of product from HDL
611=Load more
612=Facial Information Collection Protocol
613=Revoke Authorization
614=Statement on account binding
615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid
2532=Visitor Invitation Record
@@ -4348,6 +4396,22 @@
599=Please input name
600=Add combined dimming
601=Please select two or more devices
602=My Home
603=   In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully
604=    'On Pro Face Information Collection Protocol'
605=   If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement.
606=Account binding is successful.You can continue to complete the device association operation
607=Previous page
608=Next page
609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record
610=Unable to bind this device. Please purchase this type of product from HDL
611=Load more
612=Facial Information Collection Protocol
613=Revoke Authorization
614=Statement on account binding
615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid
2532=Visitor Invitation Record
@@ -5568,6 +5632,21 @@
599=Please input name
600=Add combined dimming
601=Please select two or more devices
602=My Home
603=   In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully
604=    'On Pro Face Information Collection Protocol'
605=   If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement.
606=Account binding is successful.You can continue to complete the device association operation
607=Previous page
608=Next page
609=*The smart entrance machine can automatically identify suspicious personnel at the entrance and initiate a wandering alarm record
610=Unable to bind this device. Please purchase this type of product from HDL
611=Load more
612=Facial Information Collection Protocol
613=Revoke Authorization
614=Statement on account binding
615=After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid
1000=Влажност в стаята
HDL_ON/Common/R.cs
@@ -5,6 +5,62 @@
    public static class StringId
    {
        /// <summary>
        /// 撤销授权后,该品牌关联在On Pro中的设备将全部被解绑,相关使用信息合设备值也将失效
        /// </summary>
        public const int RevokeAuthorizationTip = 615;
        /// <summary>
        /// 关于账号绑定的声明
        /// </summary>
        public const int AboutBindAcountTip = 614;
        /// <summary>
        /// 确定撤回授权
        /// </summary>
        public const int ConfirmRevocationOfAuthorization = 613;
        /// <summary>
        /// 人脸采集协议
        /// </summary>
        public const int GetFaceProtocol = 612;
        /// <summary>
        /// 加载更多
        /// </summary>
        public const int LoadMore = 611;
        /// <summary>
        /// 无法绑定该设备,请从河东渠道购买该类型产品
        /// </summary>
        public const int UnableToBindThisDeviceTip = 610;
        /// <summary>
        /// "*可视对讲可以自动识别门口可疑人员,并发起徘徊报警记录
        /// </summary>
        public const int SmartDoorstepMachineAlarmPrompt = 609;
        /// <summary>
        /// 上一页
        /// </summary>
        public const int NextPage = 608;
        /// <summary>
        /// 上一页
        /// </summary>
        public const int PreviousPage = 607;
        /// <summary>
        /// 账户绑定成功,您可以继续完成设备关联操作
        /// </summary>
        public const int BindIotAccountTip = 606;
        /// <summary>
        ///     若同意该协议,请点击【同意】按键,表示您已经理解并同意人脸信息采集协议。
        /// </summary>
        public const int FaceProTipText3 = 605;
        /// <summary>
        ///     《On Pro人脸信息采集协议》
        /// </summary>
        public const int FaceProTipText2 = 604;
        /// <summary>
        ///     为保护您的个人隐私权益,特向您通知并申请明确同意授权。请你仔细阅读
        /// </summary>
        public const int FaceProTipText1 = 603;
        /// <summary>
        /// 我的家庭
        /// </summary>
        public const int MyHome = 602;
        /// <summary>
        /// 请选择2个以上的设备
        /// </summary>
        public const int PlsSelectMoreData = 601;
HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs
@@ -90,6 +90,17 @@
            }
        }
        /// <summary>
        /// 本地控制群控主题
        /// </summary>
        public string ControlGroupControlTopic
        {
            get
            {
                return $"/user/{Control.Ins.GatewayId}/custom/device/group/control/down";
            }
        }
        /// <summary>
        /// 本地控制红外设备功能主题
        /// </summary>
        public string ControlIrFunctionTopic
HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -3270,9 +3270,10 @@
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
            //d.Add("gatewayId", DB_ResidenceData.Instance.HomeGateway.gatewayId);
            d.Add("infos", groupControls);
            var requestJson = HttpUtil.GetSignRequestJson(d);
            var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_AddGroupControl, requestJson);
            var pack = HttpUtil.RequestHttpsPostFroHome(NewAPI.Api_Post_UpdateGroupControl, requestJson);
            return pack;
        }
HDL_ON/Entity/DB_ResidenceData.cs
@@ -506,5 +506,10 @@
            }
        }
        /// <summary>
        /// 第一次申请定位权限,用户拒绝之后,不能再次申请(Android)
        /// </summary>
        public bool CheckGPS_IsFirst = true;
    }
}
HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
        /// <summary>
        /// 版本号
        /// </summary>
        public static string VersionString = "1.6.6";
        public static string VersionString = "1.7";
        ///// <summary>
        ///// 客户端类型
        ///// </summary>
HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
@@ -22,6 +22,10 @@
                //跳转到功能信息设置页面
                switch (function.spk)
                {
                    case SPK.GroupControl:
                         var dialog = new GroupControlPage(FunctionList.List.groupControls.Find((obj) => obj.sid == function.sid));
                         dialog.ShowDialog();
                        break;
                    case SPK.AirSwitch:
                        var airSwitchPage = new AirSwitchPage(function);
                        MainPage.BasePageView.AddChidren(airSwitchPage);
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -724,7 +724,8 @@
            try
            {
                int index = 0;
                var list = FunctionList.List.GetDeviceFunctionList();
                var list = new List<Function>();
                list.AddRange(FunctionList.List.GetDeviceFunctionList());
                list.AddRange(FunctionList.List.groupControls);//加入群控
                foreach (var function in list)
                {
@@ -1024,6 +1025,7 @@
                        btnState.Text = function.lastState;
                    }
                }
                else
                {
                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
@@ -1221,9 +1223,16 @@
                        SelectedImagePath = "Public/SwitchOn.png",
                    };
                    view.AddChidren(btnSwitch);
                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
                    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                    if (function.spk == SPK.GroupControl)
                    {
                        btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_blue.png";
                        btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_white.png";
                    }
                    else
                    {
                        btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
                        btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                    }
                    LoadEvent_SwitchFunction(function, btnSwitch);
                }
                //取消收藏事件
HDL_ON/UI/UI2/2-Classification/FunctionPage.cs
@@ -317,12 +317,8 @@
                                TextAlignment = TextAlignment.Center,
                                TextSize = CSS_FontSize.SubheadingFontSize,
                                TextColor = CSS_Color.FirstLevelTitleColor,
                                Text = "加载更多",
                                TextID = StringId.LoadMore,
                            };
                            if (Language.CurrentLanguage != "Chinese")
                            {
                                btnAppend.Text = "Load more";
                            }
                            functionListView.AddChidren(btnAppend);
                            btnAppend.MouseUpEventHandler = (sender, e) =>
                            {
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs
@@ -252,24 +252,14 @@
                                                                    var bindResult = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePackNew>(msg);
                                                                    if (bindResult != null)
                                                                    {
                                                                        string tipTitle = Language.StringByID(StringId.Tip);
                                                                        if (bindResult.Code == "147021") {
                                                                            string tipTitle = "提示";
                                                                            string tipMsg = "无法绑定该设备,请从河东渠道购买该类型产品";
                                                                            if (Language.CurrentLanguage != "Chinese")
                                                                            {
                                                                                tipTitle = "Tip";
                                                                                tipMsg = "Unable to bind this device. Please purchase this type of product from HDL";
                                                                            }
                                                                            string tipMsg = Language.StringByID(StringId.UnableToBindThisDeviceTip);
                                                                            new PublicAssmebly().TipMsg(tipTitle, tipMsg);
                                                                        }
                                                                        else
                                                                        {
                                                                            string tipTitle = "提示";
                                                                            string tipMsg = $"{bindResult.message}({bindResult.Code})";
                                                                            if (Language.CurrentLanguage != "Chinese")
                                                                            {
                                                                                tipTitle = "Tip";
                                                                            }
                                                                            new PublicAssmebly().TipMsg(tipTitle, tipMsg);
                                                                        }
                                                                    }
@@ -341,25 +331,15 @@
                                                var bindResult = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePackNew>(msg);
                                                if (bindResult != null)
                                                {
                                                    string tipTitle = Language.StringByID(StringId.Tip);
                                                    if (bindResult.Code == "147021")
                                                    {
                                                        string tipTitle = "提示";
                                                        string tipMsg = "无法绑定该设备,请从河东渠道购买该类型产品";
                                                        if (Language.CurrentLanguage != "Chinese")
                                                        {
                                                            tipTitle = "Tip";
                                                            tipMsg = "Unable to bind this device. Please purchase this type of product from HDL";
                                                        }
                                                        string tipMsg = Language.StringByID(StringId.UnableToBindThisDeviceTip);
                                                        new PublicAssmebly().TipMsg(tipTitle, tipMsg);
                                                    }
                                                    else
                                                    {
                                                        string tipTitle = "提示";
                                                        string tipMsg = $"{bindResult.message}({bindResult.Code})";
                                                        if (Language.CurrentLanguage != "Chinese")
                                                        {
                                                            tipTitle = "Tip";
                                                        }
                                                        new PublicAssmebly().TipMsg(tipTitle, tipMsg);
                                                    }
                                                }
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/Iot_AuthorizedPage.cs
@@ -79,14 +79,10 @@
                            TextColor = CSS_Color.FirstLevelTitleColor,
                            TextSize = CSS_FontSize.SubheadingFontSize,
                            Padding = new Padding(0, Application.GetRealWidth(16), 0, Application.GetRealWidth(16)),
                            Text = "账户绑定成功,您可以继续完成设备关联操作",
                            TextID = StringId.BindIotAccountTip,
                            IsMoreLines = true,
                        };
                        contentView.AddChidren(btnMsg);
                        if(Language.CurrentLanguage != "Chinese")
                        {
                            btnMsg.Text = "Account binding is successful.You can continue to complete the device association operation";
                        }
                        Button btnLine = new Button()
                        {
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/iot_BindTipPage.cs
@@ -59,13 +59,9 @@
                TextSize = 21,
                TextAlignment = TextAlignment.CenterLeft,
                IsBold = true,
                Text = "关于账号绑定的声明"
                TextID = StringId.AboutBindAcountTip,
            };
            contentView.AddChidren(btnTipTitle);
            if (Language.CurrentLanguage != "Chinese")
            {
                btnTipTitle.Text = "Statement on account binding";
            }
            var btnTipText = new Button()
            {
@@ -142,15 +138,10 @@
                BackgroundColor= CSS_Color.MainColor,
                TextColor = CSS_Color.MainBackgroundColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                Text = "同意授权",
                TextID = StringId.Agree,
                Radius = (uint)Application.GetRealHeight(22)
            };
            optionView.AddChidren(btnComfirm);
            if (Language.CurrentLanguage != "Chinese")
            {
                btnComfirm.Text = "Consent authorization";
            }
            if (!brand_Iot.hasAuthorization)
            {
@@ -177,11 +168,7 @@
            }
            else
            {
                btnComfirm.Text = "解除授权";
                if (Language.CurrentLanguage != "Chinese")
                {
                    btnComfirm.Text = "Cancel authorization";
                }
                btnComfirm.TextID = StringId.Cancel;
                btnComfirm.MouseUpEventHandler = (sender, e) =>
                {
                    Dialog dialog = new Dialog()
@@ -210,14 +197,10 @@
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        Padding = new Padding(0,Application.GetRealWidth(16),0,Application.GetRealWidth(16)),
                        Text = "撤销授权后,该品牌关联在On Pro中的设备将全部被解绑,相关使用信息合设备值也将失效",
                        TextID = StringId.RevokeAuthorizationTip,
                        IsMoreLines = true,
                    };
                    contentView2.AddChidren(btnMsg);
                    if (Language.CurrentLanguage != "Chinese")
                    {
                        btnMsg.Text = "After the authorization is revoked, all the devices associated with the brand in on Pro will be unbound, and the relevant use information and device value will also become invalid";
                    }
                    Button btnLine = new Button()
                    {
@@ -236,12 +219,8 @@
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        SelectedTextColor = CSS_Color.MainBackgroundColor,
                        SelectedBackgroundColor = CSS_Color.MainColor,
                        Text = "确定撤回授权",
                        TextID = StringId.ConfirmRevocationOfAuthorization,
                    };
                    if (Language.CurrentLanguage != "Chinese")
                    {
                        btnConfirm.Text = "Confirm to withdraw authorization";
                    }
                    btnConfirm.SetCornerWithSameRadius(Application.GetMinRealAverage(10), HDLUtils.RectCornerBottomLeft);
                    btnConfirm.SetCornerWithSameRadius(Application.GetMinRealAverage(10), HDLUtils.RectCornerBottomRight);
                    contentView2.AddChidren(btnConfirm);
@@ -280,14 +259,7 @@
                                }
                                else
                                {
                                    if (Language.CurrentLanguage != "Chinese")
                                    {
                                        new Alert("", "Operation failed", "").Show();
                                    }
                                    else
                                    {
                                        new Alert("", "操作失败", "").Show();
                                    }
                                    new Alert("", Language.StringByID(StringId.OperationFailed), "").Show();
                                }
                            }
                            catch { }
HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/AddGroupControlPage.cs
@@ -383,6 +383,22 @@
                                this.RemoveFromParent();
                                return;
                            }
                            groupControl.sids.Clear();
                            foreach (var light in groupControlLightList)
                            {
                                try
                                {
                                    var gc = new GroupControlFunction();
                                    gc.sid = light.sid;
                                    gc.spk = light.spk;
                                    groupControl.sids.Add(gc);
                                }
                                catch (Exception ex)
                                {
                                    MainPage.Log($"新增群控转换数据异常:{ex.Message}");
                                }
                            }
                            var pack = Common.ApiUtlis.Ins.HttpRequest.EditGroupControl(new List<GroupControl>() { groupControl });
                            if (pack != null)
                            {
@@ -564,12 +580,8 @@
                                TextAlignment = TextAlignment.Center,
                                TextSize = CSS_FontSize.SubheadingFontSize,
                                TextColor = CSS_Color.FirstLevelTitleColor,
                                Text = "加载更多",
                                TextID = StringId.LoadMore,
                            };
                            if (Language.CurrentLanguage != "Chinese")
                            {
                                btnAppend.Text = "Load more";
                            }
                            functionListView.AddChidren(btnAppend);
                            btnAppend.MouseUpEventHandler = (sender, e) =>
                            {
HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using HDL_ON.Common;
using HDL_ON.DAL.Server;
using HDL_ON.DriverLayer;
using Shared;
namespace HDL_ON.Entity
@@ -123,22 +124,41 @@
        {
            try
            {
                var controlValues = new Dictionary<string, object>();
                foreach(var p in pairs)
                if (DriverLayer.Control.Ins.GatewayOnline_Local)
                {
                    controlValues.Add("key", p.Key);
                    controlValues.Add("value", p.Value);
                }
                var pack = ApiUtlis.Ins.HttpRequest.ControlGroupControl(userDeviceGroupControlId, controlValues);
                if (pack != null)
                {
                    if (pack.Code == StateCode.SUCCESS)
                    var controlValues = new Dictionary<string, string>();
                    foreach (var p in pairs)
                    {
                        //DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl.
                        controlValues.Add("key", p.Key);
                        controlValues.Add("value", p.Value.ToString());
                    }
                    else
                    var functionControlDataObj = GetGatewayAlinkControlData(controlValues);
                    var functionControlDataJson = Newtonsoft.Json.JsonConvert.SerializeObject(functionControlDataObj);
                    var sendBytes = DriverLayer.Control.Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson);
                    new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id, 3);
                    MainPage.Log($"本地通讯 发送HDL-Link数据:{functionControlDataJson}");
                }
                else
                {
                    var controlValues = new Dictionary<string, object>();
                    foreach (var p in pairs)
                    {
                        MainPage.Log($"群控控制失败,Code: {pack.Code}");
                        controlValues.Add("key", p.Key);
                        controlValues.Add("value", p.Value);
                    }
                    var pack = ApiUtlis.Ins.HttpRequest.ControlGroupControl(userDeviceGroupControlId, controlValues);
                    if (pack != null)
                    {
                        if (pack.Code == StateCode.SUCCESS)
                        {
                            //DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl.
                        }
                        else
                        {
                            MainPage.Log($"群控控制失败,Code: {pack.Code}");
                        }
                    }
                }
            }
HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs
@@ -190,13 +190,9 @@
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = CSS_Color.TextualColor,
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                        Text = "    为保护您的个人隐私权益,特向您通知并申请明确同意授权。请你仔细阅读",
                        TextID =StringId.FaceProTipText1,
                        IsMoreLines = true,
                    };
                    if(Language.CurrentLanguage != "Chinese")
                    {
                        btnMsg.Text = "   In order to protect your personal privacy rights, we hereby notify you and apply for explicit consent authorization. Please read it carefully";
                    }
                    contentView.AddChidren(btnMsg);
                    Button btnMsg1 = new Button()
@@ -208,13 +204,9 @@
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = CSS_Color.MainColor,
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                        Text = "    《On Pro人脸信息采集协议》",
                        TextID = StringId.FaceProTipText2,
                        IsMoreLines = true,
                    };
                    if (Language.CurrentLanguage != "Chinese")
                    {
                        btnMsg1.Text = "    'On Pro Face Information Collection Protocol'";
                    }
                    contentView.AddChidren(btnMsg1);
@@ -227,13 +219,9 @@
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = CSS_Color.TextualColor,
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                        Text = "    若同意该协议,请点击【同意】按键,表示您已经理解并同意人脸信息采集协议。",
                        TextID = StringId.FaceProTipText3,
                        IsMoreLines = true,
                    };
                    if (Language.CurrentLanguage != "Chinese")
                    {
                        btnMsg2.Text = "   If you agree to this agreement, please click the [Agree] button to indicate that you have understood and agreed to the face information collection agreement.";
                    }
                    contentView.AddChidren(btnMsg2);
                    Button btnLine2 = new Button()
@@ -289,7 +277,7 @@
                        {
                            url = "https://developer.hdlcontrol.com/Face information collection protocol.html";
                        }
                        new WebViewDialog().LoadPage("人脸信息采集协议", url);
                        new WebViewDialog().LoadPage(Language.StringByID(StringId.GetFaceProtocol), url);
                        dialog.Close();
                    };
HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs
@@ -304,15 +304,12 @@
                        Width = Application.GetRealWidth(374 / 2),
                        Height = Application.GetRealHeight(50) - 1,
                        BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
                        Text = "上一页",
                        TextID = StringId.PreviousPage,
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS.CSS_Color.TextualColor,
                        TextSize = CSS.CSS_FontSize.TextFontSize,
                    };
                    if(Language.CurrentLanguage != "Chinese")
                    {
                        btnPre.Text = "Previous";
                    }
                    bottomOptionView.AddChidren(btnPre);
                    btnPre.MouseUpEventHandler = (sender33, e33) => {
                        if (pageIndex < 1)
@@ -330,15 +327,11 @@
                        Width = Application.GetRealWidth(374 / 2),
                        Height = Application.GetRealHeight(50) - 1,
                        BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
                        Text = "下一页",
                        TextID = StringId.NextPage,
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS.CSS_Color.TextualColor,
                        TextSize = CSS.CSS_FontSize.TextFontSize,
                    };
                    if(Language.CurrentLanguage != "Chinese")
                    {
                        btnNext.Text = "Next";
                    }
                    bottomOptionView.AddChidren(btnNext);
                    btnNext.MouseUpEventHandler = (sender33, e33) => {
HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
@@ -597,7 +597,7 @@
            var btnTitleText2 = new Button()
            {
                X = btnCollection.Right,
                Text = "我的家庭",
                TextID = StringId.MyHome,
                TextSize = 16,
                TextColor = 0xFF242424,
                TextAlignment = TextAlignment.CenterLeft,
@@ -605,10 +605,6 @@
                Height = Application.GetRealHeight(54),
            };
            subTitleView.AddChidren(btnTitleText2);
            if(Language.CurrentLanguage != "Chinese")
            {
                btnTitleText2.Text = "My Home";
            }
            int subFunctionCount = 0;
HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage.cs
@@ -151,9 +151,6 @@
                    TextID = StringId.OFF,
                    TextSize = CSS_FontSize.TextFontSize,
                    Radius = (uint)Application.GetRealWidth(5),
                    IsSelected = true,
                    //BorderWidth = 1,
                    //BorderColor = 0x00000000
                };
                view.AddChidren(btnClose);
HDL_ON/UI/UI2/FuntionControlView/Light/LightScene/AddLightScene.cs
@@ -264,12 +264,8 @@
                                TextAlignment = TextAlignment.Center,
                                TextSize = CSS_FontSize.SubheadingFontSize,
                                TextColor = CSS_Color.FirstLevelTitleColor,
                                Text = "加载更多",
                                TextID = StringId.LoadMore,
                            };
                            if (Language.CurrentLanguage != "Chinese")
                            {
                                btnAppend.Text = "Load more";
                            }
                            functionListView.AddChidren(btnAppend);
                            btnAppend.MouseUpEventHandler = (sender, e) =>
                            {
@@ -440,7 +436,7 @@
                }
                else
                {
                    var removeTemp = functions.Find((obj) => obj.deviceId == function.deviceId);
                    var removeTemp = functions.Find((obj) => obj.sid == function.deviceId);
                    if (removeTemp != null)
                    {
                        functions.Remove(removeTemp);
HDL_ON/UI/UI2/FuntionControlView/OrderFunctionPage.cs
@@ -175,12 +175,8 @@
                                TextAlignment = TextAlignment.Center,
                                TextSize = CSS_FontSize.SubheadingFontSize,
                                TextColor = CSS_Color.FirstLevelTitleColor,
                                Text = "加载更多",
                                TextID = StringId.LoadMore,
                            };
                            if (Language.CurrentLanguage != "Chinese")
                            {
                                btnAppend.Text = "Load more";
                            }
                            functionListView.AddChidren(btnAppend);
                            btnAppend.MouseUpEventHandler = (sender, e) =>
                            {
HDL_ON/UI/UI2/FuntionControlView/Video/WanderingAlarmPage.cs
@@ -31,12 +31,8 @@
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.PromptingColor1,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                Text = "*可视对讲可以自动识别门口可疑人员,并发起徘徊报警记录"
                TextID =StringId.SmartDoorstepMachineAlarmPrompt,
            };
            if(Language.CurrentLanguage != "Chinese")
            {
                btnTipMsg.Text = "*Visual intercom can automatically identify suspicious persons at the door and initiate wandering alarm records";
            }
            bodyView.AddChidren(btnTipMsg);
            contentView = new VerticalScrolViewLayout()
HDL_ON/UI/UI2/UserPage.cs
@@ -132,7 +132,11 @@
                //开启定位服务
                try
                {
                    Shared.Application.StartGPSLocationService();
                    if (DB_ResidenceData.Instance.CheckGPS_IsFirst)
                    {
                        DB_ResidenceData.Instance.CheckGPS_IsFirst = false;
                        Shared.Application.StartGPSLocationService();
                    }
                }catch(Exception ex)
                {
                    MainPage.Log("开启定位服务异常:" + ex.Message);