黄学彪
2020-12-16 0d9f64668fd7350d6a21fd157e32009a96d98134
ZigbeeApp/Shared/Phone/Common/Common/CommonClass.cs
File was renamed from ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/UserCenterCommon.cs
@@ -2,7 +2,7 @@
using System;
using System.Collections.Generic;
namespace Shared.Phone.UserCenter
namespace Shared.Phone
{
    #region ■ 共通类______________________________
@@ -11,10 +11,6 @@
    /// </summary>
    public class IfacePraCommon
    {
        /// <summary>
        /// 是否是子账号进行操作
        /// </summary>
        public bool IsOtherAccountCtrl = Common.Config.Instance.Home.IsOthreShare;
    }
    #endregion
@@ -28,70 +24,34 @@
        /// <summary>
        /// 登陆账号
        /// </summary>
        public string Account = Common.Config.Instance.Account;
        public string Account = string.Empty;
        /// <summary>
        /// 用户昵称
        /// </summary>
        public string UserName = string.Empty;
        public string NickName = string.Empty;
        /// <summary>
        /// 邮箱
        /// </summary>
        public string UserEmail = string.Empty;
        /// <summary>
        /// 手机号
        /// </summary>
        public string UserPhone = string.Empty;
        /// <summary>
        /// 地区码
        /// </summary>
        public string PhoneAreaCode = "86";
        /// <summary>
        /// 记录上一次的用户昵称(给个人中心修改昵称时用的)
        /// </summary>
        [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>
@@ -105,42 +65,9 @@
        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>
    /// 获取成员信息的结果
@@ -148,29 +75,65 @@
    public class MemberInfoRes
    {
        /// <summary>
        /// 账号
        /// 子账号的邮箱
        /// </summary>
        public string Account = string.Empty;
        public string ChildAccountEmail = string.Empty;
        /// <summary>
        /// 账号昵称
        /// 子账号的手机号
        /// </summary>
        public string UserName = string.Empty;
        public string ChildAccountPhone = string.Empty;
        /// <summary>
        /// SubAccountDistributedMark
        /// 子账号ID(也就是主键)
        /// </summary>
        public string SubAccountDistributedMark = string.Empty;
        public string ChildAccountId = string.Empty;
        /// <summary>
        /// DistributedMark
        /// </summary>
        public string DistributedMark = string.Empty;
        /// <summary>
        /// AccountType
        /// 子账号身份 0:普通成员 1:管理员
        /// </summary>
        public int AccountType = 0;
        /// <summary>
        /// 请用AccountType来判断,不要用这个 ORDINARY:普通成员   DEBUG:调试人员   ADMIN:管理员
        /// </summary>
        public string ChildAccountType = string.Empty;
        /// <summary>
        /// 子账号自己的昵称,添加子账号时,接口并不返回这些东西,需要手动赋值(请使用ShowName)
        /// </summary>
        public string ChildNickName = string.Empty;
        /// <summary>
        /// 是否拥有远程控制权限
        /// </summary>
        public bool IsAllowRemoteCtrl = false;
        public bool IsRemoteControl = false;
        /// <summary>
        /// 主账号备注子账号的昵称(请使用ShowName)
        /// </summary>
        public string NickName = string.Empty;
        /// <summary>
        /// 显示在界面上的名字
        /// </summary>
        public string ShowName
        {
            get
            {
                if (string.IsNullOrEmpty(NickName) == false) { return NickName; }
                if (string.IsNullOrEmpty(ChildNickName) == false) { return ChildNickName; }
                if (string.IsNullOrEmpty(ChildAccountPhone) == false) { return ChildAccountPhone; }
                return ChildAccountEmail;
            }
        }
        /// <summary>
        /// 账号(优先使用手机号)
        /// </summary>
        public string Account
        {
            get
            {
                if (string.IsNullOrEmpty(ChildAccountPhone) == false)
                {
                    return ChildAccountPhone;
                }
                return ChildAccountEmail;
            }
        }
    }
    /// <summary>
@@ -179,25 +142,29 @@
    public class AccountInfoResult
    {
        /// <summary>
        /// 账号(这个东西接口不会返回,需手动赋值)
        /// 账号(如果是长度为0的字符串,则代表这个账号在云端不存在)
        /// </summary>
        public string Account = string.Empty;
        /// <summary>
        /// 账号的id(应该是主键)
        /// </summary>
        public string MemberId = string.Empty;
        /// <summary>
        /// 用户昵称
        /// </summary>
        public string UserName = string.Empty;
        public string MemberName = string.Empty;
        /// <summary>
        /// DistributedMark
        /// 地区码
        /// </summary>
        public string DistributedMark = string.Empty;
        public string MemberPhonePrefix = string.Empty;
        /// <summary>
        /// 邮箱
        /// </summary>
        public string Email = string.Empty;
        public string MemberEmail = string.Empty;
        /// <summary>
        /// 手机号
        /// </summary>
        public string Phone = string.Empty;
        public string MemberPhone = string.Empty;
        /// <summary>
        /// 头像数据
        /// </summary>
@@ -283,37 +250,30 @@
    }
    /// <summary>
    /// 从接口获取网关列表的结果
    /// </summary>
    public class GetGatewayResult
    {
        /// <summary>
        /// 网关列表
        /// </summary>
        public List<GatewayResult> PageData = new List<GatewayResult>();
    }
    /// <summary>
    /// 网关ID结果
    /// </summary>
    public class GatewayResult
    {
        /// <summary>
        /// 网关ID
        /// 这个是网关的MacMark
        /// </summary>
        public string GatewayUniqueId = string.Empty;
        public string Id = string.Empty;
        /// <summary>
        /// 云端远程在线状态
        /// 这个是网关ID
        /// </summary>
        public string Mac = string.Empty;
        /// <summary>
        /// 云端远程在线状态 //☆マーク☆
        /// </summary>
        public bool MqttOnlineStatus = false;
        /// <summary>
        /// 与此网关在云端Emq通信时,负载加解的16位Aes密钥
        /// </summary>
        public string AesKey;
        public string AesKey = string.Empty;
        /// <summary>
        /// 网关对应的唯一码
        /// 网关类型(云端返回的东西,判断时,固定使用 ZIGBEEGATEWAY)
        /// </summary>
        public string MacMark;
        public string GatewayType = string.Empty;
    }
    /// <summary>
@@ -394,7 +354,7 @@
        /// <summary>
        /// APP的登陆ID
        /// </summary>
        public string AppAccount = Shared.Common.Config.Instance.Account;
        public string AppAccount = Config.Instance.Account;
        /// <summary>
        /// 页数
        /// </summary>
@@ -599,60 +559,34 @@
    }
    /// <summary>
    /// 获取备份列表名的结果
    /// </summary>
    public class GetBackupListResult
    {
        /// <summary>
        /// PageData
        /// </summary>
        public List<BackupListNameInfo> PageData = new List<BackupListNameInfo>();
    }
    /// <summary>
    /// 备份列表名的信息
    /// </summary>
    public class BackupListNameInfo
    {
        /// <summary>
        /// BackupName
        /// 备份数据分类
        /// 1.INTERACTIVE_ENGINEERING_BACKUP[交互工程备份]
        /// 2.CUSTOM_PROJECT_BACKUP[自定义工程备份]
        /// 3.AUTOMATIC_USER_BACKUP[用户自动备份]
        /// 4.USER_DEFINED_BACKUP[用户自定义备份]
        /// </summary>
        public string BackupName = string.Empty;
        public string BackupClassify = string.Empty;
        /// <summary>
        /// ZigbeeUniqueId
        /// 备份数据类型 1.HDL_ON 2.ZIGBEE 3.ZIGBEE_HOME 4.HDL_ON_PRO 5.BUSPRO
        /// </summary>
        public string GatewayUniqueId = string.Empty;
        public string BackupDataType = string.Empty;
        /// <summary>
        /// 备份名字
        /// </summary>
        public string FolderName = string.Empty;
        /// <summary>
        /// Id
        /// </summary>
        public string Id = "";
        public string Id = string.Empty;
        /// <summary>
        /// CreatedOnUtc
        /// 更新时间(13位的时间戳)
        /// </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;
        public string ModifyTime = string.Empty;
    }
    /// <summary>
@@ -661,17 +595,17 @@
    public class LoadBackupFileNameInfo
    {
        /// <summary>
        /// BackupFileName
        /// 文件名字
        /// </summary>
        public string BackupFileName = string.Empty;
        public string FileName = string.Empty;
        /// <summary>
        /// Id
        /// </summary>
        public string Id = "";
        public string Id = string.Empty;
        /// <summary>
        /// CreatedOnUtc
        /// 更新时间,13位的时间戳
        /// </summary>
        public string CreatedOnUtc = string.Empty;
        public string ModifyTime = string.Empty;
    }
@@ -793,9 +727,9 @@
    public class AddBackupNameResult
    {
        /// <summary>
        /// BackupClassId
        /// 备份主键
        /// </summary>
        public string BackupClassId = "";
        public string Id = "";
    }
    /// <summary>
@@ -1000,37 +934,6 @@
    #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
@@ -1137,6 +1040,58 @@
        /// </summary>
        public double Latitude = 0;
    }
    /// <summary>
    /// 住宅信息
    /// </summary>
    public class ResidenceInformation
    {
        /// <summary>
        /// 住宅ID
        /// </summary>
        public string Id = string.Empty;
        /// <summary>
        /// 住宅名称
        /// </summary>
        public string HomeName = string.Empty;
        /// <summary>
        /// 更新的utc时间 13位
        /// </summary>
        public string ModifyTime = string.Empty;
        /// <summary>
        /// 是否为其他主用户分享过来的住宅
        /// </summary>
        public bool IsOtherShare = false;
        /// <summary>
        /// 仅子账号登陆的时候使用,当【IsOthreShare】为"true",并且【AccountType】为【ADMIN】时,该账号拥有管理员权限
        /// </summary>
        public string AccountType = "ORDINARY";
        /// <summary>
        /// 经度
        /// </summary>
        public double Longitude = 0;
        /// <summary>
        /// 纬度
        /// </summary>
        public double Latitude = 0;
        /// <summary>
        /// emq url
        /// </summary>
        public string EmqUrl = string.Empty;
        /// <summary>
        /// 住宅类型 可用值:ZIGBEE,BUSPRO,A,ALL
        /// </summary>
        public string HomeType = string.Empty;
        /// <summary>
        /// 是否绑定有网关
        /// </summary>
        public bool IsBindGateway = false;
        /// <summary>
        /// 是否拥有远程控制权限
        /// </summary>
        public bool IsRemoteControl = false;
    }
    #endregion
    #region ■ 消息管理类__________________________
