HDL Home App 第二版本 旧平台金堂用 正在使用
xm
2020-01-15 f17bb6c60db1f24ce05df96aa27d4680e2df0ce6
请合并最新代码,(优化代码格式,完成开会后的细节测试)
2个文件已删除
22个文件已修改
18110 ■■■■ 已修改文件
ZigbeeApp20190114/GateWay.Droid/GateWay.Droid.csproj 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/GateWay.Droid/Resources/Resource.designer.cs 16240 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs 69 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/AddUnLockMethod.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs 68 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs 107 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs 170 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs 379 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/MemberManagement.cs 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs 77 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs 136 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs 129 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs 208 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/UserManagement.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/Shared/Shared.projitems 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp20190114/GateWay.Droid/GateWay.Droid.csproj
@@ -40,6 +40,10 @@
    <EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
    <AndroidSupportedAbis />
    <AndroidDexTool>d8</AndroidDexTool>
    <AotAssemblies>false</AotAssemblies>
    <EnableLLVM>false</EnableLLVM>
    <AndroidEnableProfiledAot>false</AndroidEnableProfiledAot>
    <BundleAssemblies>false</BundleAssemblies>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
ZigbeeApp20190114/GateWay.Droid/Resources/Resource.designer.cs
Diff too large
ZigbeeApp20190114/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs
@@ -30,27 +30,68 @@
            this.curDeviceBindType = deviceBindType;
        }
        #region ◆ 变量申明__________________________
        #region 变量申明
        /// <summary>
        /// 当前按键
        /// </summary>
        ZigBee.Device.Panel currentKey;
        //显示被绑定设备或场景的view
        /// <summary>
        /// 显示被绑定设备或场景的view
        /// </summary>
        VerticalScrolViewLayout midVerticalScrolViewLayout;
        /// <summary>
        /// 显示房间的view
        /// </summary>
        HorizontalScrolViewLayout btnHorizontalScrolViewLayout;
        /// <summary>
        /// 按键配置的目标列表
        /// </summary>
        List<CommonDevice> targetList = new List<CommonDevice>();
        /// <summary>
        /// 房间列表
        /// </summary>
        List<Room> roomList = new List<Room>();
        /// <summary>
        /// 添加设备后的回调
        /// </summary>
        public Action<List<BindListResponseObj>> actionAddDevicePage;
        /// <summary>
        /// 当前设备类型列表
        /// </summary>
        List<DeviceUI> curTypeDeviceList = new List<DeviceUI> { };
        /// <summary>
        /// 当前设备绑定类型
        /// </summary>
        string curDeviceBindType = "";
        /// <summary>
        /// 楼层文本
        /// </summary>
        Button btnFloorText;
        /// <summary>
        /// 楼层表
        /// </summary>
        Dictionary<string, string> dicFloor;
        /// <summary>
        /// 当前选择的按键模式
        /// </summary>
        Button btnChooseKeyMode;
        bool IsInitEntry = false;//是否首次进入该页
        /// <summary>
        /// 是否首次进入该页
        /// </summary>
        bool IsInitEntry = false;
        /// <summary>
        /// 当前按键的所有房间设备列表
        /// </summary>
        List<DeviceUI> currentKeyAllRoomDeviceList = new List<DeviceUI>();
        /// <summary>
        /// 临时存储的目标列表
        /// </summary>
        Dictionary<string, CommonDevice> oldTargetList = new Dictionary<string, CommonDevice> { };
        #endregion
        /// <summary>
        /// 添加设备显示
        /// </summary>
        public void Show()
        {
            targetList.Clear();
@@ -126,6 +167,9 @@
            MidFrameLayoutContent(btnFloorText);
        }
        /// <summary>
        /// 中部布局
        /// </summary>
        async void MidFrameLayoutContent(Button btnFloorText)
        {
            #region UI
@@ -403,9 +447,12 @@
            }
            BindInfo.FinishDisplay(roomTempList, btnChooseKeyMode);
            RefreshDeviceList(curRoom);
        }
        //当前按键所有显示房间的所有设备处理
        }
        /// <summary>
        /// 当前按键所有显示房间的所有设备处理
        /// </summary>
        /// <returns></returns>
        List<DeviceUI> GetALlDispalyRoomDeviceList()
        {
            currentKeyAllRoomDeviceList.Clear();
@@ -675,7 +722,9 @@
            }
        }
        // 侧边导航栏
        /// <summary>
        /// 选择楼层的侧边栏
        /// </summary>
        void SideslipFramelayout()
        {
            var dialog = new Dialog
ZigbeeApp20190114/Shared/Phone/UserCenter/Device/Bind/AddScenePage.cs
@@ -32,22 +32,48 @@
            gwCurScenesList = gwScenesList;
        }
        #region ◆ 变量申明__________________________
        #region  变量申明
        /// <summary>
        /// 当前按键
        /// </summary>
        ZigBee.Device.Panel currentKey;
        //显示被绑定设备或场景的view
        /// <summary>
        /// 显示被绑定设备或场景的view
        /// </summary>
        VerticalScrolViewLayout midVerticalScrolViewLayout;
        /// <summary>
        /// 显示房间的view
        /// </summary>
        HorizontalScrolViewLayout btnHorizontalScrolViewLayout;
        /// <summary>
        /// 按键配置的目标列表
        /// </summary>
        List<CommonDevice> targetList = new List<CommonDevice>();//临时目标列表
        List<Room> roomList = new List<Room>();//本地房间列表
        List<CommonDevice> targetList = new List<CommonDevice>();
        /// <summary>
        /// 本地房间列表
        /// </summary>
        List<Room> roomList = new List<Room>();
        /// <summary>
        /// 当绑定表变化后的回调
        /// </summary>
        public Action<List<BindListResponseObj>> action;
        /// <summary>
        /// 保存完成按钮
        /// </summary>
        Button btnFinifh;
        /// <summary>
        /// 楼层文本
        /// </summary>
        Button btnFloorText;
        Dictionary<string, string> dicFloor;//楼层列表
        /// <summary>
        /// 楼层列表
        /// </summary>
        Dictionary<string, string> dicFloor;
        List<SceneUI> currentKeyAllRoomSceneList = new List<SceneUI>();
        public List<ScenesListInfo> gwCurScenesList = new List<ScenesListInfo>();//网关中的场景列表
        /// <summary>
        /// 网关中的场景列表
        /// </summary>
        public List<ScenesListInfo> gwCurScenesList = new List<ScenesListInfo>();
        #endregion
        /// <summary>
