wxr
2023-07-26 9090550cb5b031dcfef806078a079b03ba79302f
bug修复
17个文件已修改
561 ■■■■■ 已修改文件
HDL-ON_Android/Assets/Language.ini 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Phone/FunctionIcon/Music/MusicPlayOnIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Properties/AndroidManifest.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Language.ini 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Phone/FunctionIcon/Music/MusicPlayOnIcon.png 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/R.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/NewAPI.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/MainPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI1-Login/LoginPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/CombinedDimmingListPage.cs 315 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage_V2.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/UnlockSettingFacePage.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockAudioSetupPage.cs 130 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockBatteryManagementPage.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockFaceUnlockTriggerSettingPage.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserListPage.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Language.ini
@@ -669,6 +669,7 @@
682=Group
683=The time is invalid
684=Length out of range
685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations.
@@ -2014,6 +2015,11 @@
682=群组
683=该时间无效
684=长度超出范围
685=注:用户管理仅可对已添加用户进行管理。如需添加新用户,请前往锁端进行相关操作。
@@ -3356,7 +3362,7 @@
682=Group
683=The time is invalid
684=Length out of range
685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations.
@@ -4696,7 +4702,7 @@
682=Group
683=The time is invalid
684=Length out of range
685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations.
@@ -6023,6 +6029,8 @@
682=Group
683=The time is invalid
684=Length out of range
685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations.
HDL-ON_Android/Assets/Phone/FunctionIcon/Music/MusicPlayOnIcon.png

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="2.0.0" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202307251">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.0.0" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202307261">
    <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="29" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <!--友盟-->
HDL-ON_iOS/Resources/Language.ini
@@ -669,6 +669,7 @@
682=Group
683=The time is invalid
684=Length out of range
685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations.
@@ -2014,6 +2015,11 @@
682=群组
683=该时间无效
684=长度超出范围
685=注:用户管理仅可对已添加用户进行管理。如需添加新用户,请前往锁端进行相关操作。
@@ -3356,7 +3362,7 @@
682=Group
683=The time is invalid
684=Length out of range
685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations.
@@ -4696,7 +4702,7 @@
682=Group
683=The time is invalid
684=Length out of range
685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations.
@@ -6023,6 +6029,8 @@
682=Group
683=The time is invalid
684=Length out of range
685=note: User management can only manage added users. If you need to add a new user, please go to the lock end for relevant operations.
HDL-ON_iOS/Resources/Phone/FunctionIcon/Music/MusicPlayOnIcon.png

HDL_ON/Common/R.cs
@@ -5,6 +5,16 @@
    public static class StringId
    {
        /// <summary>
        /// 注:用户管理仅可对已添加用户进行管理。如需添加新用户,请前往锁端进行相关操作。
        /// </summary>
        public const int VideoDoorlockManagerTip = 685;
        /// <summary>
        /// 长度超出范围
        /// </summary>
HDL_ON/DAL/Server/NewAPI.cs
@@ -902,9 +902,9 @@
        public const string Api_Post_GetDoorlockUserList = "/home-wisdom/platform/yingshi/lock/user/list";
        /// <summary>
        /// 更改门锁用户备注名
        /// 更改门锁用户备注名
        /// </summary>
        public const string Api_Post_setDoorUserRemark = "/home-wisdom/platform/yingshi/lock/user/list";
        public const string Api_Post_setDoorUserRemark = "/home-wisdom/platform/yingshi/lock/setDoorUserRemark";
        /// <summary>
        /// 删除用户数字密码
        /// </summary>
HDL_ON/UI/MainPage.cs
@@ -26,7 +26,7 @@
        /// <summary>
        /// 版本号
        /// </summary>
        public static string VersionString = "1.9.0";
        public static string VersionString = "2.0.0";
        ///// <summary>
        ///// 客户端类型
        ///// </summary>
HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -312,7 +312,6 @@
                    //etAccount.Text = "13143792049";
                    etAccount.Text = "18688414428";//天河3楼
                    //etAccount.Text = "18244942707";
                    //etAccount.Text = "12345678904";
                    //etAccount.Text = "13418062953";
                    etAccount.Text = "13138683659";
                    //etAccount.Text = "15217626103";
@@ -325,6 +324,7 @@
                    etAccount.Text = "15855403939";
                    etAccount.Text = "15006564444";
                    etAccount.Text = "13580507523";
                    //etAccount.Text = "12345678904";//2.0 测试  萤石
                    etAccount.Text = "18316672920";
                }
                else
HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/CombinedDimmingListPage.cs
@@ -22,13 +22,15 @@
        {
            new TopViewDiv(bodyView, Language.StringByID(StringId.GroupControl)).LoadTopView_AddIcon("CombinedDimming",
                (s,c)=>{
                (s, c) =>
                {
                    try
                    {
                        var page = new AddGroupControlPage(null,
                            (newGC)=> {
                            (newGC) =>
                            {
                                ReadGroupControlList();
                            },()=> { });
                            }, () => { });
                        MainPage.BasePageView.AddChidren(page);
                        page.LoadPage();
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -49,7 +51,7 @@
            #region 
            contentView.AddChidren(new Button() { Height = Application.GetRealHeight(8) });
            #endregion
@@ -60,7 +62,8 @@
        private void ReadGroupControlList()
        {
            new System.Threading.Thread(() => {
            new System.Threading.Thread(() =>
            {
                var pack = ApiUtlis.Ins.HttpRequest.GetGroupControlList();
                if (pack != null)
                {
@@ -68,10 +71,12 @@
                    {
                        try
                        {
                            var groupControlList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString());
                            FunctionList.List.groupControls.Clear();
                            FunctionList.List.groupControls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString());
                            Application.RunOnMainThread(() =>
                            {
                                LoadGroupControlView(groupControlList);
                                LoadGroupControlView();
                            });
                        }
                        catch (Exception ex)
@@ -90,187 +95,171 @@
        }
        private void LoadGroupControlView(List<GroupControl> list)
        private void LoadGroupControlView()
        {
#if DEBUG
            if (list.Count == 0)
            contentView.RemoveAll();
            foreach (var groupControl in FunctionList.List.groupControls)
            {
                list.Add(new GroupControl()
                var functionRow = new RowLayout()
                {
                    name = "组合调光1",
                    roomIds = new List<string> {},
                    sid = "00000000000000001",
                    type = "light",
                });
                    Height = Application.GetRealHeight(65),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                    LineColor = 0x00000000
                };
                contentView.AddChidren(functionRow);
                list.Add(new GroupControl()
                var btnRight = new Button()
                {
                    name = "组合调光2",
                    roomIds = new List<string> { },//Room.CurrentSpatial.RoomList[0].roomId
                    sid = "00000000000000002",
                    type = "light",
                });
            }
                    X = Application.GetRealWidth(339),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/Right.png",
                };
                functionRow.AddChidren(btnRight);
#endif
            if (list.Count == 0)
            {
            }
            else
            {
                contentView.RemoveAll();
                foreach (var groupControl in list)
                var btnFunctionName = new Button()
                {
                    var functionRow = new RowLayout()
                    X = Application.GetRealWidth(16),
                    Y = Application.GetRealHeight(10),
                    Width = Application.GetRealWidth(308),
                    Height = Application.GetRealHeight(24),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    Text = groupControl.name,
                };
                functionRow.AddChidren(btnFunctionName);
                var btnFunctionLocationInfo = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = btnFunctionName.Bottom,
                    Width = Application.GetRealWidth(308),
                    Height = Application.GetRealHeight(21),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextColor = CSS_Color.PromptingColor1,
                    Text = groupControl.GetRoomListName(),
                };
                functionRow.AddChidren(btnFunctionLocationInfo);
                functionRow.AddChidren(
                    new Button()
                    {
                        Height = Application.GetRealHeight(65),
                        BackgroundColor = CSS_Color.MainBackgroundColor,
                        LineColor = 0x00000000
                    };
                    contentView.AddChidren(functionRow);
                        Gravity = Gravity.CenterHorizontal,
                        Y = Application.GetRealHeight(64),
                        Height = Application.GetRealHeight(1),
                        Width = Application.GetRealWidth(343),
                        BackgroundColor = CSS_Color.DividingLineColor,
                    });
                    var btnRight = new Button()
                    {
                        X = Application.GetRealWidth(339),
                        Gravity = Gravity.CenterVertical,
                        Width = Application.GetMinRealAverage(16),
                        Height = Application.GetMinRealAverage(16),
                        UnSelectedImagePath = "Public/Right.png",
                    };
                    functionRow.AddChidren(btnRight);
                    var btnFunctionName = new Button()
                    {
                        X = Application.GetRealWidth(16),
                        Y = Application.GetRealHeight(10),
                        Width = Application.GetRealWidth(308),
                        Height = Application.GetRealHeight(24),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextSize = CSS_FontSize.SubheadingFontSize,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        Text = groupControl.name,
                    };
                    functionRow.AddChidren(btnFunctionName);
                    var btnFunctionLocationInfo = new Button()
                    {
                        X = Application.GetRealWidth(16),
                        Y = btnFunctionName.Bottom,
                        Width = Application.GetRealWidth(308),
                        Height = Application.GetRealHeight(21),
                        TextAlignment = TextAlignment.CenterLeft,
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                        TextColor = CSS_Color.PromptingColor1,
                        Text = groupControl.GetRoomListName(),
                    };
                    functionRow.AddChidren(btnFunctionLocationInfo);
                    functionRow.AddChidren(
                        new Button()
                        {
                            Gravity = Gravity.CenterHorizontal,
                            Y = Application.GetRealHeight(64),
                            Height = Application.GetRealHeight(1),
                            Width = Application.GetRealWidth(343),
                            BackgroundColor = CSS_Color.DividingLineColor,
                        });
                    EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
                        var page = new AddGroupControlPage(groupControl,
                           (newGC) => {
                               try
                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                {
                    var page = new AddGroupControlPage(groupControl,
                       (newGC) =>
                       {
                           try
                           {
                               if (newGC != null)
                               {
                                   if (newGC != null)
                                   Application.RunOnMainThread(() =>
                                   {
                                       Application.RunOnMainThread(() =>
                                       {
                                           groupControl.roomIds = newGC.uids;
                                           btnFunctionLocationInfo.Text = newGC.GetUidListName();
                                       });
                                   }
                               }catch(Exception ex)
                               {
                                   MainPage.Log($"刷新群控房间信息异常:{ex.Message}");
                               }
                           },()=> {
                               LoadGroupControlView(FunctionList.List.groupControls);
                           });
                        MainPage.BasePageView.AddChidren(page);
                        page.LoadPage();
                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                    };
                    functionRow.MouseUpEventHandler = eventHandler;
                    btnRight.MouseUpEventHandler = eventHandler;
                    btnFunctionName.MouseUpEventHandler = eventHandler;
                    btnFunctionLocationInfo.MouseUpEventHandler = eventHandler;
                                           //groupControl.roomIds = newGC.roomIds;
                                           //groupControl.uids = newGC.uids;
                                           var localTemp = FunctionList.List.groupControls.Find((obj) => obj.deviceId == newGC.deviceId);
                                       localTemp.roomIds = newGC.roomIds;
                                       localTemp.uids = newGC.uids;
                                       localTemp.sids = newGC.sids;
                    var btnDelGroupControl = new Button()
                                           btnFunctionLocationInfo.Text = newGC.GetUidListName();
                                   });
                               }
                           }
                           catch (Exception ex)
                           {
                               MainPage.Log($"刷新群控房间信息异常:{ex.Message}");
                           }
                       }, () =>
                       {
                           LoadGroupControlView();
                       });
                    MainPage.BasePageView.AddChidren(page);
                    page.LoadPage();
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
                functionRow.MouseUpEventHandler = eventHandler;
                btnRight.MouseUpEventHandler = eventHandler;
                btnFunctionName.MouseUpEventHandler = eventHandler;
                btnFunctionLocationInfo.MouseUpEventHandler = eventHandler;
                var btnDelGroupControl = new Button()
                {
                    TextColor = CSS_Color.MainBackgroundColor,
                    BackgroundColor = CSS_Color.WarningColor,
                    TextID = StringId.Del,
                    TextAlignment = TextAlignment.Center,
                };
                functionRow.AddRightView(btnDelGroupControl);
                btnDelGroupControl.MouseUpEventHandler = (sender1, e1) =>
                {
                    var waitPage = new Loading();
                    this.AddChidren(waitPage);
                    waitPage.Start("");
                    new System.Threading.Thread(() =>
                    {
                        TextColor = CSS_Color.MainBackgroundColor,
                        BackgroundColor = CSS_Color.WarningColor,
                        TextID = StringId.Del,
                        TextAlignment = TextAlignment.Center,
                    };
                    functionRow.AddRightView(btnDelGroupControl);
                    btnDelGroupControl.MouseUpEventHandler = (sender1, e1) => {
                        var waitPage = new Loading();
                        this.AddChidren(waitPage);
                        waitPage.Start("");
                        new System.Threading.Thread(() =>
                        try
                        {
                            try
                            var pack = ApiUtlis.Ins.HttpRequest.DelGroupControl(groupControl.userDeviceGroupControlId);
                            if (pack != null)
                            {
                                var pack = ApiUtlis.Ins.HttpRequest.DelGroupControl(groupControl.userDeviceGroupControlId);
                                if (pack != null)
                                Application.RunOnMainThread(() =>
                                {
                                    Application.RunOnMainThread(() =>
                                    try
                                    {
                                        try
                                        if (pack.Code == StateCode.SUCCESS)
                                        {
                                            if (pack.Code == StateCode.SUCCESS)
                                            {
                                                var delTemp = FunctionList.List.groupControls.Find((obj) => groupControl.sid == obj.sid);
                                                FunctionList.List.groupControls.Remove(delTemp);
                                                list.Remove(groupControl);
                                                LoadGroupControlView(list);
                                            }
                                            else
                                            {
                                                IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
                                            }
                                        }catch(Exception ex)
                                        {
                                            MainPage.Log($"刷新组控数据异常:{ex.Message}");
                                            var delTemp = FunctionList.List.groupControls.Find((obj) => groupControl.sid == obj.sid);
                                            FunctionList.List.groupControls.Remove(delTemp);
                                            LoadGroupControlView();
                                        }
                                    });
                                }
                            }catch(Exception ex)
                            {
                                MainPage.Log($"删除组控异常:{ex.Message}");
                            }
                            finally
                            {
                                Application.RunOnMainThread(() => {
                                    if (waitPage != null)
                                        else
                                        {
                                            IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
                                        }
                                    }
                                    catch (Exception ex)
                                    {
                                        waitPage.Hide();
                                        waitPage.RemoveFromParent();
                                        waitPage = null;
                                        MainPage.Log($"刷新组控数据异常:{ex.Message}");
                                    }
                                });
                            }
                        })
                        { IsBackground = true }.Start();
                    };
                }
                        }
                        catch (Exception ex)
                        {
                            MainPage.Log($"删除组控异常:{ex.Message}");
                        }
                        finally
                        {
                            Application.RunOnMainThread(() =>
                            {
                                if (waitPage != null)
                                {
                                    waitPage.Hide();
                                    waitPage.RemoveFromParent();
                                    waitPage = null;
                                }
                            });
                        }
                    })
                    { IsBackground = true }.Start();
                };
            }
        }