@@ -1228,23 +1183,21 @@
        /// <summary>
        /// 主题
        /// </summary>
        public string Topic = string.Empty;
        public string MessageTitle = string.Empty;
        /// <summary>
        /// 网关上报的json
        /// </summary>
        public string PayloadJson = string.Empty;
        public string MessageExpand = string.Empty;
        /// <summary>
        /// 是否已读
        /// </summary>
        public bool IsReading = false;
        public bool IsRead = false;
        /// <summary>
        /// 是否已读(listMsg匹配,对应一条数据里面包含多个报警)
        /// 时间(13位数)
        /// </summary>
        public List<bool> ListReading = new List<bool>();
        /// <summary>
        /// 时间 2019-09-10T13:11:55
        /// </summary>
        public string CreatedOnUtc = string.Empty;
        public string CreateTime = string.Empty;
        /// <summary>
        /// 图片地址
        /// </summary>
@@ -1253,6 +1206,10 @@
        /// 消息类型
        /// </summary>
        public string MsgObjectText = string.Empty;
        /// <summary>
        /// 是否已读(listMsg匹配,对应一条数据里面包含多个报警)
        /// </summary>
        public List<bool> ListReading = new List<bool>();
        /// <summary>
        /// 消息文本(对应一条数据里面包含多个报警)
        /// </summary>