@@ -106,8 +132,11 @@
                btnAddFrameLayout.Width = Application.GetRealWidth(200);
            }
            MidFrameLayoutContent(btnFloorText);
        }
        }
        /// <summary>
        /// 中部布局
        /// </summary>
        async void MidFrameLayoutContent(Button btnFloorText)
        {
            #region UI
@@ -551,7 +580,10 @@
            RefreshSceneList(curRoom);
        }
        //按键绑定场景表显示
        /// <summary>
        /// 按键绑定场景表显示
        /// </summary>
        /// <param name="curRoom"></param>
        void RefreshSceneList(Shared.Common.Room curRoom)
        {
            midVerticalScrolViewLayout.RemoveAll();
@@ -721,7 +753,9 @@
            }
        }
        // 侧边导航栏
        /// <summary>
        /// 楼层选择的侧边导航栏
        /// </summary>
        void SideslipFramelayout()
        {
            var dialog = new Dialog
@@ -874,9 +908,12 @@
                rowFrameLayout.MouseUpEventHandler += hander;
                btnMethodText.MouseUpEventHandler += hander;
            }
        }
        //当前按键所有显示房间的所有场景处理
        }
        /// <summary>
        /// 当前按键所有显示房间的所有场景处理
        /// </summary>
        /// <returns></returns>
        List<SceneUI> GetALlDispalyRoomSceneList()
        {
            currentKeyAllRoomSceneList.Clear();
@@ -901,7 +938,11 @@
            }
            return currentKeyAllRoomSceneList;
        }
        //获取网关中存在的本地场景列表
        /// <summary>
        /// 获取网关中存在的本地场景列表
        /// </summary>
        /// <param name="curRoom"></param>
        /// <returns></returns>
        List<SceneUI> GetMatchSceneUIList(Shared.Common.Room curRoom)
        {
            var tempSceneUIList = new List<SceneUI>();
ZigbeeApp20190114/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
@@ -32,24 +32,65 @@
            this.currentKey = key;
        }
        #region ◆ 变量申明__________________________
        ZigBee.Device.Panel currentKey;//当前按键对象
        VerticalFrameRefreshControl midVerticalRefreshLayout;//显示被绑定设备或场景的view
        int currentClusterID = 0;//按键当前簇ID
        #region 变量申明
        /// <summary>
        /// 当前按键对象
        /// </summary>
        ZigBee.Device.Panel currentKey;
        /// <summary>
        /// 显示被绑定设备或场景的view
        /// </summary>
        VerticalFrameRefreshControl midVerticalRefreshLayout;
        /// <summary>
        /// 按键当前簇ID
        /// </summary>
        int currentClusterID = 0;
        /// <summary>
        /// 空数据时的图片
        /// </summary>
        Button entryStatusPic;
        /// <summary>
        /// 空数据的提示
        /// </summary>
        Button btnPicTip;
        Action<List<BindListResponseObj>> action;//按键绑定表通知
        Action<List<BindListResponseObj>> devicBindAction;//设备被绑定通知
        private System.Collections.Generic.List<CommonDevice> localDeviceList = new System.Collections.Generic.List<CommonDevice>();//本地设备列表
        private System.Collections.Generic.List<SceneUI> scList = new System.Collections.Generic.List<SceneUI> { };//本地场景列表
        FrameLayout blankFrameLayout;//空数据显示布局
        List<int> typeModeList;//动态获取按键支持的模式大类型
        public List<ScenesListInfo> gwScenesList = new List<ScenesListInfo>();//网关中的场景列表
        /// <summary>
        /// 按键绑定表通知
        /// </summary>
        Action<List<BindListResponseObj>> action;
        /// <summary>
        /// 设备被绑定通知
        /// </summary>
        Action<List<BindListResponseObj>> devicBindAction;
        /// <summary>
        /// 本地设备列表
        /// </summary>
        private System.Collections.Generic.List<CommonDevice> localDeviceList = new System.Collections.Generic.List<CommonDevice>();
        /// <summary>
        /// 本地场景列表
        /// </summary>
        private System.Collections.Generic.List<SceneUI> scList = new System.Collections.Generic.List<SceneUI> { };
        /// <summary>
        /// 空数据显示布局
        /// </summary>
        FrameLayout blankFrameLayout;
        /// <summary>
        /// 动态获取按键支持的模式大类型
        /// </summary>
        List<int> typeModeList;
        /// <summary>
        /// 网关中的场景列表
        /// </summary>
        public List<ScenesListInfo> gwScenesList = new List<ScenesListInfo>();
        /// <summary>
        /// 是否支持读取
        /// </summary>
        bool IsRead = false;
        #endregion
        //初始化按键数据
        /// <summary>
        /// 初始化按键数据
        /// </summary>
        void InitListInfo()
        {
            System.Threading.Tasks.Task.Run(async () =>
@@ -1062,7 +1103,10 @@
            }
        }
        //获取按键支持的大类
        /// <summary>
        /// 获取按键支持的大类
        /// </summary>
        /// <returns></returns>
        private async System.Threading.Tasks.Task<List<int>> GetTypeMode()
        {
            if (typeModeList != null)
ZigbeeApp20190114/Shared/Phone/UserCenter/Device/Bind/ChooseKeyModePage.cs
@@ -29,23 +29,46 @@
            this.targetList = targetSelectList;
        }
        #region ◆ 变量申明__________________________
        ZigBee.Device.Panel currentKey;//当前按键
        //显示被绑定设备或场景的view
        VerticalScrolViewLayout midVerticalScrolViewLayout;//中部刷新列表
        HorizontalScrolViewLayout btnHorizontalScrolViewLayout;//房间列表左右滑动布局
        #region 变量申明
        /// <summary>
        /// 当前按键
        /// </summary>
        ZigBee.Device.Panel currentKey;
        /// <summary>
        /// 中部刷新列表
        /// </summary>
        VerticalScrolViewLayout midVerticalScrolViewLayout;
        /// <summary>
        /// 房间列表左右滑动布局
        /// </summary>
        HorizontalScrolViewLayout btnHorizontalScrolViewLayout;
        /// <summary>
        /// 按键配置的目标列表
        /// </summary>
        List<CommonDevice> targetList = new List<CommonDevice>();//本地临时选中列表
        List<CommonDevice> targetList = new List<CommonDevice>();
        /// <summary>
        /// 新的按键配置目标列表中,目标实际存在按键中,此时要删掉的数据
        /// 本地旧的选中列表
        /// </summary>
        List<CommonDevice> oldTargetList = new List<CommonDevice>();//本地旧的选中列表
        int currentClusterID = 6;//当前簇ID
        public Action<List<BindListResponseObj>> action;//回调绑定目标页面刷新
        int currentModeID = 0;//当前模式ID
        string curDeviceBindType = "";//当前设备绑定类型
        List<CommonDevice> oldTargetList = new List<CommonDevice>();
        /// <summary>
        /// 当前簇ID
        /// </summary>
        int currentClusterID = 6;
        /// <summary>
        /// 回调绑定目标页面刷新
        /// </summary>
        public Action<List<BindListResponseObj>> action;
        /// <summary>
        /// 当前模式ID
        /// </summary>
        int currentModeID = 0;
        /// <summary>
        /// 当前设备绑定类型
        /// </summary>
        string curDeviceBindType = "";
        /// <summary>
        /// 类型的具体模式列表
        /// </summary>
        List<int> typeDetailModeList = new List<int> { };
        #endregion
@@ -578,6 +601,9 @@
            });
        }
        /// <summary>
        /// 添加开关模式
        /// </summary>
        async private void AddSwitchMode()
        {
            if (typeDetailModeList == null)
@@ -723,6 +749,9 @@
            }
        }
        /// <summary>
        /// 添加调光模式
        /// </summary>
        async private void AddDimmerMode()
        {
            if (typeDetailModeList == null)
@@ -905,6 +934,9 @@
            }
        }
        /// <summary>
        /// 添加窗帘模式
        /// </summary>
        async private void AddCurtainMode()
        {
            if (typeDetailModeList == null)
@@ -1076,6 +1108,7 @@
            }
        }
        public void DeviceInfoChange(CommonDevice common, string typeTag)
        {
        }
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/AddUnLockMethod.cs
@@ -15,8 +15,14 @@
            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
        }
        #region ◆ 变量申明__________________________
        #region 变量申明
        /// <summary>
        /// 当前门锁
        /// </summary>
        ZigBee.Device.DoorLock doorLock;
        /// <summary>
        /// 当前账户
        /// </summary>
        Shared.Phone.UserCenter.MemberInfoRes curAccountObj;
        #endregion
@@ -36,8 +42,11 @@
            this.MidFrameLayout(this);
            MidFrameLayoutContent();
        }
        }
        /// <summary>
        /// 中部布局
        /// </summary>
        public void MidFrameLayoutContent()
        {
            var bodyView = new VerticalScrolViewLayout()
@@ -139,15 +148,14 @@
            }
        }
        #region ◆ 接口实现__________________________
        #region 接口实现
        /// <summary>
        /// 处理变化事件 --将弃用 改用DeviceInfoChange()
        /// </summary>
        /// <returns>The changed.</returns>
        /// <param name="common">Common.</param>
        public void Changed(CommonDevice common)
        {
        {
        }
        /// <summary>
        /// 处理变化事件
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/AddUnLockMethodTip.cs
@@ -18,11 +18,23 @@
            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
        }
        #region ◆ 变量申明__________________________
        #region 变量申明
        /// <summary>
        /// 当前门锁
        /// </summary>
        ZigBee.Device.DoorLock doorLock;
        /// <summary>
        /// 当前账户
        /// </summary>
        Shared.Phone.UserCenter.MemberInfoRes curAccountObj;
        /// <summary>
        /// 当前类型
        /// </summary>
        string currentType = string.Empty;
        Action<string, string> action;//接收通知
        /// <summary>
        /// 接收通知
        /// </summary>
        Action<string, string> action;
        #endregion