HDL_ON/UI/UI2/FuntionControlView/Light/GroupControlPage_V2.cs
@@ -891,7 +891,7 @@
                //6500K
                var btnTempClolorMax = new Button();
                btnTempClolorMax.Y = btnTempClolorMin.Y;
                btnTempClolorMax.X = barColorTemplatrue.Right - Application.GetRealWidth(30);
                btnTempClolorMax.X = barColorTemplatrue.Right - Application.GetRealWidth(15);
                btnTempClolorMax.Width = Application.GetRealWidth(54);
                btnTempClolorMax.Height = Application.GetRealHeight(21);
                btnTempClolorMax.Text = "6500K";
@@ -975,8 +975,7 @@
                            function.SetAttrState(FunctionAttributeKey.Colorful, controlColorfulState);
                            var d = new Dictionary<string, string>();
                            d.Add(FunctionAttributeKey.Colorful, controlColorfulState);
                            Control.Ins.SendWriteCommand(function, d);
                            function.Control(d);
                        }
                        catch (Exception ex)
                        {
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/UnlockSettingFacePage.cs
@@ -90,6 +90,21 @@
            bodyView.AddChidren(waitPage);
            waitPage.Start("");
            #endregion
            contentView.AddChidren(new Button()
            {
                Height = Application.GetRealHeight(8),
                BackgroundColor = CSS_Color.BackgroundColor,
            });
            var view = new VerticalScrolViewLayout()
            {
                Height = Application.GetRealHeight(300),
            };
            contentView.AddChidren(view);
            btnFaceUnlockSwitchIcon.MouseUpEventHandler = (sender, e) =>
            {
                waitPage.Start("");
@@ -110,6 +125,7 @@
                            {
                                //更新界面
                                btnFaceUnlockSwitchIcon.IsSelected = changeState;
                                loadSubView(view, faceUnlockSetup);
                            });
                        }
                        else