@@ -1373,6 +1330,57 @@
    #endregion
    #region ■ 门锁的记录结果______________________
    /// <summary>
    /// 门锁历史记录的结果
    /// </summary>
    public class DoorHistoryLogInfo
    {
        /// <summary>
        /// <para>开锁方式 0:密码  13:静脉纹  14:人脸识别  15:指纹  3:IC卡</para>
        /// <para>9000:门锁直接推给App的常开模式 9001:常开打开 9002:常开取消 9003:常开持续 9004:常开自动化手动取消</para>
        /// </summary>
        public int UnLockMode = -1;
        /// <summary>
        /// 开锁时间(13位数)
        /// </summary>
        public string UnlockTime = string.Empty;
        /// <summary>
        /// 开锁是否成功
        /// </summary>
        public bool IsUnlockSuccess = false;
        /// <summary>
        /// 账号的ID
        /// </summary>
        public string UserId = string.Empty;
        /// <summary>
        /// 常开持续时间(1~72小时 OtherOpenLockMode=9003的时候有效)
        /// </summary>
        public string NormallyOpenContinuedTime = string.Empty;
        //以下是自己手动填写
        /// <summary>
        /// 当开锁方式为-1时使用,它属于其他类
        /// </summary>
        public string AlarmMsg = string.Empty;
        /// <summary>
        /// 当开锁方式为-1时使用,设备Mac
        /// </summary>
        public string DeviceMac = string.Empty;
        /// <summary>
        /// 当开锁方式为-1时使用,设备端点
        /// </summary>
        public int DeviceEpoint = 0;
        /// <summary>
        /// 当开锁方式为-1时使用,消息的数据库主键
        /// </summary>
        public string MsgKeyId = string.Empty;
    }
    #endregion
    #region ■ 自动化推送结果______________________
    /// <summary>
@@ -1453,4 +1461,19 @@
    }
    #endregion
    #region ■ 一般类______________________________
    /// <summary>
    /// 接收ID的东西
    /// </summary>
    public class IdInfoClass
    {
        /// <summary>
        /// ID
        /// </summary>
        public string Id = string.Empty;
    }
    #endregion
}