@@ -70,6 +82,9 @@
            base.RemoveFromParent();
        }
        /// <summary>
        /// 中部布局
        /// </summary>
        public void MidFrameLayoutContent()
        {
            var topMidFrameLayout = new FrameLayout
@@ -152,7 +167,7 @@
                Gravity = Gravity.CenterHorizontal,
                Radius = (uint)Application.GetRealHeight(127 / 2),
                TextSize = 16,
                IsBold =true,
                IsBold = true,
                Enable = false,
                BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect,
            };
@@ -278,7 +293,7 @@
        }
        #region ◆ 接口实现__________________________
        #region 接口实现
        /// <summary>
        /// 处理变化事件 --将弃用 改用DeviceInfoChange()
        /// </summary>
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
@@ -9,19 +9,61 @@
    public class DoorLockCommonInfo : CommonDevice
    {
        #region  本地变量
        public static bool IsModify = false;
        public static bool InTempPasswordVisiable = false;
        public static int ValidDateYear = 0;
        public static int ValidDateMonth = 0;
        public static int ValidDateDay = 0;
        public static int ValidDateHour = 100;
        public static int ValidDateMinute = 100;
        public static int ValidDateSecond = 0;
        public static int InValidDateYear = 0;
        public static int InValidDateMonth = 0;
        public static int InValidDateDay = 0;
        public static int InValidDateHour = 100;
        public static int InValidDateMinute = 100;
        /// <summary>
        /// 是否支持修改
        /// </summary>
        public static bool IsModify = false;
        /// <summary>
        /// 是否显示临时密码
        /// </summary>
        public static bool InTempPasswordVisiable = false;
        /// <summary>
        /// 有效日期“年”
        /// </summary>
        public static int ValidDateYear = 0;
        /// <summary>
        /// 有效日期“月”
        /// </summary>
        public static int ValidDateMonth = 0;
        /// <summary>
        /// 有效日期“日”
        /// </summary>
        public static int ValidDateDay = 0;
        /// <summary>
        /// 有效日期“时”
        /// </summary>
        public static int ValidDateHour = 100;
        /// <summary>
        /// 有效日期“分”
        /// </summary>
        public static int ValidDateMinute = 100;
        /// <summary>
        /// 有效日期“秒”
        /// </summary>
        public static int ValidDateSecond = 0;
        /// <summary>
        /// 失效效日期“年”
        /// </summary>
        public static int InValidDateYear = 0;
        /// <summary>
        /// 失效效日期“月”
        /// </summary>
        public static int InValidDateMonth = 0;
        /// <summary>
        /// 失效效日期“日”
        /// </summary>
        public static int InValidDateDay = 0;
        /// <summary>
        /// 失效效日期“时”
        /// </summary>
        public static int InValidDateHour = 100;
        /// <summary>
        /// 失效效日期“分”
        /// </summary>
        public static int InValidDateMinute = 100;
        /// <summary>
        /// 失效效日期“秒”
        /// </summary>
        public static int InValidDateSecond = 0;
        #endregion
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs
@@ -7,23 +7,31 @@
{
    public class DoorLockCommonLayout : EditorCommonForm
    {
        /// <summary>
        /// 构造函数
        /// </summary>
        public DoorLockCommonLayout()
        {
        {
        }
        #region ◆ 变量申明__________________________
        #region 变量申明
        public FrameLayout topFrameLayout = new FrameLayout { Height = Application.GetRealHeight(184), BackgroundColor = ZigbeeColor.Current.XMTopFrameLayout };
        public FrameLayout midFrameLayout = new FrameLayout { Height = Application.GetRealHeight(1921 - 184), BackgroundColor = ZigbeeColor.Current.XMMidFrameLayout };
        #region ◆ 底部有圆角布局__________________________
        public FrameLayout midFrameLayout = new FrameLayout { Height = Application.GetRealHeight(1921 - 184), BackgroundColor = ZigbeeColor.Current.XMMidFrameLayout };
        #region 底部有圆角布局
        /// 背景阴影界面
        /// </summary>
        public FrameLayout shadowRadiusFrameLayout = new FrameLayout { BackgroundColor = 0x0f000000 };
        /// <summary>
        /// 设置圆角的界面
        /// </summary>
        public FrameLayout bottomRadiusFrameLayout = new FrameLayout()
        {
            Height = Application.GetRealHeight(806),
            Y = Application.GetRealHeight(930),
            BackgroundColor = ZigbeeColor.Current.XMWhite,
        };
        /// <summary>
        /// 底部圆角中的取消按钮
        /// </summary>
        public Button btnCancel = new Button
        {
            X = Application.GetRealWidth(81),
@@ -34,7 +42,9 @@
            TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
            TextSize = 14,
        };
        /// <summary>
        /// 底部圆角中的标题栏
        /// </summary>
        public Button btnBottomTitle = new Button
        {
            X = Application.GetRealWidth(446 - 50),
@@ -45,7 +55,9 @@
            TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
            TextSize = 16,
        };
        /// <summary>
        /// 底部圆角中的确认按钮
        /// </summary>
        public Button btnFinish = new Button
        {
            X = Application.GetRealWidth(919),
@@ -55,26 +67,21 @@
            Text = Language.StringByID(R.MyInternationalizationString.Complete),
            TextColor = Shared.Common.ZigbeeColor.Current.XMOrange,
            TextSize = 14,
        };
        };
        /// <summary>
        /// 底部圆角中的标题栏下的线条
        /// </summary>
        public Button line = new Button()
        {
            Y = Application.GetRealHeight(138),
            Height = 1,
            BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
        };
        };
        #endregion
        /// <summary>
        /// ◆ 中部刷新布局__________________________
        /// </summary>
        //public VerticalRefreshLayout midVerticalScrolViewLayout = new VerticalRefreshLayout()
        //{
        //};
        /// <summary>
        /// ◆ 标题栏布局__________________________
        /// 标题栏布局
        /// </summary>
        public FrameLayout titleFrameLayout = new FrameLayout
        {
@@ -138,7 +145,8 @@
            this.AddChidren(topFrameLayout);
            topFrameLayout.AddChidren(btnBackFrameLayout);
            topFrameLayout.AddChidren(titleFrameLayout);
            topFrameLayout.AddChidren(btnTitleLine);
            topFrameLayout.AddChidren(btnTitleLine);
            var title = new Button()
            {
                TextAlignment = TextAlignment.CenterLeft,
@@ -566,6 +574,57 @@
            };
        }
        // 获取到到名称更改回调通知
        public Action<string> devicNameSecAction;
        public Action<string> devicNameSecAction;
        /// <summary>
        /// 当前选中的开锁方式
        /// </summary>
        /// <param name="btnAllMethod"></param>
        /// <param name="btnMethodText"></param>
        /// <param name="oldbutton"></param>
        /// <param name="oldbuttonText"></param>
        public void CurrentSelectUnlockMethod(Button btnAllMethod, Button btnMethodText, Button oldbutton, Button oldbuttonText)
        {
            btnAllMethod.IsSelected = true;
            btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
            btnMethodText.IsBold = true;
            oldbutton = btnAllMethod;
            oldbuttonText = btnMethodText;
        }
        /// <summary>
        /// 显示所有开锁方式的数据
        /// </summary>
        /// <param name="curIndex"></param>
        /// <param name="btnAllMethod"></param>
        /// <param name="btnMethodText"></param>
        public void DisplayAllUnlockMethod(int curIndex, Button btnAllMethod, Button btnMethodText)
        {
            switch (curIndex)
            {
                case 0:
                    btnAllMethod.UnSelectedImagePath = "DoorLock/AllMethod.png";
                    btnAllMethod.SelectedImagePath = "DoorLock/AllMethodOn.png";
                    btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AllMethod);
                    break;
                case 1:
                    btnAllMethod.UnSelectedImagePath = "DoorLock/Password.png";
                    btnAllMethod.SelectedImagePath = "DoorLock/PasswordOn.png";
                    btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.PasswordUnlock);
                    break;
                case 2:
                    btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
                    btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
                    btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FingerprintUnlock);
                    break;
                case 3:
                    btnAllMethod.UnSelectedImagePath = "DoorLock/proximityCard.png";
                    btnAllMethod.SelectedImagePath = "DoorLock/proximityCardOn.png";
                    btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock);
                    break;
            }
        }
    }
}
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/DoorlockDialog.cs
@@ -5,16 +5,24 @@
{
    public class DoorlockDialog : FrameLayout
    {
        /// <summary>
        /// 门锁弹窗
        /// </summary>
        /// <param name="dialog"></param>
        /// <param name="title"></param>
        public DoorlockDialog(Dialog dialog, string title)
        {
            this.dialog = dialog;
            this.title = title;
        }
        /// <summary>
        /// 弹窗标题
        /// </summary>
        public string title = string.Empty;
        public Dialog dialog;
        /// <summary>
        /// 弹窗取消按键
        /// 弹窗标题栏下的线条
        /// </summary>
        public Button dialogLine = new Button
        {
@@ -64,13 +72,16 @@
        };
        /// <summary>
        /// 阴影部分
        /// 弹窗阴影背景
        /// </summary>
        public FrameLayout flMain = new FrameLayout
        {
            BackgroundColor = 0x00000000,
        };
        /// <summary>
        /// 弹窗显示
        /// </summary>
        public void Show()
        {
            dialog.Show();
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/EntryStatusPage.cs
@@ -10,9 +10,12 @@
{
    public class EntryStatusPage : DoorLockCommonLayout, ZigBee.Common.IStatus
    {
        /// 构造函数
        /// </summary>
        /// <param name="doorLock"></param>
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="doorLock"></param>
        /// <param name="accountObj"></param>
        /// <param name="entryType"></param>
        public EntryStatusPage(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes accountObj, string entryType)
        {
            this.doorLock = doorLock;
@@ -21,10 +24,22 @@
            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
        }
        #region ◆ 变量申明__________________________
        #region 变量申明
        /// <summary>
        /// 当前门锁
        /// </summary>
        ZigBee.Device.DoorLock doorLock;
        /// <summary>
        /// 当前账户
        /// </summary>
        Shared.Phone.UserCenter.MemberInfoRes curAccountObj;
        /// <summary>
        /// 当前类型
        /// </summary>
        string currentType = string.Empty;
        /// <summary>
        /// 底部布局
        /// </summary>
        FrameLayout bottomFrameLayout;
        #endregion
@@ -45,7 +60,9 @@
            MidFrameLayoutContent();
        }
        /// <summary>
        /// 中部布局
        /// </summary>
        public void MidFrameLayoutContent()
        {
            var entryStatusPic = new Button
@@ -85,7 +102,9 @@
            BottomFrameLayoutContent();
        }
        /// <summary>
        /// 底部布局
        /// </summary>
        public void BottomFrameLayoutContent()
        {
            bottomFrameLayout = new FrameLayout()
@@ -323,142 +342,9 @@
                     CommonPage.Loading.Hide();
                 }
             };
        }
        public void MatchUsersFrameLayout()
        {
            var flMain = new FrameLayout { BackgroundColor = 0x0f000000 };
            this.midFrameLayout.AddChidren(flMain);
            flMain.MouseUpEventHandler += (sender11, e11) =>
            {
                flMain.RemoveFromParent();
                bottomFrameLayout.RemoveAll();
                BottomFrameLayoutContent();
            };
            bottomFrameLayout = new FrameLayout()
            {
                Height = Application.GetRealHeight(100),
                Y = Application.GetRealHeight(930),
                Radius = 17,
                BackgroundColor = ZigbeeColor.Current.XMWhite,
            };
            flMain.AddChidren(bottomFrameLayout);
            var bottomFrameLayout1 = new FrameLayout()
            {
                Height = Application.GetRealHeight(806 - 50),
                Y = Application.GetRealHeight(930 + 48),
                BackgroundColor = ZigbeeColor.Current.XMWhite,
            };
            flMain.AddChidren(bottomFrameLayout1);
            var bottomFrameLayout2 = new FrameLayout()
            {
                Height = Application.GetRealHeight(806),
                Y = Application.GetRealHeight(930),
            };
            flMain.AddChidren(bottomFrameLayout2);
            var matchUsersFrameLayout = new FrameLayout()
            {
                Height = Application.GetRealHeight(138),
            };
            bottomFrameLayout2.AddChidren(matchUsersFrameLayout);
            var btnCancel = new Button
            {
                X = Application.GetRealWidth(81),
                Y = Application.GetRealHeight(40),
                Height = Application.GetRealHeight(58),
                Width = Application.GetRealWidth(101),
                Text = Language.StringByID(R.MyInternationalizationString.Cancel),
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                TextSize = 14,
            };
            matchUsersFrameLayout.AddChidren(btnCancel);
            var btnMatchUser = new Button
            {
                X = Application.GetRealWidth(446),
                Y = Application.GetRealHeight(35),
                Height = Application.GetRealHeight(63),
                Width = Application.GetRealWidth(284),
                Text = Language.StringByID(R.MyInternationalizationString.MatchPerson),
                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                TextSize = 16,
            };
            matchUsersFrameLayout.AddChidren(btnMatchUser);
            var btnFinish = new Button
            {
                X = Application.GetRealWidth(919),
                Y = Application.GetRealHeight(40),
                Height = Application.GetRealHeight(58),
                Width = Application.GetRealWidth(101),
                Text = Language.StringByID(R.MyInternationalizationString.Complete),
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                TextSize = 14,
            };
            matchUsersFrameLayout.AddChidren(btnFinish);
            var btnTopLine = new FrameLayout()
            {
                Height = Application.GetRealHeight(5),
                Y = Application.GetRealHeight(138),
                BackgroundColor = Shared.Common.ZigbeeColor.Current.XMGray3,
            };
            bottomFrameLayout2.AddChidren(btnTopLine);
            var matchUserHorizontalScrolViewLayout = new VerticalScrolViewLayout()
            {
                Y = Application.GetRealHeight(207),
                Height = Application.GetRealHeight(806 - 207),
            };
            bottomFrameLayout2.AddChidren(matchUserHorizontalScrolViewLayout);
            for (var i = 0; i < 4; i++)
            {
                var rowFrameLayout = new FrameLayout()
                {
                    Height = Application.GetRealHeight(127),
                };
                matchUserHorizontalScrolViewLayout.AddChidren(rowFrameLayout);
                var btnUserName = new Button()
                {
                    Width = Application.GetRealWidth(743),
                    Height = Application.GetRealHeight(58),
                    X = Application.GetRealWidth(81),
                    Y = Application.GetRealHeight(37),
                    TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                    TextSize = 14,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                rowFrameLayout.AddChidren(btnUserName);
                var btnChoose = new Button()
                {
                    Width = Application.GetRealWidth(58),
                    Height = Application.GetRealHeight(58),
                    X = Application.GetRealWidth(861 + 81),
                    Y = Application.GetRealHeight(35),
                    BackgroundColor = ZigbeeColor.Current.XMOrange,
                };
                rowFrameLayout.AddChidren(btnChoose);
                var btnLine = new FrameLayout()
                {
                    Width = Application.GetRealWidth(919),
                    Height = Application.GetRealHeight(5),
                    X = Application.GetRealWidth(81),
                    Y = Application.GetRealHeight(122),
                    BackgroundColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                };
                rowFrameLayout.AddChidren(btnLine);
            }
        }
        #region ◆ 接口实现__________________________
        }
        #region 接口实现
        /// <summary>
        /// 处理变化事件 --将弃用 改用DeviceInfoChange()
        /// </summary>
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
@@ -7,7 +7,7 @@
{
    public class FunctionSetting : DoorLockCommonLayout, ZigBee.Common.IStatus
    {
        #region ◆ 构造函数__________________________
        #region  构造函数
        /// <summary>
        /// 构造函数
        /// </summary>
@@ -22,7 +22,7 @@
        }
        #endregion
        #region ◆ 变量申明__________________________
        #region  变量申明
        public ZigBee.Device.DoorLock doorLock = null;
        /// <summary>
        /// 设备需要保存的设备名字
@@ -53,7 +53,7 @@
        FrameLayout bottomFrameLayout;
        #endregion
        #region ◆ UI显示 __________________________
        #region  UI显示
        /// <summary>
        /// UI显示 
        /// </summary>
@@ -74,9 +74,9 @@
        }
        #endregion
        #region ◆ 中部显示 __________________________
        #region  中部显示
        public void MidFrameLayoutContent()
        {
        {
            //图片
            var btnPic = new DeviceInfoIconControl();
            btnPic.Y = Application.GetRealHeight(92);
@@ -99,7 +99,7 @@
        }
        #endregion
        #region ◆ 底部显示 __________________________
        #region  底部显示
        public void BottomFrameLayout()
        {
            #region  UI 
@@ -136,7 +136,7 @@
        }
        #endregion
        #region ◆ 功能显示 __________________________
        #region  功能显示
        void FunctionDetail(ZigBee.Device.DoorLock doorLock)
        {
            listview.RemoveAll();
@@ -228,10 +228,10 @@
                    this.CloseForm();
                }
            };
        }
        }
        #endregion
        #region 添加全部菜单
        #region  添加全部菜单
        /// <summary>
        /// 添加全部菜单
        /// </summary>