@@ -145,19 +161,7 @@
                })
                { IsBackground = true }.Start();
            };
            #endregion
            contentView.AddChidren(new Button()
            {
                Height = Application.GetRealHeight(8),
                BackgroundColor = CSS_Color.BackgroundColor,
            });
            var view = new VerticalScrolViewLayout()
            {
                Height = Application.GetRealHeight(300),
            };
            contentView.AddChidren(view);
            new System.Threading.Thread(() => {
                try
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockAudioSetupPage.cs
@@ -12,17 +12,17 @@
        FrameLayout bodyView;
        Function device;
        /// <summary>
        /// 门铃系统音量
        /// 门锁系统音量
        /// </summary>
        int doorlockSystemSound = 0;
        DoorLockSystemSound doorLockSystemSound;
        /// <summary>
        /// 门铃音量
        /// </summary>
        int doorbelVol = 0;
        int doorbellVol = 0;
        public VideoDoorlockAudioSetupPage(Function function)
        {
            doorLockSystemSound = new DoorLockSystemSound();
            device = function;
            bodyView = this;
        }
@@ -74,7 +74,7 @@
            btnDoorlockSystemVolumeText.MouseUpEventHandler = (sender, e) =>
            {
                LoadEditDialog(StringId.DoorlockSystemVolume, 3-doorlockSystemSound, btnDoorlockSystemVolumeStateText);
                LoadEditDialog(StringId.DoorlockSystemVolume, btnDoorlockSystemVolumeStateText,true);
            };
            #endregion
@@ -124,7 +124,7 @@
            btnDoorbellVolumeText.MouseUpEventHandler = (sender, e) =>
            {
                LoadEditDialog(StringId.DoorbellVolume, doorbelVol, btnDoorbellVolumeStateText);
                LoadEditDialog(StringId.DoorbellVolume, btnDoorbellVolumeStateText,false);
            };
            #endregion
@@ -149,25 +149,21 @@
                        Application.RunOnMainThread(() =>
                        {
                            //更新界面
                            var doorLockSystemSound = Newtonsoft.Json.JsonConvert.DeserializeObject<DoorLockSystemSound>(pack.Data.ToString());
                            doorLockSystemSound = Newtonsoft.Json.JsonConvert.DeserializeObject<DoorLockSystemSound>(pack.Data.ToString());
                            if(doorLockSystemSound != null)
                            {
                                switch (doorLockSystemSound.sound)
                                {
                                    case 0:
                                        doorlockSystemSound = 0;
                                        btnDoorlockSystemVolumeStateText.TextID = StringId.Mute;
                                        break;
                                    case 1:
                                        doorlockSystemSound = 1;
                                        btnDoorlockSystemVolumeStateText.TextID = StringId.Low;
                                        break;
                                    case 2:
                                        doorlockSystemSound = 2;
                                        btnDoorlockSystemVolumeStateText.TextID = StringId.Moderate;
                                        break;
                                    case 3:
                                        doorlockSystemSound = 3;
                                        btnDoorlockSystemVolumeStateText.TextID = StringId.High;
                                        break;
                                }
@@ -205,22 +201,22 @@
                            {
                                if (doorbellTone.volume == 0)
                                {
                                    doorbelVol = 3;
                                    doorbellVol = 0;
                                    btnDoorbellVolumeStateText.TextID = StringId.Mute;
                                }
                                else if (doorbellTone.volume > 0 && doorbellTone.volume < 35)
                                {
                                    doorbelVol = 2;
                                    doorbellVol = 1;
                                    btnDoorbellVolumeStateText.TextID = StringId.Low;
                                }
                                else if (doorbellTone.volume > 35 && doorbellTone.volume < 70)
                                {
                                    doorbelVol = 1;
                                    doorbellVol = 2;
                                    btnDoorbellVolumeStateText.TextID = StringId.Moderate;
                                }
                                else if (doorbellTone.volume > 70)
                                {
                                    doorbelVol = 0;
                                    doorbellVol = 3;
                                    btnDoorbellVolumeStateText.TextID = StringId.High;
                                }
                            }
@@ -271,10 +267,10 @@
        /// <summary>
        /// 加载功能属性数据选择弹窗
        /// </summary>
        void LoadEditDialog(int titleId, int index, Button btn)
        void LoadEditDialog(int titleId, Button btn,bool isDoorlockSystemVolume)
        {
            Button lastButton = new Button();
            var lastData = "";
            var lastText = "";
            Dialog dialog = new Dialog();
@@ -311,7 +307,7 @@
            {
                Gravity = Gravity.CenterHorizontal,
                TextAlignment = TextAlignment.Center,
                Width = Application.GetRealWidth(100),
                Width = Application.GetRealWidth(150),
                TextID = titleId,
                IsBold = true,
                TextColor = CSS_Color.FirstLevelTitleColor,
@@ -340,7 +336,7 @@
                TextID = StringId.Complete,
            };
            topView.AddChidren(btnConfrim);
            int hei = 1;
            int index = 1;
            var statusList = new List<string>
            {
                Language.StringByID(StringId.High),
@@ -353,11 +349,11 @@
            {
                var row = new FrameLayout()
                {
                    Y = Application.GetRealHeight(50 * hei),
                    Y = Application.GetRealHeight(50 * index),
                    Height = Application.GetRealHeight(50),
                };
                optionBaseView.AddChidren(row);
                if (statusList.Count > hei)
                if (statusList.Count > index)
                {
                    optionBaseView.AddChidren(new Button()
                    {
@@ -377,13 +373,76 @@
                    Height = Application.GetMinRealAverage(28),
                    UnSelectedImagePath = "Public/ChooseIcon.png",
                    SelectedImagePath = "Public/ChooseOnIcon.png",
                    Tag = index - 1,
                };
                row.AddChidren(btnChoose);
                if (index == hei - 1)
                if (isDoorlockSystemVolume) {//设置门锁系统音量
                    switch (doorLockSystemSound.sound)
                    {
                        case 0:
                            if (index == 3 + 1)
                            {
                                lastButton = btnChoose;
                                btnChoose.IsSelected = true;
                            }
                            break;
                        case 1:
                            if (index == 2 + 1)
                            {
                                lastButton = btnChoose;
                                btnChoose.IsSelected = true;
                            }
                            break;
                        case 2:
                            if (index == 1 + 1)
                            {
                                lastButton = btnChoose;
                                btnChoose.IsSelected = true;
                            }
                            break;
                        case 3:
                            if (index == 0 + 1)
                            {
                                lastButton = btnChoose;
                                btnChoose.IsSelected = true;
                            }
                            break;
                    }
                }
                else//设置门铃音量
                {
                    lastButton = btnChoose;
                    btnChoose.IsSelected = true;
                    switch (doorbellVol)
                    {
                        case 0:
                            if (index == 3 + 1)
                            {
                                lastButton = btnChoose;
                                btnChoose.IsSelected = true;
                            }
                            break;
                        case 1:
                            if (index == 2 + 1)
                            {
                                lastButton = btnChoose;
                                btnChoose.IsSelected = true;
                            }
                            break;
                        case 2:
                            if (index == 1 + 1)
                            {
                                lastButton = btnChoose;
                                btnChoose.IsSelected = true;
                            }
                            break;
                        case 3:
                            if (index == 0 + 1)
                            {
                                lastButton = btnChoose;
                                btnChoose.IsSelected = true;
                            }
                            break;
                    }
                }
                var btnPropertyTitle = new Button()
                {
@@ -391,22 +450,24 @@
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.TextFontSize,
                    Tag = hei-1,
                    Text = m
                };
                row.AddChidren(btnPropertyTitle);
                btnPropertyTitle.MouseUpEventHandler = (sender, e) => {
                    if (btnChoose.IsSelected)
                    {
                        return;
                    }
                    btnChoose.IsSelected = true;
                    if (lastButton != null)
                    {
                        lastButton.IsSelected = false;
                    }
                    lastButton = btnChoose;
                    lastData = btnPropertyTitle.Tag.ToString();
                    lastText = btnPropertyTitle.Text;
                };
                hei++;
                index++;
            }
@@ -423,13 +484,14 @@
            };
            btnConfrim.MouseUpEventHandler = (sender, e) => {
                dialog.Close();
                if(titleId == StringId.DoorlockSystemVolume)
                var lastData = lastButton.Tag.ToString();
                if (isDoorlockSystemVolume)
                {
                    var waitPage = new Loading();
                    bodyView.AddChidren(waitPage);
                    waitPage.Start("");
                    new System.Threading.Thread(() => {
                        try
                        {
@@ -462,15 +524,19 @@
                                    switch (sound)
                                    {
                                        case 0:
                                            doorLockSystemSound.sound = 0;
                                            btn.TextID = StringId.Mute;
                                            break;
                                        case 1:
                                            doorLockSystemSound.sound = 1;
                                            btn.TextID = StringId.Low;
                                            break;
                                        case 2:
                                            doorLockSystemSound.sound = 2;
                                            btn.TextID = StringId.Moderate;
                                            break;
                                        case 3:
                                            doorLockSystemSound.sound = 3;
                                            btn.TextID = StringId.High;
                                            break;
                                    }
@@ -550,15 +616,19 @@
                                    switch (lastData)
                                    {
                                        case "0":
                                            doorbellVol = 3;
                                            btn.TextID = StringId.High;
                                            break;
                                        case "1":
                                            doorbellVol = 2;
                                            btn.TextID = StringId.Moderate;
                                            break;
                                        case "2":
                                            doorbellVol = 1;
                                            btn.TextID = StringId.Low;
                                            break;
                                        case "3":
                                            doorbellVol = 0;
                                            btn.TextID = StringId.Mute;
                                            break;
                                    }
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockBatteryManagementPage.cs
@@ -16,8 +16,8 @@
        public void LoadPage()
        {
            new TopViewDiv(bodyView, Language.StringByID(StringId.AudioSetup)).LoadTopView();
            bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
            new TopViewDiv(bodyView, Language.StringByID(StringId.BatteryManagement)).LoadTopView();
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            var view1 = new FrameLayout()
@@ -25,7 +25,7 @@
                Y = Application.GetRealHeight(64),
                Height = Application.GetRealHeight(276),
                BackgroundColor = CSS_Color.MainBackgroundColor,
                BackgroundImagePath = "FunctionIcon/Doorlock/VideoDoorlockBatteryManagementBg.png"
                BackgroundImagePath = "FunctionIcon/DoorLock/VideoDoorlockBatteryManagementBg.png"//VideoDoorlockBatteryManagementBg
            };
            bodyView.AddChidren(view1);
@@ -75,6 +75,7 @@
                TextSize = CSS_FontSize.HeadlineFontSize,
                TextColor = CSS_Color.FirstLevelTitleColor,
                Text = "低电量说明",
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            view2.AddChidren(btnTitle2);
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockFaceUnlockTriggerSettingPage.cs
@@ -305,6 +305,7 @@
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextColor = CSS_Color.PromptingColor1,
                TextID = StringId.FaceUnlockNote,
                IsMoreLines = true,
            };
            automaitcTipView.AddChidren(btnAutomaitcNote);
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserListPage.cs
@@ -30,13 +30,28 @@
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            contentView = new VerticalScrolViewLayout()
            {
                Y = Application.GetRealHeight(64),
                Height = Application.GetRealHeight(667 - 70),
                Height = Application.GetRealHeight(607 - 70),
            };
            bodyView.AddChidren(contentView);
            var btnTip = new Button()
            {
                Y = Application.GetRealHeight(667 - 70),
                Gravity = Gravity.CenterHorizontal,
                Width = Application.GetRealWidth(343),
                Height = Application.GetRealHeight(60),
                TextAlignment = TextAlignment.TopLeft,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextColor = CSS_Color.TextualColor,
                TextID = StringId.VideoDoorlockManagerTip,
                IsMoreLines = true,
            };
            bodyView.AddChidren(btnTip);
            var waitPage = new Loading();
            bodyView.AddChidren(waitPage);
            waitPage.Start("");
HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorlockUserManagerPage.cs
@@ -48,6 +48,8 @@
            };
            bodyView.AddChidren(contentView);
            #region 用户名称
            var userNameView = new FrameLayout()
            {
@@ -158,7 +160,7 @@
                };
                var pa = new PublicAssmebly();
                pa.entryMaxLength = 20;
                pa.LoadDialog_EditParater(StringId.ChangeName, doorlockUser.lockUserName, callBack, StringId.UesrNameCannotBeEmpty, 0, new List<string>());
                pa.LoadDialog_EditParater(StringId.ChangeName, "", callBack, StringId.UesrNameCannotBeEmpty, 0, new List<string>());
            };
            btnUserName.MouseUpEventHandler = eventHandler;
            btnEditUserNameIcon.MouseUpEventHandler = eventHandler;
@@ -169,7 +171,7 @@
        void initOptionView(bool isEdit)
        {
            if(doorlockUser.faceCount == 0&&
                doorlockUser.faceCount == 0 &&
                doorlockUser.fingerCount == 0 &&
                doorlockUser.pwdCount == 0 &&
                doorlockUser.cardCount == 0)
            {
@@ -183,17 +185,17 @@
            int childrenViewHeight = Application.GetRealWidth(116);
            int permissionsViewHeight = Application.GetRealHeight(291 + 92);
            int permissionsViewHeight = Application.GetRealHeight(291 + 92 + 100);
            if (userPermissionsView!= null)
            {
                userPermissionsView.RemoveAll();
                if (isEdit)
                {
                    permissionsViewHeight = Application.GetRealHeight(391 + 50);
                    permissionsViewHeight = Application.GetRealHeight(391 + 50 + 100);
                    childrenViewHeight = Application.GetRealWidth(156);
                }
                userPermissionsView.Height = permissionsViewHeight;
                userPermissionsView.Height = permissionsViewHeight ;
            }
            else
            {
@@ -699,7 +701,7 @@
            var delUserView = new FrameLayout()
            {
                Y = unlockOptionView.Bottom,
                Height = Application.GetRealHeight(110),
                Height = Application.GetRealHeight(310),
                BackgroundColor = CSS_Color.BackgroundColor,
            };
            userPermissionsView.AddChidren(delUserView);