请合并最新代码,(优化代码格式,完成开会后的细节测试)
| | |
| | | <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>
|
| | |
| | | #pragma warning disable 1591 |
| | | //------------------------------------------------------------------------------ |
| | | // <auto-generated> |
| | | // This code was generated by a tool. |
| | | // Runtime Version:4.0.30319.42000 |
| | | // 此代码由工具生成。
|
| | | // 运行时版本:4.0.30319.42000
|
| | | // |
| | | // Changes to this file may cause incorrect behavior and will be lost if |
| | | // the code is regenerated. |
| | | // 对此文件的更改可能会导致不正确的行为,并且如果
|
| | | // 重新生成代码,这些更改将会丢失。
|
| | | // </auto-generated> |
| | | //------------------------------------------------------------------------------ |
| | | |
| | |
| | | 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(); |
| | |
| | | MidFrameLayoutContent(btnFloorText); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 中部布局 |
| | | /// </summary> |
| | | async void MidFrameLayoutContent(Button btnFloorText) |
| | | { |
| | | #region UI |
| | |
| | | RefreshDeviceList(curRoom); |
| | | } |
| | | |
| | | //当前按键所有显示房间的所有设备处理 |
| | | /// <summary>
|
| | | /// 当前按键所有显示房间的所有设备处理
|
| | | /// </summary>
|
| | | /// <returns></returns> |
| | | List<DeviceUI> GetALlDispalyRoomDeviceList() |
| | | { |
| | | currentKeyAllRoomDeviceList.Clear(); |
| | |
| | | } |
| | | } |
| | | |
| | | // 侧边导航栏 |
| | | /// <summary>
|
| | | /// 选择楼层的侧边栏
|
| | | /// </summary> |
| | | void SideslipFramelayout() |
| | | { |
| | | var dialog = new Dialog |
| | |
| | | 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> |
| | |
| | | MidFrameLayoutContent(btnFloorText); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 中部布局 |
| | | /// </summary> |
| | | async void MidFrameLayoutContent(Button btnFloorText) |
| | | { |
| | | #region UI |
| | |
| | | RefreshSceneList(curRoom); |
| | | } |
| | | |
| | | //按键绑定场景表显示 |
| | | /// <summary>
|
| | | /// 按键绑定场景表显示
|
| | | /// </summary>
|
| | | /// <param name="curRoom"></param> |
| | | void RefreshSceneList(Shared.Common.Room curRoom) |
| | | { |
| | | midVerticalScrolViewLayout.RemoveAll(); |
| | |
| | | } |
| | | } |
| | | |
| | | // 侧边导航栏 |
| | | /// <summary>
|
| | | /// 楼层选择的侧边导航栏
|
| | | /// </summary> |
| | | void SideslipFramelayout() |
| | | { |
| | | var dialog = new Dialog |
| | |
| | | } |
| | | } |
| | | |
| | | //当前按键所有显示房间的所有场景处理 |
| | | /// <summary>
|
| | | /// 当前按键所有显示房间的所有场景处理
|
| | | /// </summary>
|
| | | /// <returns></returns> |
| | | List<SceneUI> GetALlDispalyRoomSceneList() |
| | | { |
| | | currentKeyAllRoomSceneList.Clear(); |
| | |
| | | } |
| | | return currentKeyAllRoomSceneList; |
| | | } |
| | | //获取网关中存在的本地场景列表 |
| | | /// <summary>
|
| | | /// 获取网关中存在的本地场景列表
|
| | | /// </summary>
|
| | | /// <param name="curRoom"></param>
|
| | | /// <returns></returns> |
| | | List<SceneUI> GetMatchSceneUIList(Shared.Common.Room curRoom) |
| | | { |
| | | var tempSceneUIList = new List<SceneUI>(); |
| | |
| | | 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 () => |
| | |
| | | } |
| | | } |
| | | |
| | | //获取按键支持的大类 |
| | | /// <summary>
|
| | | /// 获取按键支持的大类
|
| | | /// </summary>
|
| | | /// <returns></returns> |
| | | private async System.Threading.Tasks.Task<List<int>> GetTypeMode() |
| | | { |
| | | if (typeModeList != null) |
| | |
| | | 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 |
| | | |
| | |
| | | }); |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 添加开关模式
|
| | | /// </summary> |
| | | async private void AddSwitchMode() |
| | | { |
| | | if (typeDetailModeList == null) |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 添加调光模式
|
| | | /// </summary> |
| | | async private void AddDimmerMode() |
| | | { |
| | | if (typeDetailModeList == null) |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 添加窗帘模式
|
| | | /// </summary> |
| | | async private void AddCurtainMode() |
| | | { |
| | | if (typeDetailModeList == null) |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | public void DeviceInfoChange(CommonDevice common, string typeTag) |
| | | { |
| | | } |
| | |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; |
| | | } |
| | | |
| | | #region ◆ 变量申明__________________________ |
| | | #region 变量申明 |
| | | /// <summary>
|
| | | /// 当前门锁
|
| | | /// </summary> |
| | | ZigBee.Device.DoorLock doorLock; |
| | | /// <summary>
|
| | | /// 当前账户
|
| | | /// </summary> |
| | | Shared.Phone.UserCenter.MemberInfoRes curAccountObj; |
| | | #endregion |
| | | |
| | |
| | | MidFrameLayoutContent(); |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 中部布局
|
| | | /// </summary> |
| | | public void MidFrameLayoutContent() |
| | | { |
| | | var bodyView = new VerticalScrolViewLayout() |
| | |
| | | } |
| | | } |
| | | |
| | | #region ◆ 接口实现__________________________ |
| | | #region 接口实现 |
| | | /// <summary> |
| | | /// 处理变化事件 --将弃用 改用DeviceInfoChange() |
| | | /// </summary> |
| | |
| | | /// <param name="common">Common.</param> |
| | | public void Changed(CommonDevice common) |
| | | { |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 处理变化事件 |
| | |
| | | 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 |
| | | |
| | |
| | | base.RemoveFromParent(); |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 中部布局
|
| | | /// </summary> |
| | | public void MidFrameLayoutContent() |
| | | { |
| | | var topMidFrameLayout = new FrameLayout |
| | |
| | | } |
| | | |
| | | |
| | | #region ◆ 接口实现__________________________ |
| | | #region 接口实现 |
| | | /// <summary> |
| | | /// 处理变化事件 --将弃用 改用DeviceInfoChange() |
| | | /// </summary> |
| | |
| | | public class DoorLockCommonInfo : CommonDevice |
| | | { |
| | | #region 本地变量 |
| | | /// <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 |
| | | |
| | |
| | | { |
| | | 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 ◆ 底部有圆角布局__________________________ |
| | | #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), |
| | |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, |
| | | TextSize = 14, |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 底部圆角中的标题栏 |
| | | /// </summary> |
| | | public Button btnBottomTitle = new Button |
| | | { |
| | | X = Application.GetRealWidth(446 - 50), |
| | |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, |
| | | TextSize = 16, |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 底部圆角中的确认按钮 |
| | | /// </summary> |
| | | public Button btnFinish = new Button |
| | | { |
| | | X = Application.GetRealWidth(919), |
| | |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMOrange, |
| | | TextSize = 14, |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 底部圆角中的标题栏下的线条 |
| | | /// </summary> |
| | | public Button line = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(138), |
| | |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// ◆ 中部刷新布局__________________________ |
| | | /// </summary> |
| | | //public VerticalRefreshLayout midVerticalScrolViewLayout = new VerticalRefreshLayout() |
| | | //{ |
| | | //}; |
| | | |
| | | /// <summary> |
| | | /// ◆ 标题栏布局__________________________ |
| | | /// 标题栏布局 |
| | | /// </summary> |
| | | public FrameLayout titleFrameLayout = new FrameLayout |
| | | { |
| | |
| | | topFrameLayout.AddChidren(btnBackFrameLayout); |
| | | topFrameLayout.AddChidren(titleFrameLayout); |
| | | topFrameLayout.AddChidren(btnTitleLine); |
| | |
|
| | | var title = new Button() |
| | | { |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | |
| | | } |
| | | // 获取到到名称更改回调通知 |
| | | 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;
|
| | | }
|
| | | }
|
| | |
|
| | | } |
| | | } |
| | |
| | | { |
| | | 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 |
| | | { |
| | |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 阴影部分 |
| | | /// 弹窗阴影背景 |
| | | /// </summary> |
| | | public FrameLayout flMain = new FrameLayout |
| | | { |
| | | BackgroundColor = 0x00000000, |
| | | }; |
| | | |
| | | /// <summary>
|
| | | /// 弹窗显示
|
| | | /// </summary> |
| | | public void Show() |
| | | { |
| | | dialog.Show(); |
| | |
| | | { |
| | | public class EntryStatusPage : DoorLockCommonLayout, ZigBee.Common.IStatus |
| | | { |
| | | /// <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; |
| | |
| | | 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 |
| | | |
| | |
| | | |
| | | MidFrameLayoutContent(); |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 中部布局
|
| | | /// </summary> |
| | | public void MidFrameLayoutContent() |
| | | { |
| | | var entryStatusPic = new Button |
| | |
| | | |
| | | BottomFrameLayoutContent(); |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 底部布局
|
| | | /// </summary> |
| | | public void BottomFrameLayoutContent() |
| | | { |
| | | bottomFrameLayout = new FrameLayout() |
| | |
| | | }; |
| | | } |
| | | |
| | | 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> |
| | |
| | | { |
| | | public class FunctionSetting : DoorLockCommonLayout, ZigBee.Common.IStatus |
| | | { |
| | | #region ◆ 构造函数__________________________ |
| | | #region 构造函数 |
| | | /// <summary> |
| | | /// 构造函数 |
| | | /// </summary> |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region ◆ 变量申明__________________________ |
| | | #region 变量申明 |
| | | public ZigBee.Device.DoorLock doorLock = null; |
| | | /// <summary> |
| | | /// 设备需要保存的设备名字 |
| | |
| | | FrameLayout bottomFrameLayout; |
| | | #endregion |
| | | |
| | | #region ◆ UI显示 __________________________ |
| | | #region UI显示 |
| | | /// <summary>
|
| | | /// UI显示
|
| | | /// </summary> |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region ◆ 中部显示 __________________________ |
| | | #region 中部显示 |
| | | public void MidFrameLayoutContent() |
| | | {
|
| | | //图片
|
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region ◆ 底部显示 __________________________ |
| | | #region 底部显示 |
| | | public void BottomFrameLayout() |
| | | { |
| | | #region UI |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region ◆ 功能显示 __________________________ |
| | | #region 功能显示 |
| | | void FunctionDetail(ZigBee.Device.DoorLock doorLock) |
| | | { |
| | | listview.RemoveAll(); |
| | |
| | | |
| | | #endregion |
| | | |
| | | #region ◆ 设备重命名__________________________ |
| | | #region 设备重命名 |
| | | /// <summary>
|
| | | /// 设备重命名
|
| | | /// </summary>
|
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region ◆ 行数超过容器时,补一个空白FrameLayout__________________________ |
| | | #region 行数超过容器时,补一个空白FrameLayout |
| | | /// <summary>
|
| | | /// 行数超过容器时,补一个空白FrameLayout,使之能滑动
|
| | | /// </summary>
|
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region ◆ 接口实现__________________________ |
| | | #region 接口实现 |
| | | /// <summary> |
| | | /// 处理变化事件 --将弃用 改用DeviceInfoChange() |
| | | /// </summary> |
| | |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; |
| | | } |
| | | |
| | | #region ◆ 变量申明__________________________ |
| | | #region 变量申明 |
| | | /// <summary>
|
| | | /// 当前门锁
|
| | | /// </summary> |
| | | ZigBee.Device.DoorLock doorLock; |
| | | /// <summary>
|
| | | /// 当前账户
|
| | | /// </summary> |
| | | Shared.Phone.UserCenter.MemberInfoRes accountObj; |
| | | #endregion |
| | | |
| | |
| | | MidFrameLayoutContent(); |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 中部布局
|
| | | /// </summary> |
| | | public void MidFrameLayoutContent() |
| | | { |
| | | var bodyView = new VerticalRefreshLayout() |
| | |
| | | } |
| | | } |
| | | |
| | | #region ◆ 接口实现__________________________ |
| | | #region 接口实现 |
| | | /// <summary> |
| | | /// 处理变化事件 --将弃用 改用DeviceInfoChange() |
| | | /// </summary> |
| | |
| | | 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 () => |
| | |
| | | ReadDoorLockUserInfo(); |
| | | }; |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 中部布局
|
| | | /// </summary> |
| | | public async void MidRefresh() |
| | | { |
| | | bodyView.RemoveAll(); |
| | |
| | | } |
| | | } |
| | | |
| | | //冻结账户 |
| | | /// <summary>
|
| | | /// 冻结账户
|
| | | /// </summary>
|
| | | /// <param name="isFreeze"></param> |
| | | void FreezeUser(bool isFreeze) |
| | | { |
| | | var dialog = new Dialog { }; |
| | |
| | | }; |
| | | } |
| | | |
| | | //是否给子账户拥有远程开锁的条件 |
| | | /// <summary>
|
| | | /// 是否给子账户拥有远程开锁的条件
|
| | | /// </summary>
|
| | | /// <param name="hasAccess"></param> |
| | | void HasRemoteUnlockAccessMethod(bool hasAccess) |
| | | { |
| | | string msg = Language.StringByID(R.MyInternationalizationString.SureGiveAccessToSubaccount); |
| | |
| | | }; |
| | | } |
| | | |
| | | #region ◆ 接口实现__________________________ |
| | | #region 接口实现 |
| | | /// <summary> |
| | | /// 处理变化事件 --将弃用 改用DeviceInfoChange() |
| | | /// </summary> |
| | |
| | | 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 |
| | | |
| | |
| | | MidFrameLayoutContent(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 中部布局 |
| | | /// </summary> |
| | | public void MidFrameLayoutContent() |
| | | { |
| | | MidTopFrameLayout.RemoveAll(); |
| | |
| | | }; |
| | | #endregion |
| | | } |
| | | //底部界面和数据处理 |
| | | /// <summary>
|
| | | /// 底部布局处理
|
| | | /// </summary> |
| | | public void BottomFrameLayoutContent() |
| | | { |
| | | var bottomFrameLayout = new FrameLayout() |
| | |
| | | }; |
| | | } |
| | | |
| | | //确定事件处理 |
| | | /// <summary>
|
| | | /// 确定事件处理
|
| | | /// </summary>
|
| | | /// <param name="btnFinifh"></param> |
| | | void FinifhEventHandler(Button btnFinifh) |
| | | { |
| | | System.Threading.Tasks.Task.Run(async () => |
| | |
| | | }); |
| | | } |
| | | |
| | | //清除事件处理 |
| | | /// <summary>
|
| | | /// 清除事件处理
|
| | | /// </summary>
|
| | | /// <param name="btnDelText"></param> |
| | | async void ClearEventHandler(Button btnDelText = null) |
| | | { |
| | | if (btnDelText == null) |
| | |
| | | } |
| | | } |
| | | |
| | | //读取云端存储数据 |
| | | /// <summary>
|
| | | /// 读取云端存储数据
|
| | | /// </summary> |
| | | void ReadTempPasswordData() |
| | | { |
| | | System.Threading.Tasks.Task.Run(async () => |
| | |
| | | }); |
| | | } |
| | | |
| | | //本地时间数据处理 |
| | | /// <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) |
| | |
| | | } |
| | | } |
| | | |
| | | //时间显示数据处理 |
| | | /// <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 = ""; |
| | |
| | | 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> |
| | |
| | | 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 |
| | | |
| | |
| | | this.MidFrameLayout(this); |
| | | MidFrameLayoutContent(); |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 中部布局
|
| | | /// </summary> |
| | | public void MidFrameLayoutContent() |
| | | { |
| | | if (setTimeType == "DoorLockTime") |
| | |
| | | var dtNow = DateTime.Now; |
| | | for (int i = 0; i < 2; i++) |
| | | { |
| | | #region MidTopFrameLayout UI |
| | | var rowLayout = new FrameLayout() |
| | | { |
| | | Height = Application.GetRealHeight(127 + 23), |
| | |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, |
| | | }; |
| | | MidTopFrameLayout.AddChidren(btnLine); |
| | | #endregion |
| | | |
| | | #region 显示处理 |
| | | if (i == 0) |
| | | { |
| | | btnDateTime.Y = textDisplayDateFrameLayout.Y = btnNextFrameLayout.Y = Application.GetRealHeight(50); |
| | |
| | | } |
| | | btnLine.Visible = false; |
| | | } |
| | | #endregion |
| | | |
| | | #region 事件处理 |
| | | int curIndex = i; |
| | | EventHandler<MouseEventArgs> hander = (sender, e) => |
| | | { |
| | |
| | | textDisplayDateFrameLayout.MouseDownEventHandler += hander; |
| | | btnNextFrameLayout.MouseDownEventHandler += hander; |
| | | btnNext.MouseDownEventHandler += hander; |
| | |
|
| | | if (curIndex == 0) |
| | | { |
| | | textDisplayDate.MouseDownEventHandler += hander; |
| | |
| | | { |
| | | 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); |
| | | 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 |
| | | { |
| | | System.Threading.Thread.Sleep(3000); |
| | | CommonPage.Loading.Hide(); |
| | | Application.RunOnMainThread(() => { CommonPage.Loading.Hide(); });
|
| | | } |
| | | }); |
| | | } |
| | | }; |
| | | this.shadowRadiusFrameLayout.MouseUpEventHandler += (sender1, e1) => |
| | |
| | | } |
| | | } |
| | | |
| | | #region ◆ 接口实现__________________________ |
| | | #region 接口实现 |
| | | /// <summary> |
| | | /// 处理变化事件 --将弃用 改用DeviceInfoChange() |
| | | /// </summary> |
| | |
| | | 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; |
| | | /// <summary>
|
| | | /// 数据为空,UI显示的文本提示
|
| | | /// </summary> |
| | | Button btnPicTip1; |
| | | bool isSecondDel;//是否二次删除 |
| | | FrameLayout blankFrameLayout;//空数据显示布局 |
| | | /// <summary>
|
| | | /// //是否二次删除
|
| | | /// </summary> |
| | | bool isSecondDel; |
| | | /// <summary>
|
| | | /// 空数据显示布局
|
| | | /// </summary> |
| | | FrameLayout blankFrameLayout; |
| | | #endregion |
| | | |
| | | /// <summary> |
| | |
| | | RefreshList(); |
| | | } |
| | | } |
| | | //中部布局 |
| | |
|
| | | /// <summary>
|
| | | /// 中部布局
|
| | | /// </summary> |
| | | void MidFrameLayoutContent() |
| | | { |
| | | #region 开锁方式UI |
| | |
| | | TextSize = 12, |
| | | }; |
| | | blankFrameLayout.AddChidren(btnPicTip1); |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | { |
| | | btnPicTip1.Width = 0; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | } |
| | | } |
| | | |
| | | // 侧边导航栏 |
| | | /// <summary>
|
| | | /// 侧边导航栏
|
| | | /// </summary> |
| | | void SideslipFramelayout() |
| | | { |
| | | #region sidelipFrameLayout UI |
| | | var dialog = new Dialog |
| | | { |
| | | }; |
| | |
| | | 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), |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | rowFrameLayout.AddChidren(btnMethodText); |
| | | #endregion |
| | | |
| | | #region 数据处理 |
| | | EventHandler<MouseEventArgs> hander = (sender, e) => |
| | | { |
| | | if (!btnAllMethod.IsSelected) |
| | |
| | | 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)) |
| | |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; |
| | | } |
| | | |
| | | #region ◆ 变量申明__________________________ |
| | | #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 () => |
| | |
| | | var list = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllAcountUserlist(doorLock); |
| | | if (oldLocalDoorLockUserList.Count != 0) |
| | | { |
| | | //如果本次没有搜索到,提示网关没有回复 |
| | | if (list.Count == 0) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 中部布局
|
| | | /// </summary> |
| | | public void MidFrameLayoutContent() |
| | | { |
| | | var midTopFrameLayout = new FrameLayout() |
| | |
| | | }; |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 刷新列表
|
| | | /// </summary> |
| | | void RefreshList(int unlockMethod = -1) |
| | | { |
| | | this.midFrameLayout.RemoveAll(); |
| | |
| | | } |
| | | } |
| | | |
| | | //本地账户 |
| | | /// <summary>
|
| | | /// 分配本地账户
|
| | | /// </summary> |
| | | void MatchUsersFrameLayout(ZigBee.Device.DoorLock.LocaDoorLockObj curDoorLockUser) |
| | | { |
| | | #region UI |
| | |
| | | }; |
| | | } |
| | | |
| | | // 侧边导航栏 |
| | | /// <summary>
|
| | | /// 侧边导航栏搜索
|
| | | /// </summary> |
| | | void SideslipFramelayout() |
| | | { |
| | | #region sidelipFrameLayout UI
|
| | | var dialog = new Dialog |
| | | { |
| | | }; |
| | |
| | | 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), |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | rowFrameLayout.AddChidren(btnMethodText); |
| | | #endregion |
| | | |
| | | #region 数据处理 |
| | | EventHandler<MouseEventArgs> hander = (sender, e) => |
| | | { |
| | | if (!btnAllMethod.IsSelected) |
| | |
| | | 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)) |
| | |
| | | RefreshList(); |
| | | } |
| | | } |
| | | #region ◆ 接口实现__________________________ |
| | | #region 接口实现 |
| | | /// <summary> |
| | | /// 处理变化事件 --将弃用 改用DeviceInfoChange() |
| | | /// </summary> |
| | |
| | | { |
| | | 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; |
| | |
| | | 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 |
| | | |
| | |
| | | |
| | | MidFrameLayoutContent(); |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 中部布局
|
| | | /// </summary> |
| | | public void MidFrameLayoutContent() |
| | | { |
| | | #region UI |
| | |
| | | btnCurrentFrameLayout.AddChidren(btnCurrentRoomName); |
| | | #endregion |
| | | |
| | | #region 数据处理 |
| | | EventHandler<MouseEventArgs> hander1 = async (sender, e) => |
| | | { |
| | | openFrameLayout.Enable = false; |
| | |
| | | }; |
| | | closeFrameLayout.MouseUpEventHandler += hander2; |
| | | btnDoorClosePic.MouseUpEventHandler += hander2; |
| | | #endregion |
| | | } |
| | | |
| | | #region ◆ 接口实现__________________________ |
| | | #region 接口实现 |
| | | /// <summary> |
| | | /// 处理变化事件 --将弃用 改用DeviceInfoChange() |
| | | /// </summary> |
| | |
| | | btnAddFrameLayout.AddChidren(btnUndistributeText); |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | { |
| | | btnAddFrameLayout.Width = 0; |
| | | btnUndistributeIcon.Width = 0; |
| | | btnUndistributeText.Width = 0; |
| | | } |
| | |
| | | btnAddFrameLayout.MouseDownEventHandler += eHandler; |
| | | btnUndistributeText.MouseDownEventHandler += eHandler; |
| | | btnUndistributeIcon.MouseDownEventHandler += eHandler; |
| | | midVerticalScrolViewLayout = new VerticalRefreshLayout() |
| | | { |
| | | }; |
| | | midVerticalScrolViewLayout = new VerticalRefreshLayout() { }; |
| | | this.midFrameLayout.AddChidren(midVerticalScrolViewLayout); |
| | | |
| | | if (localAllAccountListTemp.Count == 0) |
| | |
| | | <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" />
|