@@ -244,7 +244,7 @@
                //添加【远程开锁】行
                this.AddRemoteUnLocksRow();
                //添加【门锁时间】行
                this.AddDoorLocksTimeRow();
                this.AddDoorLocksTimeRow();
            }
            else
            {
@@ -404,7 +404,7 @@
        #endregion
        #region ◆ 设备重命名__________________________
        #region  设备重命名
        /// <summary>
        /// 设备重命名
        /// </summary>
@@ -445,7 +445,7 @@
        }
        #endregion
        #region ◆ 行数超过容器时,补一个空白FrameLayout__________________________
        #region  行数超过容器时,补一个空白FrameLayout
        /// <summary>
        /// 行数超过容器时,补一个空白FrameLayout,使之能滑动
        /// </summary> 
@@ -466,7 +466,7 @@
        }
        #endregion
        #region ◆ 接口实现__________________________
        #region  接口实现
        /// <summary>
        /// 处理变化事件 --将弃用 改用DeviceInfoChange()
        /// </summary>
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/FunctionSettingSub.cs
File was deleted
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/MasterManagementPage.cs
@@ -16,8 +16,14 @@
            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
        }
        #region ◆ 变量申明__________________________
        #region  变量申明
        /// <summary>
        /// 当前门锁
        /// </summary>
        ZigBee.Device.DoorLock doorLock;
        /// <summary>
        /// 当前账户
        /// </summary>
        Shared.Phone.UserCenter.MemberInfoRes accountObj;
        #endregion
