HDL Home App 第二版本 旧平台金堂用 正在使用
wjc
2022-12-01 351bdda734832d821a9764b0cde8be5d83c4ec50
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs
old mode 100755 new mode 100644
@@ -1,993 +1,1456 @@
using Shared.Common;
using System;
using System.Collections.Generic;
namespace Shared.Phone.UserCenter
{
    #region ■ 共通类______________________________
    /// <summary>
    /// 访问接口的共通类
    /// </summary>
    public class IfacePraCommon
    {
        /// <summary>
        /// 是否是子账号进行操作
        /// </summary>
        public bool IsOtherAccountCtrl = Common.Config.Instance.isAdministrator;
    }
    #endregion
    #region ■ 个人信息类__________________________
    /// <summary>
    /// 个人中心用户信息的缓存
    /// </summary>
    public class UserInformation
    {
        /// <summary>
        /// 登陆账号
        /// </summary>
        public string Account = Common.Config.Instance.Account;
        /// <summary>
        /// 用户昵称
        /// </summary>
        public string UserName = string.Empty;
        /// <summary>
        /// DistributedMark
        /// </summary>
        public string DistributedMark = string.Empty;
        /// <summary>
        /// 邮箱
        /// </summary>
        public string Email = string.Empty;
        /// <summary>
        /// 手机号
        /// </summary>
        public string Phone = string.Empty;
        /// <summary>
        /// 地区码
        /// </summary>
        public string AreaCode = "86";
        /// <summary>
        /// 登陆权限编号-> 1:主账号自己(本人)  2:赋予管理员权限的成员  3:成员
        /// </summary>
        public int AuthorityNo = 0;
        /// <summary>
        /// 登陆权限编号的翻译名:1:主账号自己(本人)  2:赋予管理员权限的成员  3:成员
        /// </summary>
        public string AuthorityText = string.Empty;
        /// <summary>
        /// 用户图标文件
        /// </summary>
        public string UserIconFile = string.Empty;
    }
    /// <summary>
    /// 获取账号的信息的启动参数
    /// </summary>
    public class AccountInfoPra : IfacePraCommon
    {
        /// <summary>
        /// 账号
        /// </summary>
        public string Account = Common.Config.Instance.Account;
    }
    /// <summary>
    /// 修改用户名的启动参数
    /// </summary>
    public class SaveUserNamePra
    {
        /// <summary>
        /// 用户名
        /// </summary>
        public string UserName = string.Empty;
    }
    #endregion
    #region ■ 成员信息类__________________________
    /// <summary>
    /// 获取成员列表的启动参数
using Shared.Common;
using System;
using System.Collections.Generic;
namespace Shared.Phone.UserCenter
{
    #region ■ 共通类______________________________
    /// <summary>
    /// 访问接口的共通类
    /// </summary>
    public class MemberListInfoPra : IfacePraCommon
    {
        /// <summary>
        /// 住宅的Guid
        /// </summary>
        public string DistributedMark = Common.Config.Instance.Home.Id;
    }
    /// <summary>
    /// 获取成员信息的结果
    /// </summary>
    public class MemberInfoRes
    {
        /// <summary>
        /// 账号
    public class IfacePraCommon
    {
        /// <summary>
        /// 是否是子账号进行操作
        /// </summary>
        public string Account = string.Empty;
        /// <summary>
        /// 账号昵称
        /// </summary>
        public string UserName = string.Empty;
        /// <summary>
        /// SubAccountDistributedMark
        public bool IsOtherAccountCtrl = Common.Config.Instance.Home.IsOthreShare;
    }
    #endregion
    #region ■ 个人信息类__________________________
    /// <summary>
    /// 个人中心用户信息的缓存
    /// </summary>
    public class UserInformation
    {
        /// <summary>
        /// 登陆账号
        /// </summary>
        public string SubAccountDistributedMark = string.Empty;
        /// <summary>
        /// DistributedMark
        public string Account = Common.Config.Instance.Account;
        /// <summary>
        /// 用户昵称
        /// </summary>
        public string DistributedMark = string.Empty;
        /// <summary>
        /// AccountType
        public string UserName = string.Empty;
        /// <summary>
        /// 记录上一次的用户昵称(给个人中心修改昵称时用的)
        /// </summary>
        public int AccountType = 0;
    }
    /// <summary>
    /// 获取账号的信息的结果
    /// </summary>
    public class AccountInfoResult
    {
        /// <summary>
        /// 账号(这个东西接口不会返回,需手动赋值)
        /// </summary>
        public string Account = string.Empty;
        /// <summary>
        /// 用户昵称
        /// </summary>
        public string UserName = string.Empty;
        /// <summary>
        /// DistributedMark
        /// </summary>
        public string DistributedMark = string.Empty;
        /// <summary>
        /// 邮箱
        /// </summary>
        public string Email = string.Empty;
        /// <summary>
        /// 手机号
        /// </summary>
        public string Phone = string.Empty;
    }
    #endregion
    #region ■ 设备信息类__________________________
        [Newtonsoft.Json.JsonIgnore]
        public string OldUserName = string.Empty;
        /// <summary>
        /// DistributedMark
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public string DistributedMark = string.Empty;
        /// <summary>
        /// 邮箱
        /// </summary>
        public string Email = string.Empty;
        /// <summary>
        /// 手机号
        /// </summary>
        public string Phone = string.Empty;
        /// <summary>
        /// 地区码
        /// </summary>
        public string AreaCode = "86";
        /// <summary>
        /// 登陆权限编号-> 1:主账号自己(本人)  2:赋予管理员权限的成员  3:成员
        /// </summary>
        public int AuthorityNo = 0;
        /// <summary>
        /// 登陆权限编号的翻译名:1:主账号自己(本人)  2:赋予管理员权限的成员  3:成员
        /// </summary>
        public string AuthorityText = string.Empty;
        /// <summary>
        /// 用户头像数据(临时用,会置空)
        /// </summary>
        public byte[] HeadImage = null;
        /// <summary>
        /// 手势密码(临时用,会置空)
        /// </summary>
        public string GesturePwd = string.Empty;
        /// <summary>
        /// 密码验证(临时用,会置空)
        /// </summary>
        public string StringPwd = string.Empty;
        /// <summary>
        /// 用户图标文件
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public string UserIconFile = string.Empty;
        /// <summary>
        /// 用户图标文件是否改变
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public bool UserIconFileChanged = false;
        /// <summary>
        /// 是否初始化用户信息成功
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        public bool InitUserInfoSuccess = false;
    }
    /// <summary>
    /// 获取账号的信息的启动参数
    /// </summary>
    public class AccountInfoPra : IfacePraCommon
    {
        /// <summary>
        /// 账号
        /// </summary>
        public string Account = Common.Config.Instance.Account;
    }
    /// <summary>
    /// 修改用户名的启动参数
    /// </summary>
    public class SaveUserNamePra
    {
        /// <summary>
        /// 用户名
        /// </summary>
        public string UserName = string.Empty;
    }
    /// <summary>
    /// 昵称信息
    /// </summary>
    public class NicknameInfo
    {
        /// <summary>
        /// 昵称
        /// </summary>
        public string nickname = string.Empty;
    }
    #endregion
    #region ■ 成员信息类__________________________
    /// <summary>
    /// 获取成员列表的启动参数
    /// </summary>
    public class MemberListInfoPra : IfacePraCommon
    {
        /// <summary>
        /// 住宅的Guid
        /// </summary>
        public string DistributedMark = Common.Config.Instance.Home.Id;
    }
    /// <summary>
    /// 获取成员信息的结果
    /// </summary>
    public class MemberInfoRes
    {
        /// <summary>
        /// 账号
        /// </summary>
        public string Account = string.Empty;
        /// <summary>
        /// 账号昵称
        /// </summary>
        public string UserName = string.Empty;
        /// <summary>
        /// SubAccountDistributedMark
        /// </summary>
        public string SubAccountDistributedMark = string.Empty;
        /// <summary>
        /// DistributedMark
        /// </summary>
        public string DistributedMark = string.Empty;
        /// <summary>
        /// AccountType
        /// </summary>
        public int AccountType = 0;
        /// <summary>
        /// 是否拥有远程控制权限
        /// </summary>
        public bool IsAllowRemoteCtrl = false;
    }
    /// <summary>
    /// 获取账号的信息的结果
    /// </summary>
    public class AccountInfoResult
    {
        /// <summary>
        /// 账号(这个东西接口不会返回,需手动赋值)
        /// </summary>
        public string Account = string.Empty;
        /// <summary>
        /// 用户昵称
        /// </summary>
        public string UserName = string.Empty;
        /// <summary>
        /// DistributedMark
        /// </summary>
        public string DistributedMark = string.Empty;
        /// <summary>
        /// 邮箱
        /// </summary>
        public string Email = string.Empty;
        /// <summary>
        /// 手机号
        /// </summary>
        public string Phone = string.Empty;
        /// <summary>
        /// 头像数据
        /// </summary>
        public byte[] HeadImage = null;
    }
    #endregion
    #region ■ 设备信息类__________________________
    /// <summary>
    /// 设备信息
    /// </summary>
    public class uDeviceInfo
    {
    public class uDeviceInfo
    {
        /// <summary>
        /// 唯一识别主键
        /// </summary>
        public string MainKeys = string.Empty;
        public string MainKeys = string.Empty;
        /// <summary>
        /// 房间名称
        /// </summary>
        public string RoomName = string.Empty;
        public string RoomName = string.Empty;
        /// <summary>
        /// 设备的打开状态
        /// </summary>
        public int Statu = 0;
        public int Statu = 0;
        /// <summary>
        /// 设备
        /// </summary>
        public ZigBee.Device.CommonDevice Device = null;
    }
    #endregion
    #region ■ 网关信息类__________________________
        public ZigBee.Device.CommonDevice Device = null;
    }
    /// <summary>
    /// 设备名字内容
    /// </summary>
    public class DeviceNameContent
    {
        public string A官方名字 = string.Empty;
        public string A所属名字 = string.Empty;
        public string A备注名字 = string.Empty;
        public string A类型名字 = string.Empty;
        public int ConcreteTypeValue = 0;
        public int BeloneTypeValue = 0;
    }
    #endregion
    #region ■ 网关信息类__________________________
    /// <summary>
    /// 从接口获取网关列表的启动参数
    /// </summary>
    public class GetGatewayPra : IfacePraCommon
    {
    public class GetGatewayPra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// 住宅ID信息
        /// </summary>
        public ResidenceIDPra ReqDto = new ResidenceIDPra();
    }
        public ResidenceIDPra ReqDto = new ResidenceIDPra();
    }
    /// <summary>
    /// 住宅ID信息(从接口获取网关列表的启动参数)
    /// </summary>
    public class ResidenceIDPra
    {
    public class ResidenceIDPra
    {
        /// <summary>
        /// Token
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// 住宅ID
        /// </summary>
        public string HomeId = Common.Config.Instance.Home.Id;
        /// <summary>
        /// 页数
        /// </summary>
        public PageSettingInfo PageSetting = new PageSettingInfo();
    }
        public string HomeId = Common.Config.Instance.Home.Id;
        /// <summary>
        /// 页数
        /// </summary>
        public PageSettingInfo PageSetting = new PageSettingInfo();
    }
    /// <summary>
    /// 从接口获取网关列表的结果
    /// </summary>
    public class GetGatewayResult
    {
    public class GetGatewayResult
    {
        /// <summary>
        /// 网关列表
        /// </summary>
        public List<GatewayResult> PageData = new List<GatewayResult>();
    }
        public List<GatewayResult> PageData = new List<GatewayResult>();
    }
    /// <summary>
    /// 网关ID结果
    /// </summary>
    public class GatewayResult
    {
    public class GatewayResult
    {
        /// <summary>
        /// 网关ID
        /// </summary>
        public string GatewayUniqueId = string.Empty;
        /// <summary>
        /// 云端远程在线状态
        /// </summary>
        public bool MqttOnlineStatus = false;
    }
    /// <summary>
    /// 解除网关的启动参数
        public string GatewayUniqueId = string.Empty;
        /// <summary>
        /// 云端远程在线状态
        /// </summary>
        public bool MqttOnlineStatus = false;
        /// <summary>
        /// 与此网关在云端Emq通信时,负载加解的16位Aes密钥
        /// </summary>
        public string AesKey;
        /// <summary>
        /// 网关对应的唯一码
        /// </summary>
        public string MacMark;
    }
    /// <summary>
    /// 解除网关的启动参数
    /// </summary>
    public class DeleteGatewayPra : IfacePraCommon
    {
    public class DeleteGatewayPra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// Token
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// 住宅ID
        /// </summary>
        public string HomeId = Common.Config.Instance.Home.Id;
        /// <summary>
        /// 绑定网关的唯一标识数组
        /// </summary>
        public List<string> BindGateways = new List<string>();
    }
        public string HomeId = Common.Config.Instance.Home.Id;
        /// <summary>
        /// 绑定网关的唯一标识数组
        /// </summary>
        public List<string> BindGateways = new List<string>();
    }
    /// <summary>
    /// 绑定网关接口的参数
    /// </summary>
    public class BindGatewayPra : IfacePraCommon
    {
    public class BindGatewayPra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// Token
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// 住宅ID
        /// </summary>
        public string HomeId = Common.Config.Instance.Home.Id;
        public string HomeId = Common.Config.Instance.Home.Id;
        /// <summary>
        /// 网关ID列表
        /// </summary>
        public List<string> BindGateways = new List<string>();
    }
    #endregion
    #region ■ 设备升级类__________________________
    /// <summary>
    /// 从接口获取固件的版本的启动参数
    /// </summary>
    public class GetFirmwareVersionPra
    {
        /// <summary>
        /// App 请求版本号
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// 搜索第一级分类(0:App 1:Zigbee网关 2:Zigbee 设备)
        /// </summary>
        public int FirmwareManaFirstType = 1;
        /// <summary>
        /// 搜索第二级分类(0:Linux模块、1:协调器模块、2:虚拟设备模块),对于第一级分类是(Zigbee网关)此值才存在
        /// </summary>
        public int? FirmwareManaSecondType = null;
        /// <summary>
        /// 固件版本
        /// </summary>
        public string HardwareVersion = null;
        /// <summary>
        /// 镜像类型
        /// </summary>
        public string DeviceType = null;
        /// <summary>
        /// APP的登陆ID
        /// </summary>
        public string AppAccount = Shared.Common.Config.Instance.Account;
        /// <summary>
        /// 页数
        /// </summary>
        public PageSettingInfo PageSetting = new PageSettingInfo();
    }
    /// <summary>
    /// 接收云端固件信息的类
    /// </summary>
    public class FirmwareVersionResult
    {
        /// <summary>
        /// 固件信息
        /// </summary>
        public List<FirmwareAllInfo> PageData = null;
        /// <summary>
        /// PageIndex
        /// </summary>
        public int PageIndex = 0;
        /// <summary>
        /// PageSize
        /// </summary>
        public int PageSize = 0;
        /// <summary>
        /// TotalCount
        /// </summary>
        public int TotalCount = 0;
        /// <summary>
        /// TotalPages
        /// </summary>
        public int TotalPages = 0;
        /// <summary>
        /// HasPreviousPage
        /// </summary>
        public bool HasPreviousPage = false;
        /// <summary>
        /// HasNextPage
        /// </summary>
        public bool HasNextPage = false;
    }
    /// <summary>
    /// 固件信息
    /// </summary>
    public class FirmwareAllInfo
    {
        /// <summary>
        /// 搜索第一级分类(0:App 1:Zigbee网关 2:Zigbee 设备)
        /// </summary>
        public int FirmwareManaFirstType = 1;
        /// <summary>
        /// 搜索第二级分类(0:Linux模块、1:协调器模块、2:虚拟设备模块),对于第一级分类是(Zigbee网关)此值才存在
        /// </summary>
        public int? FirmwareManaSecondType = null;
        /// <summary>
        /// 网关上面显示的名字
        /// </summary>
        public string Name = string.Empty;
        /// <summary>
        /// 固件版本
        /// </summary>
        public string FirmwareVersion = string.Empty;
        /// <summary>
        /// 硬件版本
        /// </summary>
        public string HardwareVersion = string.Empty;
        /// <summary>
        /// 设备类型
        /// </summary>
        public string DeviceType = string.Empty;
        /// <summary>
        /// 固件备注
        /// </summary>
        public string Remarks = string.Empty;
        /// <summary>
        /// 固件分布式唯一,也是下载时的[下载固件的唯一标识]参数
        /// </summary>
        public string DistributedMark = string.Empty;
    }
    /// <summary>
    /// 升级固件的硬件版本(一个分类下有多种硬件版本)
    /// </summary>
    public class FirmwareHardInfo
    {
        /// <summary>
        /// 升级固件的镜像类型(一个硬件版本下有多种镜像类型)
        /// </summary>
        public Dictionary<string, FirmwareImgTypeInfo> dicImgType = new Dictionary<string, FirmwareImgTypeInfo>();
    }
    /// <summary>
    /// 升级固件的镜像类型(一个硬件版本下有多种镜像类型)
    /// </summary>
    public class FirmwareImgTypeInfo
    {
        /// <summary>
        /// 升级固件的版本号(一个镜像类型下有多种版本号)
        /// </summary>
        public List<FirmwareVersionInfo> listVeison = new List<FirmwareVersionInfo>();
    }
    /// <summary>
    /// 升级固件的版本号(一个镜像类型下有多种版本号)
    /// </summary>
    public class FirmwareVersionInfo
    {
        /// <summary>
        /// 云端上面的那个名字
        /// </summary>
        public string Name = string.Empty;
        /// <summary>
        /// 版本号
        /// </summary>
        public int FirmwareVersion = 0;
        /// <summary>
        /// 界面里面显示的名字固件名字
        /// </summary>
        public string ShowName = string.Empty;
        /// <summary>
        /// 固件升级的内容介绍
        /// </summary>
        public List<string> UpdateContent = new List<string>();
        /// <summary>
        /// 固件分布式唯一,也是下载时的[下载固件的唯一标识]参数
        /// </summary>
        public string DistributedMark = string.Empty;
        /// <summary>
        /// 虚拟驱动号,它是由物理网关来的
        /// </summary>
        public int VirtualCode = 0;
        /// <summary>
        /// 硬件版本
        /// </summary>
        public string HardwareVersion = string.Empty;
        /// <summary>
        /// 镜像类型
        /// </summary>
        public string ImagType = string.Empty;
    }
    #endregion
    #region ■ 数据备份类__________________________
    /// <summary>
    /// 获取备份列表名的启动参数
    /// </summary>
    public class GetBackupListPra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Shared.Common.Config.Instance.Home.Id;
        /// <summary>
        /// 备份类型 [0:App手动备份 1: App 自动备份 2:网关手动备份 3:网关自动备份]
        /// </summary>
        public int BackupType = 0;
        /// <summary>
        /// 网关的唯一Id(获取网关备份需要)
        /// </summary>
        public string GatewayUniqueId = null;
        /// <summary>
        /// PageSetting
        /// </summary>
        public PageSettingInfo PageSetting = new PageSettingInfo();
    }
    /// <summary>
    /// 获取备份列表名的结果
    /// </summary>
    public class GetBackupListResult
    {
        /// <summary>
        /// PageData
        /// </summary>
        public List<BackupListNameInfo> PageData = new List<BackupListNameInfo>();
    }
    /// <summary>
    /// 备份列表名的信息
    /// </summary>
    public class BackupListNameInfo
    {
        /// <summary>
        /// BackupName
        /// </summary>
        public string BackupName = string.Empty;
        /// <summary>
        /// ZigbeeUniqueId
        /// </summary>
        public string GatewayUniqueId = string.Empty;
        /// <summary>
        /// Id
        /// </summary>
        public string Id = "";
        /// <summary>
        /// CreatedOnUtc
        /// </summary>
        public string CreatedOnUtc = string.Empty;
    }
    /// <summary>
    /// 下载备份文件的结果
    /// </summary>
    public class LoadBackInfoResult
    {
        /// <summary>
        /// PageData
        /// </summary>
        public List<LoadBackupFileNameInfo> PageData = new List<LoadBackupFileNameInfo>();
        /// <summary>
        /// TotalCount
        /// </summary>
        public int TotalCount = 0;
        /// <summary>
        /// TotalPages
        /// </summary>
        public int TotalPages = 0;
    }
    /// <summary>
    /// 下载备份文件的文件夹名字信息
    /// </summary>
    public class LoadBackupFileNameInfo
    {
        /// <summary>
        /// BackupFileName
        /// </summary>
        public string BackupFileName = string.Empty;
        /// <summary>
        /// Id
        /// </summary>
        public string Id = "";
        /// <summary>
        /// CreatedOnUtc
        /// </summary>
        public string CreatedOnUtc = string.Empty;
    }
    /// <summary>
    /// 下载备份文件的启动参数
    /// </summary>
    public class LoadBackInfoPra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Shared.Common.Config.Instance.Home.Id;
        /// <summary>
        /// BackupClassId
        /// </summary>
        public string BackupClassId = "";
        /// <summary>
        /// 当前获取是否为网关自动备份
        /// </summary>
        public bool IsGatewayAutoBackup = false;
        /// <summary>
        /// ZigbeeUniqueId 网关的唯一Id 当IsGatewayBackup= true时,此参数必须提供
        /// </summary>
        public string GatewayUniqueId = null;
        /// <summary>
        /// BackupFileName(DownloadSomeDataBackup接口使用)
        /// </summary>
        public string BackupFileName = null;
        /// <summary>
        /// PageSetting
        /// </summary>
        public PageSettingInfo PageSetting = new PageSettingInfo();
    }
    /// <summary>
    /// 文件数据
    /// </summary>
    public class FileInfoData
    {
        /// <summary>
        /// BackupFileName
        /// </summary>
        public string BackupFileName = string.Empty;
        /// <summary>
        /// BackupFileContent
        /// </summary>
        public byte[] BackupFileContent;
    }
    /// <summary>
    /// 添加备份名字的启动参数
    /// </summary>
    public class AddBackUpNamePra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Shared.Common.Config.Instance.Home.Id;
        /// <summary>
        /// BackupName
        /// </summary>
        public string BackupName = "";
        /// <summary>
        /// 手动备份类型(0:App手动备份,2:网关手动备份)
        /// </summary>
        public int ManualBackupType = 0;
        /// <summary>
        /// 网关的唯一Id,当ManualBackupType=2时,此值不能为空!
        /// </summary>
        public string GatewayUniqueId = null;
    }
    /// <summary>
    /// 添加备份名字的启动参数
    /// </summary>
    public class EditorBackUpNamePra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Shared.Common.Config.Instance.Home.Id;
        /// <summary>
        /// BackupName
        /// </summary>
        public string BackupName = "";
        /// <summary>
        /// BackupClassId
        /// </summary>
        public string BackupClassId = "";
    }
    /// <summary>
    /// 添加备份名字的结果
    /// </summary>
    public class AddBackupNameResult
    {
        /// <summary>
        /// BackupClassId
        /// </summary>
        public string BackupClassId = "";
    }
    /// <summary>
    /// 上传数据的启动参数
    /// </summary>
    public class UpLoadDataPra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Shared.Common.Config.Instance.Home.Id;
        /// <summary>
        /// BackupClassId
        /// </summary>
        public string BackupClassId = "";
        /// <summary>
        /// 手动备份类型(0:App手动备份,2:网关手动备份)
        /// </summary>
        public int ManualBackupType = 0;
        /// <summary>
        /// UploadSubFileLists
        /// </summary>
        public List<FileInfoData> UploadSubFileLists = new List<FileInfoData>();
    }
    /// <summary>
    /// 删除文件的启动参数
    /// </summary>
    public class DeleteFilePra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Shared.Common.Config.Instance.Home.Id;
        /// <summary>
        /// BackupClassId
        /// </summary>
        public string BackupClassId = "";
        /// <summary>
        /// 删除的文件名字
        /// </summary>
        public List<string> DeleteFileNameLists = new List<string>();
    }
    /// <summary>
    /// 页数数据
    /// </summary>
    public class PageSettingInfo
    {
        /// <summary>
        /// Page
        /// </summary>
        public int Page = 0;
        /// <summary>
        /// PageSize
        /// </summary>
        public int PageSize = 0;
        public List<string> BindGateways = new List<string>();
    }
    #endregion
    #endregion
    #region ■ 设备报警类__________________________
    #region ■ 设备升级类__________________________
    /// <summary>
    /// 设备报警信息类
    /// </summary>
    public class DeviceAlarmInfo
    {
        /// <summary>
        /// 房间名字
        /// </summary>
        public string RoomName = string.Empty;
        /// <summary>
        /// 设备的MAC地址(映射用)
        /// </summary>
        public string DeviceAddr = string.Empty;
        /// <summary>
        /// 设备的端口号(映射用)
        /// </summary>
        public int DeviceEpoint = 0;
        /// <summary>
        /// 设备名称(优先使用映射,如果映射不到的时候,则使用此变量)
        /// </summary>
        public string DeviceName = string.Empty;
        /// <summary>
        /// 报警信息
        /// </summary>
        public string AlarmMsg = string.Empty;
        /// <summary>
        /// 电池报警信息
        /// </summary>
        public string BatteryMsg = null;
        /// <summary>
        /// 被拆报警信息
        /// </summary>
        public string DemolishmentMsg = null;
        /// <summary>
        /// 上报时间(hh:mm:ss)
        /// </summary>
        public string Time = string.Empty;
    }
    #endregion
    #region ■ 安防报警类__________________________
    /// <summary>
    /// 安防报警信息类
    /// </summary>
    public class SafeguardAlarmInfo: DeviceAlarmInfo
    {
        /// <summary>
        /// 上报类型
        /// </summary>
        public SafeguardAlarmType AlarmType = SafeguardAlarmType.None;
        /// <summary>
        /// 防区ID(映射用)
        /// </summary>
        public int ZoneId = 0;
    }
    /// <summary>
    /// 传感器上报的数据的翻译信息
    /// </summary>
    public class IASZoneReportInfo
    {
        /// <summary>
        /// 报警信息
        /// </summary>
        public string AlarmMsg = string.Empty;
        /// <summary>
        /// 电池报警信息
        /// </summary>
        public string BatteryMsg = null;
        /// <summary>
        /// 被拆报警信息
        /// </summary>
        public string DemolishmenMsg = null;
    }
    #endregion
    #region ■ 设备类型类__________________________
    /// <summary>
    /// 设备类型的信息
    /// </summary>
    public class DeviceEnumInfo
    {
        /// <summary>
        /// 是否是河东的设备
        /// </summary>
        public bool IsHdlDevice = true;
        /// <summary>
        /// 设备的具体类型的翻译名字ID(R文件里面的)
        /// </summary>
        public int ConcreteTextId = R.MyInternationalizationString.UnknowDevice;
        /// <summary>
        /// 设备的具体类型(值为自定义的值,好像可以是镜像ID)
        /// </summary>
        public DeviceConcreteType ConcreteType = DeviceConcreteType.UnKownDevice;
        /// <summary>
        /// 设备所属类型
        /// </summary>
        public DeviceBeloneType BeloneType = DeviceBeloneType.A未知设备;
        /// <summary>
        /// 设备所属类型的翻译名字ID(R文件里面的)
        /// </summary>
        public int BeloneTextId = R.MyInternationalizationString.UnknowDevice;
    }
    #endregion
    #region ■ 分享类型类__________________________
    /// <summary>
    /// 成员的分享信息
    /// </summary>
    public class MemberShardInfoData
    {
        /// <summary>
        /// 全部的分享文件的主键(keys:文件名  value:主键)
        /// </summary>
        public Dictionary<string, string> dicAllShardKeys = new Dictionary<string, string>();
        /// <summary>
        /// 分享房间的对象(它是从云端来的,keys:文件名)
        /// </summary>
        public Dictionary<string, Room> dicShardRoom = new Dictionary<string, Common.Room>();
        /// <summary>
        /// 分享的楼层
        /// </summary>
        public Dictionary<string, string> dicShardFloor = new Dictionary<string, string>();
        /// <summary>
        /// 临时变量(这个东西为null,即不是新分享的房间,否则是新分享的房间。用完记得置空)
        /// </summary>
        public Room TempRoom = null;
        /// <summary>
        /// 是否需要刷新
        /// </summary>
        public bool Refresh = true;
        /// <summary>
        /// 子账号的主键
        /// </summary>
        public string SubAccountDistributedMark = string.Empty;
    }
    /// <summary>
    /// 接收分享数据的内容
    /// </summary>
    public class GetShardInfoResult
    {
        /// <summary>
        /// DistributedMark
        /// </summary>
        public string DistributedMark = string.Empty;
        /// <summary>
        /// 住宅ID
        /// </summary>
        public string HouseDistributedMark = Common.Config.Instance.Home.Id;
        /// <summary>
        /// 分享名称
        /// </summary>
        public string ShareName = string.Empty;
        /// <summary>
        /// 更新时间
        /// </summary>
        public string TimeSpan = string.Empty;
        /// <summary>
        /// 分享内容
        /// </summary>
        public byte[] ShareDataBytes = null;
    }
    #endregion
    #region ■ 管理员权限操作类____________________
    /// <summary>
    /// 成员管理员权限操作类
    /// </summary>
    public class MemberAdministratorResult
    {
        /// <summary>
        /// 请求控制主帐号此住宅时请求基地址
        /// </summary>
        public string RequestBaseUrl = string.Empty;
        /// <summary>
        /// 请求控制主帐号此住宅时请求基地址的LoginAccessToken的值
        /// </summary>
        public string RequestToken = string.Empty;
    }
    /// <summary>
    /// 成员管理员权限远程操作类
    /// </summary>
    public class MemberAdministratorMqttResult
    {
        /// <summary>
        /// 远程控制分享住宅Mqtt连接地址
        /// </summary>
        public string ZigbeeMqttBrokerLoadSubDomain = string.Empty;
        /// <summary>
        /// 远程控制分享住宅MqttClientId
        /// </summary>
        public string ConnectZigbeeMqttClientId = string.Empty;
        /// <summary>
        /// 远程控制分享住宅密码
        /// </summary>
        public string ConnectZigbeeMqttBrokerPwd = string.Empty;
        /// <summary>
        /// 远程控制通信16位AES密钥
        /// </summary>
        public string MqttKey = string.Empty;
        /// <summary>
        /// 应该叫远程连接的名字吧
        /// </summary>
        public string ConnectZigbeeMqttBrokerName = string.Empty;
    }
    #endregion
}
    /// <summary>
    /// 从接口获取固件的版本的启动参数
    /// </summary>
    public class GetFirmwareVersionPra
    {
        /// <summary>
        /// App 请求版本号
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// 搜索第一级分类(0:App 1:Zigbee网关 2:Zigbee 设备)
        /// </summary>
        public int FirmwareManaFirstType = 1;
        /// <summary>
        /// 搜索第二级分类(0:Linux模块、1:协调器模块、2:虚拟设备模块),对于第一级分类是(Zigbee网关)此值才存在
        /// </summary>
        public int? FirmwareManaSecondType = null;
        /// <summary>
        /// 固件版本
        /// </summary>
        public string HardwareVersion = null;
        /// <summary>
        /// 镜像类型
        /// </summary>
        public string DeviceType = null;
        /// <summary>
        /// APP的登陆ID
        /// </summary>
        public string AppAccount = Shared.Common.Config.Instance.Account;
        /// <summary>
        /// 页数
        /// </summary>
        public PageSettingInfo PageSetting = new PageSettingInfo();
    }
    /// <summary>
    /// 接收云端固件信息的类
    /// </summary>
    public class FirmwareVersionResult
    {
        /// <summary>
        /// 固件信息
        /// </summary>
        public List<FirmwareAllInfo> PageData = null;
        /// <summary>
        /// PageIndex
        /// </summary>
        public int PageIndex = 0;
        /// <summary>
        /// PageSize
        /// </summary>
        public int PageSize = 0;
        /// <summary>
        /// TotalCount
        /// </summary>
        public int TotalCount = 0;
        /// <summary>
        /// TotalPages
        /// </summary>
        public int TotalPages = 0;
        /// <summary>
        /// HasPreviousPage
        /// </summary>
        public bool HasPreviousPage = false;
        /// <summary>
        /// HasNextPage
        /// </summary>
        public bool HasNextPage = false;
    }
    /// <summary>
    /// 固件信息
    /// </summary>
    public class FirmwareAllInfo
    {
        /// <summary>
        /// 搜索第一级分类(0:App 1:Zigbee网关 2:Zigbee 设备)
        /// </summary>
        public int FirmwareManaFirstType = 1;
        /// <summary>
        /// 搜索第二级分类(0:Linux模块、1:协调器模块、2:虚拟设备模块),对于第一级分类是(Zigbee网关)此值才存在
        /// </summary>
        public int? FirmwareManaSecondType = null;
        /// <summary>
        /// 网关上面显示的名字
        /// </summary>
        public string Name = string.Empty;
        /// <summary>
        /// 固件版本
        /// </summary>
        public string FirmwareVersion = string.Empty;
        /// <summary>
        /// 硬件版本
        /// </summary>
        public string HardwareVersion = string.Empty;
        /// <summary>
        /// 设备类型
        /// </summary>
        public string DeviceType = string.Empty;
        /// <summary>
        /// 固件备注
        /// </summary>
        public string Remarks = string.Empty;
        /// <summary>
        /// 固件分布式唯一,也是下载时的[下载固件的唯一标识]参数
        /// </summary>
        public string DistributedMark = string.Empty;
        /// <summary>
        /// 日期(后面追加的 utc时间)
        /// </summary>
        public string CreatedOnUtc = string.Empty;
    }
    /// <summary>
    /// 升级固件的硬件版本(一个分类下有多种硬件版本)
    /// </summary>
    public class FirmwareHardInfo
    {
        /// <summary>
        /// 升级固件的镜像类型(一个硬件版本下有多种镜像类型)
        /// </summary>
        public Dictionary<string, FirmwareImgTypeInfo> dicImgType = new Dictionary<string, FirmwareImgTypeInfo>();
    }
    /// <summary>
    /// 升级固件的镜像类型(一个硬件版本下有多种镜像类型)
    /// </summary>
    public class FirmwareImgTypeInfo
    {
        /// <summary>
        /// 升级固件的版本号(一个镜像类型下有多种版本号)
        /// </summary>
        public List<FirmwareVersionInfo> listVeison = new List<FirmwareVersionInfo>();
    }
    /// <summary>
    /// 升级固件的版本号(一个镜像类型下有多种版本号)
    /// </summary>
    public class FirmwareVersionInfo
    {
        /// <summary>
        /// 云端上面的那个名字,如果是本地空调的模块时,它为全路径
        /// </summary>
        public string Name = string.Empty;
        /// <summary>
        /// 版本号
        /// </summary>
        public int FirmwareVersion = 0;
        /// <summary>
        /// 界面里面显示的名字固件名字
        /// </summary>
        public string ShowName = string.Empty;
        /// <summary>
        /// 固件升级的内容介绍
        /// </summary>
        public List<string> UpdateContent = new List<string>();
        /// <summary>
        /// 固件分布式唯一,也是下载时的[下载固件的唯一标识]参数
        /// </summary>
        public string DistributedMark = string.Empty;
        /// <summary>
        /// 虚拟驱动号,它是由物理网关来的
        /// </summary>
        public int VirtualCode = 0;
        /// <summary>
        /// 硬件版本
        /// </summary>
        public string HardwareVersion = string.Empty;
        /// <summary>
        /// 镜像类型(当等于-100时,代表它是空调的本地模块)
        /// </summary>
        public string ImagType = string.Empty;
        /// <summary>
        /// 日期(后面追加的 utc时间)
        /// </summary>
        public string CreatedOnUtc = string.Empty;
    }
    /// <summary>
    /// 网关需要升级的信息
    /// </summary>
    public class GatewayNeedUpdateInfo
    {
        /// <summary>
        /// 升级固件的全路径
        /// </summary>
        public string FullFileName = string.Empty;
        /// <summary>
        /// 虚拟驱动号
        /// </summary>
        public int DriveCode = -1;
        /// <summary>
        /// 1:Linux的升级固件 2:协调器的升级固件 3:虚拟驱动的升级固件
        /// </summary>
        public int Div = -1;
    }
    #endregion
    #region ■ 数据备份类__________________________
    /// <summary>
    /// 获取备份列表名的启动参数
    /// </summary>
    public class GetBackupListPra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Shared.Common.Config.Instance.Home.Id;
        /// <summary>
        /// 备份类型 [0:App手动备份 1: App 自动备份 2:网关手动备份 3:网关自动备份]
        /// </summary>
        public int BackupType = 0;
        /// <summary>
        /// 网关的唯一Id(获取网关备份需要)
        /// </summary>
        public string GatewayUniqueId = null;
        /// <summary>
        /// PageSetting
        /// </summary>
        public PageSettingInfo PageSetting = new PageSettingInfo();
    }
    /// <summary>
    /// 获取备份列表名的结果
    /// </summary>
    public class GetBackupListResult
    {
        /// <summary>
        /// PageData
        /// </summary>
        public List<BackupListNameInfo> PageData = new List<BackupListNameInfo>();
    }
    /// <summary>
    /// 备份列表名的信息
    /// </summary>
    public class BackupListNameInfo
    {
        /// <summary>
        /// BackupName
        /// </summary>
        public string BackupName = string.Empty;
        /// <summary>
        /// ZigbeeUniqueId
        /// </summary>
        public string GatewayUniqueId = string.Empty;
        /// <summary>
        /// Id
        /// </summary>
        public string Id = "";
        /// <summary>
        /// CreatedOnUtc
        /// </summary>
        public string CreatedOnUtc = string.Empty;
        /// <summary>
        /// 是否是自动备份(需手动赋值)  0:手动备份 1:自动备份
        /// </summary>
        public int IsAutoBack = 0;
    }
    /// <summary>
    /// 下载备份文件的结果
    /// </summary>
    public class LoadBackInfoResult
    {
        /// <summary>
        /// PageData
        /// </summary>
        public List<LoadBackupFileNameInfo> PageData = new List<LoadBackupFileNameInfo>();
        /// <summary>
        /// TotalCount
        /// </summary>
        public int TotalCount = 0;
        /// <summary>
        /// TotalPages
        /// </summary>
        public int TotalPages = 0;
    }
    /// <summary>
    /// 下载备份文件的文件夹名字信息
    /// </summary>
    public class LoadBackupFileNameInfo
    {
        /// <summary>
        /// BackupFileName
        /// </summary>
        public string BackupFileName = string.Empty;
        /// <summary>
        /// Id
        /// </summary>
        public string Id = "";
        /// <summary>
        /// CreatedOnUtc
        /// </summary>
        public string CreatedOnUtc = string.Empty;
    }
    /// <summary>
    /// 下载备份文件的启动参数
    /// </summary>
    public class LoadBackInfoPra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Shared.Common.Config.Instance.Home.Id;
        /// <summary>
        /// BackupClassId
        /// </summary>
        public string BackupClassId = "";
        /// <summary>
        /// 当前获取是否为网关自动备份
        /// </summary>
        public bool IsGatewayAutoBackup = false;
        /// <summary>
        /// ZigbeeUniqueId 网关的唯一Id 当IsGatewayBackup= true时,此参数必须提供
        /// </summary>
        public string GatewayUniqueId = null;
        /// <summary>
        /// BackupFileName(DownloadSomeDataBackup接口使用)
        /// </summary>
        public string BackupFileName = null;
        /// <summary>
        /// PageSetting
        /// </summary>
        public PageSettingInfo PageSetting = new PageSettingInfo();
    }
    /// <summary>
    /// 文件数据
    /// </summary>
    public class FileInfoData
    {
        /// <summary>
        /// BackupFileName
        /// </summary>
        public string BackupFileName = string.Empty;
        /// <summary>
        /// BackupFileContent
        /// </summary>
        public byte[] BackupFileContent;
    }
    /// <summary>
    /// 添加备份名字的启动参数
    /// </summary>
    public class AddBackUpNamePra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Shared.Common.Config.Instance.Home.Id;
        /// <summary>
        /// BackupName
        /// </summary>
        public string BackupName = "";
        /// <summary>
        /// 手动备份类型(0:App手动备份,2:网关手动备份)
        /// </summary>
        public int ManualBackupType = 0;
        /// <summary>
        /// 网关的唯一Id,当ManualBackupType=2时,此值不能为空!
        /// </summary>
        public string GatewayUniqueId = null;
    }
    /// <summary>
    /// 添加备份名字的启动参数
    /// </summary>
    public class EditorBackUpNamePra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Shared.Common.Config.Instance.Home.Id;
        /// <summary>
        /// BackupName
        /// </summary>
        public string BackupName = "";
        /// <summary>
        /// BackupClassId
        /// </summary>
        public string BackupClassId = "";
    }
    /// <summary>
    /// 添加备份名字的结果
    /// </summary>
    public class AddBackupNameResult
    {
        /// <summary>
        /// BackupClassId
        /// </summary>
        public string BackupClassId = "";
    }
    /// <summary>
    /// 上传数据的启动参数
    /// </summary>
    public class UpLoadDataPra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Shared.Common.Config.Instance.Home.Id;
        /// <summary>
        /// BackupClassId
        /// </summary>
        public string BackupClassId = "";
        /// <summary>
        /// 手动备份类型(0:App手动备份,2:网关手动备份)
        /// </summary>
        public int ManualBackupType = 0;
        /// <summary>
        /// UploadSubFileLists
        /// </summary>
        public List<FileInfoData> UploadSubFileLists = new List<FileInfoData>();
    }
    /// <summary>
    /// 删除文件的启动参数
    /// </summary>
    public class DeleteFilePra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Shared.Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Shared.Common.Config.Instance.Home.Id;
        /// <summary>
        /// BackupClassId
        /// </summary>
        public string BackupClassId = "";
        /// <summary>
        /// 删除的文件名字
        /// </summary>
        public List<string> DeleteFileNameLists = new List<string>();
    }
    /// <summary>
    /// 页数数据
    /// </summary>
    public class PageSettingInfo
    {
        /// <summary>
        /// Page
        /// </summary>
        public int Page = 1;
        /// <summary>
        /// PageSize
        /// </summary>
        public int PageSize = 0;
    }
    #endregion
    #region ■ 设备报警类__________________________
    /// <summary>
    /// 设备报警信息类
    /// </summary>
    public class DeviceAlarmInfo
    {
        /// <summary>
        /// 房间名字
        /// </summary>
        public string RoomName = string.Empty;
        /// <summary>
        /// 设备的MAC地址(映射用)
        /// </summary>
        public string DeviceAddr = string.Empty;
        /// <summary>
        /// 设备的端口号(映射用)
        /// </summary>
        public int DeviceEpoint = 0;
        /// <summary>
        /// 设备名称(优先使用映射,如果映射不到的时候,则使用此变量)
        /// </summary>
        public string DeviceName = string.Empty;
        /// <summary>
        /// 报警信息
        /// </summary>
        public string AlarmMsg = string.Empty;
        /// <summary>
        /// 电池报警信息
        /// </summary>
        public string BatteryMsg = null;
        /// <summary>
        /// 被拆报警信息
        /// </summary>
        public string DemolishmentMsg = null;
        /// <summary>
        /// 上报时间(hh:mm:ss)
        /// </summary>
        public string Time = string.Empty;
        /// <summary>
        /// 2020.04.13追加新分类 1:一般报警 9000:门锁常开模式报警
        /// </summary>
        public int MsgDiv = 1;
    }
    #endregion
    #region ■ 安防报警类__________________________
    /// <summary>
    /// 安防报警信息类
    /// </summary>
    public class SafeguardAlarmInfo: DeviceAlarmInfo
    {
        /// <summary>
        /// 上报类型
        /// </summary>
        public SafeguardAlarmType AlarmType = SafeguardAlarmType.None;
        /// <summary>
        /// 防区ID(映射用)
        /// </summary>
        public int ZoneId = 0;
    }
    /// <summary>
    /// 传感器上报的数据的翻译信息
    /// </summary>
    public class IASZoneReportInfo
    {
        /// <summary>
        /// 报警信息
        /// </summary>
        public string AlarmMsg = string.Empty;
        /// <summary>
        /// 电池报警信息
        /// </summary>
        public string BatteryMsg = null;
        /// <summary>
        /// 被拆报警信息
        /// </summary>
        public string DemolishmenMsg = null;
    }
    #endregion
    #region ■ 设备类型类__________________________
    /// <summary>
    /// 设备类型的信息
    /// </summary>
    public class DeviceEnumInfo
    {
        /// <summary>
        /// 是否是河东的设备
        /// </summary>
        public bool IsHdlDevice = true;
        /// <summary>
        /// 设备的官方名字
        /// </summary>
        public string ConcreteText = string.Empty;
        /// <summary>
        /// 设备的具体类型
        /// </summary>
        public DeviceConcreteType ConcreteType = DeviceConcreteType.UnKownDevice;
        /// <summary>
        /// 设备所属类型的翻译名字
        /// </summary>
        public string BeloneText = string.Empty;
        /// <summary>
        /// 设备所属类型
        /// </summary>
        public DeviceBeloneType BeloneType = DeviceBeloneType.A未知设备;
        /// <summary>
        /// 设备的默认备注翻译名字
        /// </summary>
        public string DeviceDefultName = string.Empty;
        /// <summary>
        /// 设备的类型翻译名字
        /// </summary>
        public string ObjectTypeName = string.Empty;
    }
    #endregion
    #region ■ 分享类型类__________________________
    /// <summary>
    /// 成员的分享信息
    /// </summary>
    public class MemberShardInfoData
    {
        /// <summary>
        /// 全部的分享文件的主键(keys:文件名  value:主键)
        /// </summary>
        public Dictionary<string, string> dicAllShardKeys = new Dictionary<string, string>();
        /// <summary>
        /// 分享房间的对象(它是从云端来的,keys:文件名)
        /// </summary>
        public Dictionary<string, Room> dicShardRoom = new Dictionary<string, Common.Room>();
        /// <summary>
        /// 分享的楼层
        /// </summary>
        public Dictionary<string, string> dicShardFloor = new Dictionary<string, string>();
        /// <summary>
        /// 临时变量(这个东西为null,即不是新分享的房间,否则是新分享的房间。用完记得置空)
        /// </summary>
        public Room TempRoom = null;
        /// <summary>
        /// 是否需要刷新
        /// </summary>
        public bool Refresh = true;
        /// <summary>
        /// 子账号的主键
        /// </summary>
        public string SubAccountDistributedMark = string.Empty;
    }
    /// <summary>
    /// 接收分享数据的内容
    /// </summary>
    public class GetShardInfoResult
    {
        /// <summary>
        /// DistributedMark
        /// </summary>
        public string DistributedMark = string.Empty;
        /// <summary>
        /// 住宅ID
        /// </summary>
        public string HouseDistributedMark = Common.Config.Instance.Home.Id;
        /// <summary>
        /// 分享名称
        /// </summary>
        public string ShareName = string.Empty;
        /// <summary>
        /// 更新时间
        /// </summary>
        public string TimeSpan = string.Empty;
        /// <summary>
        /// 分享内容
        /// </summary>
        public byte[] ShareDataBytes = null;
    }
    #endregion
    #region ■ 管理员权限操作类____________________
    /// <summary>
    /// 成员管理员权限操作类
    /// </summary>
    public class MemberAdministratorResult
    {
        /// <summary>
        /// 请求控制主帐号此住宅时请求基地址
        /// </summary>
        public string RequestBaseUrl = string.Empty;
        /// <summary>
        /// 请求控制主帐号此住宅时请求基地址的LoginAccessToken的值
        /// </summary>
        public string RequestToken = string.Empty;
    }
    /// <summary>
    /// 成员管理员权限远程操作类
    /// </summary>
    public class MemberAdministratorMqttResult
    {
        /// <summary>
        /// 远程控制分享住宅Mqtt连接地址
        /// </summary>
        public string ZigbeeMqttBrokerLoadSubDomain = string.Empty;
        /// <summary>
        /// 远程控制分享住宅MqttClientId
        /// </summary>
        public string ConnectZigbeeMqttClientId = string.Empty;
        /// <summary>
        /// 远程控制分享住宅密码
        /// </summary>
        public string ConnectZigbeeMqttBrokerPwd = string.Empty;
        /// <summary>
        /// 远程控制通信16位AES密钥
        /// </summary>
        public string MqttKey = string.Empty;
        /// <summary>
        /// 应该叫远程连接的名字吧
        /// </summary>
        public string ConnectZigbeeMqttBrokerName = string.Empty;
    }
    #endregion
    #region ■ 住宅信息类__________________________
    /// <summary>
    ///  编辑住宅的启动参数
    /// </summary>
    public class EditorResidencePra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = "";
        /// <summary>
        /// Name
        /// </summary>
        public string Name = string.Empty;
        /// <summary>
        /// 经度
        /// </summary>
        public double Longitude = 0;
        /// <summary>
        /// 纬度
        /// </summary>
        public double Latitude = 0;
    }
    #endregion
    #region ■ 消息管理类__________________________
    /// <summary>
    /// 获取消息记录的请求参数
    /// </summary>
    public class MessageInfoPra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Common.Config.Instance.Home.Id;
        /// <summary>
        /// 主题
        /// </summary>
        public string Topic = null;
        /// <summary>
        /// 开始时间
        /// </summary>
        public string BeginTime = null;
        /// <summary>
        /// 结束时间
        /// </summary>
        public string EndTime = null;
        /// <summary>
        /// 页数
        /// </summary>
        public PageSettingInfo PageSetting = new PageSettingInfo();
        public MessageInfoPra()
        {
            PageSetting.PageSize = 50;
        }
    }
    /// <summary>
    /// 消息中心的结果返回值
    /// </summary>
    public class MessageCentetInfo
    {
        /// <summary>
        /// 列表数据
        /// </summary>
        public List<MessageRecordInfo> PageData = null;
        /// <summary>
        /// PageIndex
        /// </summary>
        public int PageIndex = 0;
        /// <summary>
        /// PageSize
        /// </summary>
        public int PageSize = 0;
        /// <summary>
        /// TotalCount
        /// </summary>
        public int TotalCount = 0;
        /// <summary>
        /// TotalPages
        /// </summary>
        public int TotalPages = 0;
        /// <summary>
        /// HasPreviousPage
        /// </summary>
        public bool HasPreviousPage = false;
        /// <summary>
        /// HasNextPage
        /// </summary>
        public bool HasNextPage = false;
    }
    /// <summary>
    /// 信息结果
    /// </summary>
    public class MessageRecordInfo
    {
        /// <summary>
        /// 主键
        /// </summary>
        public string Id = string.Empty;
        /// <summary>
        /// 主题
        /// </summary>
        public string Topic = string.Empty;
        /// <summary>
        /// 网关上报的json
        /// </summary>
        public string PayloadJson = string.Empty;
        /// <summary>
        /// 是否已读
        /// </summary>
        public bool IsReading = false;
        /// <summary>
        /// 是否已读(listMsg匹配,对应一条数据里面包含多个报警)
        /// </summary>
        public List<bool> ListReading = new List<bool>();
        /// <summary>
        /// 时间 2019-09-10T13:11:55
        /// </summary>
        public string CreatedOnUtc = string.Empty;
        /// <summary>
        /// 图片地址
        /// </summary>
        public string IconPath = string.Empty;
        /// <summary>
        /// 消息类型
        /// </summary>
        public string MsgObjectText = string.Empty;
        /// <summary>
        /// 消息文本(对应一条数据里面包含多个报警)
        /// </summary>
        public List<string> listMsg = new List<string>();
    }
    /// <summary>
    /// 设置消息已读状态的启动参数
    /// </summary>
    public class MessageReadStatuPra : IfacePraCommon
    {
        /// <summary>
        /// RequestVersion
        /// </summary>
        public string RequestVersion = Common.CommonPage.RequestVersion;
        /// <summary>
        /// LoginAccessToken
        /// </summary>
        public string LoginAccessToken = Common.Config.Instance.Token;
        /// <summary>
        /// ZigbeeHomeId
        /// </summary>
        public string HomeId = Common.Config.Instance.Home.Id;
        /// <summary>
        /// ID
        /// </summary>
        public string Id = string.Empty;
        /// <summary>
        /// 已读状态
        /// </summary>
        public bool IsReading = true;
        /// <summary>
        /// 0:标记全部已读、1:清空所有消息
        /// </summary>
        public int TagAllOrClearType = 0;
    }
    #endregion
    #region ■ 隐匿功能类__________________________
    /// <summary>
    /// 隐匿功能
    /// </summary>
    public class HideOptionInfo
    {
        /// <summary>
        /// 是否显示主页隐藏菜单(Debug用): 1 -> 显示
        /// </summary>
        public int CenterHideMenu = 0;
        /// <summary>
        /// 是否出力详细Log 1 -> 出力
        /// </summary>
        public int DetailedLog = 0;
        /// <summary>
        /// 显示设备历史版本 1 -> 显示
        /// </summary>
        public int DeviceHistory = 0;
        /// <summary>
        /// 检测能否广播得到网关 1->开启
        /// </summary>
        public int CheckCanReceiveGateway = 0;
        /// <summary>
        /// 强制跳转真实设备界面 1->设备列表强制跳转
        /// </summary>
        public int GotoRealDeviceForm = 0;
        /// <summary>
        /// 强制跳转网关产品界面 1->网关列表强制跳转
        /// </summary>
        public int GotoGatewayProductInfoForm = 0;
        /// <summary>
        /// 自动化常开时间变更为分钟,而不是小时 1->强制变更为分钟
        /// </summary>
        public int DoorLockNomallyOpenTimeMode = 0;
        /// <summary>
        /// 是否将发送及接收到的数据写入到Log中 1->写入
        /// </summary>
        public int WriteSendAndReceveDataToFile = 0;
        /// <summary>
        /// 是否将SocketReceive的数据写入到Log中 1->写入
        /// </summary>
        public int WriteSocketReceiveDataToFile = 0;
        /// <summary>
        /// 是否开启调试App功能 1->开启
        /// </summary>
        public int StartDebugApp = 0;
        /// <summary>
        /// 当设备Type不一样时,是否生成Log 1->生成
        /// </summary>
        public int CheckDeviceType = 0;
        /// <summary>
        /// 是否使用以前旧的设备列表获取方式 1->使用
        /// </summary>
        public int UseOldSearchDeviceMethord = 0;
        /// <summary>
        /// 是否记录上报的gbs坐标 1->记录
        /// </summary>
        public int WriteGpsPoint = 0;
    }
    #endregion
    #region ■ 门锁的报警结果______________________
    /// <summary>
    /// 门锁的报警结果
    /// </summary>
    public class DoorLockAlarmsResult
    {
        /// <summary>
        /// 报警类型
        /// </summary>
        public int AlarmCode = -1;
        /// <summary>
        /// Clusterid
        /// </summary>
        public int Clusterid = -1;
    }
    #endregion
    #region ■ 自动化推送结果______________________
    /// <summary>
    /// 自动化推送内容
    /// </summary>
    public class LogicPushResult
    {
        /// <summary>
        /// 自动化ID
        /// </summary>
        public int LogicId = -1;
        /// <summary>
        /// 自动化名称
        /// </summary>
        public string LogicName = string.Empty;
        /// <summary>
        /// 自动化推送内容
        /// </summary>
        public string LogicCustomPushText = string.Empty;
        /// <summary>
        /// 门锁常开模式数据(自动化推送)
        /// </summary>
        public DoorNormallyOpenData ActionData = null;
    }
    /// <summary>
    /// 门锁常开模式数据(自动化推送)
    /// </summary>
    public class DoorNormallyOpenData
    {
        /// <summary>
        /// 8:常开模式的数据
        /// </summary>
        public int Actiontype = -1;
        /// <summary>
        /// 门锁Mac地址
        /// </summary>
        public string MacStr = string.Empty;
        /// <summary>
        /// 门锁端口号
        /// </summary>
        public int Epoint = -1;
        /// <summary>
        /// 设置自动化时,发送的透传数据 055704010112:常开模式打开  055704010113:常开模式关闭
        /// </summary>
        public string PassDataString = string.Empty;
    }
    #endregion
    #region ■ 网关回复接收类______________________
    /// <summary>
    /// 网关回复接收类
    /// </summary>
    public class ReceiptGatewayResult
    {
        /// <summary>
        /// 错误消息,如果没有错误,则为null(网关超时也为null)
        /// </summary>
        public string ErrorMsg = null;
        /// <summary>
        /// 错误消息的类型 -1:网关对象丢失 0:超时网关没有回复  1:正常
        /// </summary>
        public int ErrorMsgDiv = 1;
        /// <summary>
        /// 接收的Data数据
        /// </summary>
        public string ReceiptData = null;
        /// <summary>
        /// 接收的数据(多个返回主题专用)
        /// </summary>
        public string[] listReceiptData = null;
        /// <summary>
        /// 这个是网关回复的整个json数据,个数与listReceiptData一致
        /// </summary>
        public string[] JsonData = null;
    }
    #endregion
}