@@ -47,6 +53,9 @@
            MidFrameLayoutContent();
        }
        /// <summary>
        /// 中部布局
        /// </summary>
        public void MidFrameLayoutContent()
        {
            var bodyView = new VerticalRefreshLayout()
@@ -156,7 +165,7 @@
            }
        }
        #region ◆ 接口实现__________________________
        #region 接口实现
        /// <summary>
        /// 处理变化事件 --将弃用 改用DeviceInfoChange()
        /// </summary>
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/MemberFrozenPage.cs
@@ -18,12 +18,24 @@
            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
        }
        #region ◆ 变量申明__________________________
        #region  变量申明
        /// <summary>
        /// 当前门锁
        /// </summary>
        ZigBee.Device.DoorLock doorLock;
        /// <summary>
        /// 当前成员对象v
        /// </summary>
        Shared.Phone.UserCenter.MemberInfoRes curAccountObj;
        /// <summary>
        /// 刷新View
        /// </summary>
        VerticalRefreshLayout bodyView;
        #endregion
        /// <summary>
        /// 初始化数据信息
        /// </summary>
        void ReadDoorLockUserInfo()
        {
            System.Threading.Tasks.Task.Run(async () =>
@@ -100,7 +112,9 @@
                ReadDoorLockUserInfo();
            };
        }
        /// <summary>
        /// 中部布局
        /// </summary>
        public async void MidRefresh()
        {
            bodyView.RemoveAll();
@@ -261,7 +275,10 @@
            }
        }
        //冻结账户
        /// <summary>
        /// 冻结账户
        /// </summary>
        /// <param name="isFreeze"></param>
        void FreezeUser(bool isFreeze)
        {
            var dialog = new Dialog { };
@@ -568,7 +585,10 @@
            };
        }
        //是否给子账户拥有远程开锁的条件
        /// <summary>
        /// 是否给子账户拥有远程开锁的条件
        /// </summary>
        /// <param name="hasAccess"></param>
        void HasRemoteUnlockAccessMethod(bool hasAccess)
        {
            string msg = Language.StringByID(R.MyInternationalizationString.SureGiveAccessToSubaccount);
@@ -764,7 +784,7 @@
            };
        }
        #region ◆ 接口实现__________________________
        #region  接口实现
        /// <summary>
        /// 处理变化事件 --将弃用 改用DeviceInfoChange()
        /// </summary>
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/MemberManagement.cs
File was deleted
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs
@@ -19,14 +19,38 @@
            ZigBee.Device.ZbGateway.StatusList.Add(this);
        }
        #region ◆ 变量申明__________________________
        #region  变量申明
        /// <summary>
        /// 当前门锁
        /// </summary>
        ZigBee.Device.DoorLock doorLock;
        public System.Collections.Generic.List<Button> pawButtonList = new System.Collections.Generic.List<Button> { };//临时密码中的6位数字
        Button passwordText; //临时密码
        /// <summary>
        /// 临时密码中的6位数字
        /// </summary>
        public System.Collections.Generic.List<Button> pawButtonList = new System.Collections.Generic.List<Button> { };
        /// <summary>
        /// 临时密码
        /// </summary>
        Button passwordText;
        /// <summary>
        /// 中部布的顶部布局
        /// </summary>
        FrameLayout MidTopFrameLayout;
        Action<string, string> action;//接收通知
        /// <summary>
        /// 接收通知
        /// </summary>
        Action<string, string> action;
        /// <summary>
        /// 保存完成按钮
        /// </summary>
        Button btnFinifh;
        /// <summary>
        /// 当前有效日期时间
        /// </summary>
        DateTime cunVDateTime;
        /// <summary>
        /// 当前失效日期时间
        /// </summary>
        DateTime cunIVDateTime;
        #endregion
@@ -143,6 +167,9 @@
            MidFrameLayoutContent();
        }
        /// <summary>
        /// 中部布局
        /// </summary>
        public void MidFrameLayoutContent()
        {
            MidTopFrameLayout.RemoveAll();
@@ -317,8 +344,10 @@
                randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange;
            };
            #endregion
        }
        //底部界面和数据处理
        }
        /// <summary>
        /// 底部布局处理
        /// </summary>
        public void BottomFrameLayoutContent()
        {
            var bottomFrameLayout = new FrameLayout()
@@ -505,9 +534,12 @@
            {
                FinifhEventHandler(btnFinifh);
            };
        }
        //确定事件处理
        }
        /// <summary>
        /// 确定事件处理
        /// </summary>
        /// <param name="btnFinifh"></param>
        void FinifhEventHandler(Button btnFinifh)
        {
            System.Threading.Tasks.Task.Run(async () =>
@@ -667,7 +699,10 @@
            });
        }
        //清除事件处理
        /// <summary>
        /// 清除事件处理
        /// </summary>
        /// <param name="btnDelText"></param>
        async void ClearEventHandler(Button btnDelText = null)
        {
            if (btnDelText == null)
@@ -749,7 +784,9 @@
            }
        }
        //读取云端存储数据
        /// <summary>
        /// 读取云端存储数据
        /// </summary>
        void ReadTempPasswordData()
        {
            System.Threading.Tasks.Task.Run(async () =>
@@ -809,7 +846,12 @@
            });
        }
        //本地时间数据处理
        /// <summary>
        /// 本地时间数据处理
        /// </summary>
        /// <param name="validTimeDateTime"></param>
        /// <param name="inValidTime"></param>
        /// <param name="isClearLocalTime"></param>
        void TimeDateData(DateTime validTimeDateTime, DateTime inValidTime, bool isClearLocalTime = false)
        {
            if (doorLock.tempPasswordObject != null)
@@ -844,7 +886,14 @@
            }
        }
        //时间显示数据处理
        /// <summary>
        /// 时间显示数据处理
        /// </summary>
        /// <param name="validTime"></param>
        /// <param name="validTimeDate"></param>
        /// <param name="inValidTime"></param>
        /// <param name="inValidTimeDate"></param>
        /// <param name="isDefaultTime"></param>
        void TimeDisplay(Button validTime, Button validTimeDate, Button inValidTime, Button inValidTimeDate, bool isDefaultTime)
        {
            string hour = "";
@@ -921,7 +970,7 @@
            inValidTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay + Language.StringByID(R.MyInternationalizationString.Day);
        }
        #region ◆ 接口实现__________________________
        #region 接口实现
        /// <summary>
        /// 处理变化事件 --将弃用 改用DeviceInfoChange()
        /// </summary>
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/TimeSettignPage.cs
@@ -60,19 +60,58 @@
            ZigBee.Device.ZbGateway.StatusList.Add(this);
        }
        #region ◆ 变量申明__________________________
        #region  变量申明
        /// <summary>
        /// 当前门锁
        /// </summary>
        ZigBee.Device.DoorLock doorLock;
        /// <summary>
        /// 设置时间类型
        /// </summary>
        string setTimeType = "";
        /// <summary>
        /// 当前门锁时间
        /// </summary>
        DateTime CurentDoorLockTime;
        /// <summary>
        /// 显示日期的文本
        /// </summary>
        Button textDisplayDate;
        /// <summary>
        /// 显示时间的文本
        /// </summary>
        Button textDisplayTime;
        /// <summary>
        /// 本地变量“年”
        /// </summary>
        int curYear = 0;
        /// <summary>
        /// 本地变量“月”
        /// </summary>
        int curMonth = 0;
        /// <summary>
        /// 本地变量“日”
        /// </summary>
        int curDay = 0;
        /// <summary>
        /// 本地变量“时”
        /// </summary>
        int curHour = 0;
        /// <summary>
        /// 本地变量“分”
        /// </summary>
        int curMin = 0;
        /// <summary>
        /// 本地变量“秒”
        /// </summary>
        int curSec = 0;
        /// <summary>
        /// 设置时间的Action
        /// </summary>
        public Action timeSetAction;
        /// <summary>
        /// 等待获取门锁时的等待时间
        /// </summary>
        DateTime waitGetDoorLockTime = DateTime.MaxValue;
        #endregion
@@ -111,8 +150,10 @@
            this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
            this.MidFrameLayout(this);
            MidFrameLayoutContent();
        }
        }
        /// <summary>
        /// 中部布局
        /// </summary>
        public void MidFrameLayoutContent()
        {
            if (setTimeType == "DoorLockTime")
@@ -139,8 +180,8 @@
                    }
                })
                { IsBackground = true }.Start();
            }
            }
            var MidTopFrameLayout = new FrameLayout()
            {
            };
@@ -149,6 +190,7 @@
            var dtNow = DateTime.Now;
            for (int i = 0; i < 2; i++)
            {
                #region MidTopFrameLayout UI
                var rowLayout = new FrameLayout()
                {
                    Height = Application.GetRealHeight(127 + 23),
@@ -199,8 +241,10 @@
                    X = Application.GetRealWidth(58),
                    BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
                };
                MidTopFrameLayout.AddChidren(btnLine);
                MidTopFrameLayout.AddChidren(btnLine);
                #endregion
                #region 显示处理
                if (i == 0)
                {
                    btnDateTime.Y = textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = Application.GetRealHeight(50);
@@ -277,7 +321,10 @@
                        btnDateTime.Text = Language.StringByID(R.MyInternationalizationString.CurrentTime);
                    }
                    btnLine.Visible = false;
                }
                }
                #endregion
                #region 事件处理
                int curIndex = i;
                EventHandler<MouseEventArgs> hander = (sender, e) =>
                {
@@ -571,12 +618,13 @@
                            };
                        }
                    }
                };
                };
                rowLayout.MouseDownEventHandler += hander;
                btnDateTime.MouseDownEventHandler += hander;
                textDisplayDateFrameLayout.MouseDownEventHandler += hander;
                btnNextFrameLayout.MouseDownEventHandler += hander;
                btnNext.MouseDownEventHandler += hander;
                btnNext.MouseDownEventHandler += hander;
                if (curIndex == 0)
                {
                    textDisplayDate.MouseDownEventHandler += hander;
@@ -585,44 +633,54 @@
                {
                    textDisplayTime.MouseDownEventHandler += hander;
                }
                #endregion
            }
            btnCancel.MouseUpEventHandler += (sender1, e1) =>
            {
                this.shadowRadiusFrameLayout.RemoveFromParent();
            };
            btnFinish.MouseUpEventHandler += async (sender1, e1) =>
            btnFinish.MouseUpEventHandler +=  (sender1, e1) =>
            {
                if (setTimeType == "DoorLockTime")
                {
                    var curDateTime = new DateTime(curYear, curMonth, curDay, curHour, curMin, curSec);
                    var setTimestamp = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(curDateTime);
                    try
                    {
                        CommonPage.Loading.Start("");
                        var rectifyResult = await doorLock.RectifyDoorLockTimeAsync(int.Parse(setTimestamp));
                        if (rectifyResult != null && rectifyResult.setWritableValueResponData != null)
                        {
                            if (rectifyResult.setWritableValueResponData.Status == 0)
                            {
                                this.shadowRadiusFrameLayout.RemoveFromParent();
                            }
                            else
                            {
                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RectifyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
                            }
                {
                    System.Threading.Tasks.Task.Run(async () => {
                        try
                        {
                            var curDateTime = new DateTime(curYear, curMonth, curDay, curHour, curMin, curSec);
                            var setTimestamp = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(curDateTime);
                            Application.RunOnMainThread(() => {
                                CommonPage.Loading.Start("");
                            });
                            var rectifyResult = await doorLock.RectifyDoorLockTimeAsync(int.Parse(setTimestamp));
                            if (rectifyResult != null && rectifyResult.setWritableValueResponData != null)
                            {
                                Application.RunOnMainThread(() => {
                                    if (rectifyResult.setWritableValueResponData.Status == 0)
                                    {
                                        doorLock.ReadAttri(ZigBee.Device.Cluster_ID.DoorLock, ZigBee.Device.AttriButeId.DoorLock);
                                        System.Threading.Thread.Sleep(1000);
                                        this.shadowRadiusFrameLayout.RemoveFromParent();
                                    }
                                    else
                                    {
                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RectifyFailed), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
                                    }
                                });
                            }
                            else
                            {
                                Application.RunOnMainThread(() => {
                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
                                });
                            }
                        }
                        catch { }
                        finally
                        {
                            Application.RunOnMainThread(() => { CommonPage.Loading.Hide(); });
                        }
                        else
                        {
                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish);
                        }
                    }
                    catch { }
                    finally
                    {
                        System.Threading.Thread.Sleep(3000);
                        CommonPage.Loading.Hide();
                    }
                    });
                }
            };
            this.shadowRadiusFrameLayout.MouseUpEventHandler += (sender1, e1) =>
@@ -640,7 +698,7 @@
            }
        }
        #region ◆ 接口实现__________________________
        #region  接口实现
        /// <summary>
        /// 处理变化事件 --将弃用 改用DeviceInfoChange()
        /// </summary>
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/UnLockMethod.cs
@@ -40,16 +40,43 @@
            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
        }
        #region ◆ 变量申明__________________________
        ZigBee.Device.DoorLock doorLock;//当前门锁
        VerticalListRefreshControl bodyView;//刷新View
        Button currentMethod;// 当前选择的方式
        Shared.Phone.UserCenter.MemberInfoRes curAccountObj;//当前账户
        #region 变量申明
        /// <summary>
        /// 当前门锁
        /// </summary>
        ZigBee.Device.DoorLock doorLock;
        /// <summary>
        /// 刷新View
        /// </summary>
        VerticalListRefreshControl bodyView;
        /// <summary>
        /// 当前选择的方式
        /// </summary>
        Button currentMethod;
        /// <summary>
        /// 当前账户
        /// </summary>
        Shared.Phone.UserCenter.MemberInfoRes curAccountObj;
        /// <summary>
        /// 数据为空,UI显示的空图片
        /// </summary>
        Button entryStatusPic;
        /// <summary>
        /// 数据为空,UI显示的文本提示
        /// </summary>
        Button btnPicTip;
        Button btnPicTip1;
        bool isSecondDel;//是否二次删除
        FrameLayout blankFrameLayout;//空数据显示布局
        /// <summary>
        /// 数据为空,UI显示的文本提示
        /// </summary>
        Button btnPicTip1;
        /// <summary>
        /// //是否二次删除
        /// </summary>
        bool isSecondDel;
        /// <summary>
        /// 空数据显示布局
        /// </summary>
        FrameLayout blankFrameLayout;
        #endregion
        /// <summary>
@@ -154,8 +181,11 @@
            {
                RefreshList();
            }
        }
        //中部布局
        }
        /// <summary>
        /// 中部布局
        /// </summary>
        void MidFrameLayoutContent()
        {
            #region 开锁方式UI
@@ -284,6 +314,10 @@
                TextSize = 12,
            };
            blankFrameLayout.AddChidren(btnPicTip1);
            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
            {
                btnPicTip1.Width = 0;
            }
        }
        /// <summary>
@@ -617,9 +651,12 @@
            }
        }
        // 侧边导航栏
        /// <summary>
        /// 侧边导航栏
        /// </summary>
        void SideslipFramelayout()
        {
            #region sidelipFrameLayout UI
            var dialog = new Dialog
            {
            };
@@ -648,10 +685,13 @@
                Y = Application.GetRealHeight(28),
            };
            sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout);
            #endregion
            Button oldbutton = null;
            Button oldbuttonText = null;
            for (var i = 0; i < 4; i++)
            {
                #region rowFrameLayout UI
                var rowFrameLayout = new RowLayout()
                {
                    Height = Application.GetRealHeight(150),
@@ -679,7 +719,9 @@
                    TextAlignment = TextAlignment.CenterLeft,
                };
                rowFrameLayout.AddChidren(btnMethodText);
                #endregion
                #region 数据处理
                EventHandler<MouseEventArgs> hander = (sender, e) =>
                {
                    if (!btnAllMethod.IsSelected)
@@ -705,76 +747,37 @@
                };
                rowFrameLayout.MouseUpEventHandler += hander;
                btnAllMethod.MouseUpEventHandler += hander;
                btnMethodText.MouseUpEventHandler += hander;
                switch (i)
                {
                    case 0:
                        btnAllMethod.UnSelectedImagePath = "DoorLock/AllMethod.png";
                        btnAllMethod.SelectedImagePath = "DoorLock/AllMethodOn.png";
                        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AllMethod);
                        break;
                    case 1:
                        btnAllMethod.UnSelectedImagePath = "DoorLock/Password.png";
                        btnAllMethod.SelectedImagePath = "DoorLock/PasswordOn.png";
                        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.PasswordUnlock);
                        break;
                    case 2:
                        btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
                        btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
                        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FingerprintUnlock);
                        break;
                    case 3:
                        btnAllMethod.UnSelectedImagePath = "DoorLock/proximityCard.png";
                        btnAllMethod.SelectedImagePath = "DoorLock/proximityCardOn.png";
                        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock);
                        break;
                }
                btnMethodText.MouseUpEventHandler += hander;
                DisplayAllUnlockMethod(i, btnAllMethod, btnMethodText);
                if (string.IsNullOrEmpty(doorLock.currentUserDisplayMethod) && i == 0)
                {
                    btnAllMethod.IsSelected = true;
                    btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    btnMethodText.IsBold = true;
                    oldbutton = btnAllMethod;
                    oldbuttonText = btnMethodText;
                {
                    CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
                }
                if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.AllMethod) && i == 0)
                {
                    btnAllMethod.IsSelected = true;
                    btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    btnMethodText.IsBold = true;
                    oldbutton = btnAllMethod;
                    oldbuttonText = btnMethodText;
                    CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
                }
                if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock) && i == 1)
                {
                    btnAllMethod.IsSelected = true;
                    btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    btnMethodText.IsBold = true;
                    oldbutton = btnAllMethod;
                    oldbuttonText = btnMethodText;
                    CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
                }
                if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock) && i == 2)
                {
                    btnAllMethod.IsSelected = true;
                    btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    btnMethodText.IsBold = true;
                    oldbutton = btnAllMethod;
                    oldbuttonText = btnMethodText;
                    CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
                }
                if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock) && i == 3)
                {
                    btnAllMethod.IsSelected = true;
                    btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    btnMethodText.IsBold = true;
                    oldbutton = btnAllMethod;
                    oldbuttonText = btnMethodText;
                    CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
                }
                #endregion
            }
        }
        //类型区分
        /// <summary>
        /// 类型区分
        /// </summary>
        void TypeRefresh()
        {
            if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock))
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/UndistributeDoorlockUserPage.cs
@@ -17,15 +17,36 @@
            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
        }
        #region ◆ 变量申明__________________________
        ZigBee.Device.DoorLock doorLock;
        FrameLayout bottomFrameLayout;
        string currentType = string.Empty;
        List<Shared.Phone.UserCenter.MemberInfoRes> localAccountList;
        VerticalRefreshLayout bodyView;
        Dictionary<int, DoorLockCommonInfo.LocaDoorLockObj> oldLocalDoorLockUserList = new Dictionary<int, DoorLockCommonInfo.LocaDoorLockObj>();
        #region 变量申明
        /// <summary>
        /// 当前门锁
        /// </summary>
        ZigBee.Device.DoorLock doorLock;
        /// <summary>
        /// 底部白色布局
        /// </summary>
        FrameLayout bottomFrameLayout;
        /// <summary>
        /// 当前类型
        /// </summary>
        string currentType = string.Empty;
        /// <summary>
        /// 本地账户列表
        /// </summary>
        List<Shared.Phone.UserCenter.MemberInfoRes> localAccountList;
        /// <summary>
        /// 滑动布局View
        /// </summary>
        VerticalRefreshLayout bodyView;
        /// <summary>
        /// 保存之前搜索到本地门锁用户列表
        /// </summary>
        Dictionary<int, DoorLockCommonInfo.LocaDoorLockObj> oldLocalDoorLockUserList = new Dictionary<int, DoorLockCommonInfo.LocaDoorLockObj>();
        #endregion
        /// <summary>
        /// 获取所有账户的门锁用户列表
        /// </summary>
        void ReadDoorLockUserInfo()
        {
            System.Threading.Tasks.Task.Run(async () =>
@@ -35,6 +56,7 @@
                    var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock);
                    if (oldLocalDoorLockUserList.Count != 0)
                    {
                        //如果本次没有搜索到,提示网关没有回复
                        if (list.Count == 0)
                        {
                            Application.RunOnMainThread(() =>
@@ -82,8 +104,11 @@
            {
                RefreshList();
            }
        }
        }
        /// <summary>
        /// 中部布局
        /// </summary>
        public void MidFrameLayoutContent()
        {
            var midTopFrameLayout = new FrameLayout()
@@ -162,8 +187,11 @@
                bodyView.BeginHeaderRefreshing();
                ReadDoorLockUserInfo();
            };
        }
        }
        /// <summary>
        /// 刷新列表
        /// </summary>
        void RefreshList(int unlockMethod = -1)
        {
            this.midFrameLayout.RemoveAll();
@@ -310,9 +338,11 @@
                #endregion
                i++;
            }
        }
        //本地账户
        }
        /// <summary>
        /// 分配本地账户
        /// </summary>
        void MatchUsersFrameLayout(ZigBee.Device.DoorLock.LocaDoorLockObj curDoorLockUser)
        {
            #region  UI
@@ -639,11 +669,14 @@
                   catch { }
               });
           };
        }
        // 侧边导航栏
        }
        /// <summary>
        /// 侧边导航栏搜索
        /// </summary>
        void SideslipFramelayout()
        {
        {
            #region sidelipFrameLayout UI
            var dialog = new Dialog
            {
            };
@@ -654,8 +687,8 @@
            flMain.MouseUpEventHandler += (sender11, e11) =>
            {
                dialog.Close();
            };
            };
            var sidelipFrameLayout = new FrameLayout()
            {
                Height = Application.GetRealHeight(625),
@@ -671,39 +704,44 @@
                Height = Application.GetRealHeight(600),
                Y = Application.GetRealHeight(28),
            };
            sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout);
            sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout);
            #endregion
            Button oldbutton = null;
            Button oldbuttonText = null;
            for (var i = 0; i < 4; i++)
            {
                var rowFrameLayout = new RowLayout()
                {
                    Height = Application.GetRealHeight(150),
                    LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
                    X = Application.GetRealWidth(81),
                };
                sidelipVerticalScrolViewLayout.AddChidren(rowFrameLayout);
                var btnAllMethod = new Button()
                {
                    Width = Application.GetRealWidth(81),
                    Height = Application.GetRealHeight(81),
                    Y = Application.GetRealHeight(35),
                };
                rowFrameLayout.AddChidren(btnAllMethod);
                var btnMethodText = new Button()
                {
                    Width = Application.GetRealWidth(311),
                    Height = Application.GetRealHeight(58),
                    X = Application.GetRealWidth(92),
                    Y = Application.GetRealHeight(49),
                    TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                    TextSize = 14,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                #region rowFrameLayout UI
                var rowFrameLayout = new RowLayout()
                {
                    Height = Application.GetRealHeight(150),
                    LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
                    X = Application.GetRealWidth(81),
                };
                sidelipVerticalScrolViewLayout.AddChidren(rowFrameLayout);
                var btnAllMethod = new Button()
                {
                    Width = Application.GetRealWidth(81),
                    Height = Application.GetRealHeight(81),
                    Y = Application.GetRealHeight(35),
                };
                rowFrameLayout.AddChidren(btnAllMethod);
                var btnMethodText = new Button()
                {
                    Width = Application.GetRealWidth(311),
                    Height = Application.GetRealHeight(58),
                    X = Application.GetRealWidth(92),
                    Y = Application.GetRealHeight(49),
                    TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
                    TextSize = 14,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                rowFrameLayout.AddChidren(btnMethodText);
                #endregion
                #region 数据处理
                EventHandler<MouseEventArgs> hander = (sender, e) =>
                {
                    if (!btnAllMethod.IsSelected)
@@ -729,75 +767,35 @@
                rowFrameLayout.MouseUpEventHandler += hander;
                btnAllMethod.MouseUpEventHandler += hander;
                btnMethodText.MouseUpEventHandler += hander;
                switch (i)
                {
                    case 0:
                        btnAllMethod.UnSelectedImagePath = "DoorLock/AllMethod.png";
                        btnAllMethod.SelectedImagePath = "DoorLock/AllMethodOn.png";
                        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AllMethod);
                        break;
                    case 1:
                        btnAllMethod.UnSelectedImagePath = "DoorLock/Password.png";
                        btnAllMethod.SelectedImagePath = "DoorLock/PasswordOn.png";
                        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.PasswordUnlock);
                        break;
                    case 2:
                        btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png";
                        btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png";
                        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FingerprintUnlock);
                        break;
                    case 3:
                        btnAllMethod.UnSelectedImagePath = "DoorLock/proximityCard.png";
                        btnAllMethod.SelectedImagePath = "DoorLock/proximityCardOn.png";
                        btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock);
                        break;
                }
                DisplayAllUnlockMethod(i, btnAllMethod, btnMethodText);
                if (string.IsNullOrEmpty(doorLock.currentUserDisplayMethod) && i == 0)
                {
                    btnAllMethod.IsSelected = true;
                    btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    btnMethodText.IsBold = true;
                    oldbutton = btnAllMethod;
                    oldbuttonText = btnMethodText;
                {
                    CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
                }
                if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.AllMethod) && i == 0)
                {
                    btnAllMethod.IsSelected = true;
                    btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    btnMethodText.IsBold = true;
                    oldbutton = btnAllMethod;
                    oldbuttonText = btnMethodText;
                    CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
                }
                if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock) && i == 1)
                {
                    btnAllMethod.IsSelected = true;
                    btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    btnMethodText.IsBold = true;
                    oldbutton = btnAllMethod;
                    oldbuttonText = btnMethodText;
                {
                    CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
                }
                if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.FingerprintUnlock) && i == 2)
                {
                    btnAllMethod.IsSelected = true;
                    btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    btnMethodText.IsBold = true;
                    oldbutton = btnAllMethod;
                    oldbuttonText = btnMethodText;
                    CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
                }
                if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock) && i == 3)
                {
                    btnAllMethod.IsSelected = true;
                    btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    btnMethodText.IsBold = true;
                    oldbutton = btnAllMethod;
                    oldbuttonText = btnMethodText;
                {
                    CurrentSelectUnlockMethod(btnAllMethod, btnMethodText, oldbutton, oldbuttonText);
                }
                #endregion
            }
        }
        //类型区分
        }
        /// <summary>
        /// 类型区分
        /// </summary>
        void TypeRefresh()
        {
            if (doorLock.currentUserDisplayMethod == Language.StringByID(R.MyInternationalizationString.PasswordUnlock))
@@ -817,7 +815,7 @@
                RefreshList();
            }
        }
        #region ◆ 接口实现__________________________
        #region 接口实现
        /// <summary>
        /// 处理变化事件 --将弃用 改用DeviceInfoChange()
        /// </summary>
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -6,7 +6,11 @@
{
    public class UserDoorLockPage : DoorLockCommonLayout, ZigBee.Common.IStatus
    {
        /// <summary>
        ///  构造函数
        /// </summary>
        /// <param name="room"></param>
        /// <param name="doorLock"></param>
        public UserDoorLockPage(Shared.Common.Room room, DeviceUI doorLock)
        {
            this.doorLock = doorLock.CommonDevice as ZigBee.Device.DoorLock;
@@ -16,12 +20,30 @@
            ZigBee.Device.ZbGateway.StatusList.Add(this);
        }
        #region ◆ 变量申明__________________________
        #region  变量申明
        /// <summary>
        /// 当前门锁
        /// </summary>
        ZigBee.Device.DoorLock doorLock;
        /// <summary>
        /// 底部布局
        /// </summary>
        FrameLayout bottomFrameLayout;
        /// <summary>
        /// 当前房间
        /// </summary>
        Shared.Common.Room currentRoom;
        /// <summary>
        /// 设备UI对象
        /// </summary>
        DeviceUI deviceUI;
        /// <summary>
        /// 设置二次验证Action
        /// </summary>
        Action action;
        /// <summary>
        /// 中部布局中门锁名称显示
        /// </summary>
        Button btnDoorLockTitle;
        #endregion
@@ -85,7 +107,9 @@
 
            MidFrameLayoutContent();
        }
        /// <summary>
        /// 中部布局
        /// </summary>
        public void MidFrameLayoutContent()
        {
            #region UI
@@ -326,9 +350,10 @@
                TextSize = 12,
                TextAlignment = TextAlignment.CenterLeft,
            };
            btnCurrentFrameLayout.AddChidren(btnCurrentRoomName);
            btnCurrentFrameLayout.AddChidren(btnCurrentRoomName);
            #endregion
            #region 数据处理
            EventHandler<MouseEventArgs> hander1 = async (sender, e) =>
            {
                openFrameLayout.Enable = false;
@@ -394,10 +419,11 @@
                progressButton.Y = Application.GetRealHeight(347);
            };
            closeFrameLayout.MouseUpEventHandler += hander2;
            btnDoorClosePic.MouseUpEventHandler += hander2;
            btnDoorClosePic.MouseUpEventHandler += hander2;
            #endregion
        }
        #region ◆ 接口实现__________________________
        #region  接口实现
        /// <summary>
        /// 处理变化事件 --将弃用 改用DeviceInfoChange()
        /// </summary>
ZigbeeApp20190114/Shared/Phone/UserCenter/DoorLock/UserManagement.cs
@@ -147,6 +147,7 @@
            btnAddFrameLayout.AddChidren(btnUndistributeText);
            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
            {
                btnAddFrameLayout.Width = 0;
                btnUndistributeIcon.Width = 0;
                btnUndistributeText.Width = 0;
            }
@@ -160,9 +161,7 @@
            btnAddFrameLayout.MouseDownEventHandler += eHandler;
            btnUndistributeText.MouseDownEventHandler += eHandler;
            btnUndistributeIcon.MouseDownEventHandler += eHandler;
            midVerticalScrolViewLayout = new VerticalRefreshLayout()
            {
            };
            midVerticalScrolViewLayout = new VerticalRefreshLayout() {  };
            this.midFrameLayout.AddChidren(midVerticalScrolViewLayout);
            if (localAllAccountListTemp.Count == 0)
ZigbeeApp20190114/Shared/Shared.projitems
@@ -185,10 +185,8 @@
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\DoorlockDialog.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\EntryStatusPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\FunctionSetting.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\FunctionSettingSub.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\MasterManagementPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\MemberFrozenPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\MemberManagement.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\TemporaryPassword.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\TimeSettignPage.cs" />
    <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\DoorLock\UndistributeDoorlockUserPage.cs" />