From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3

---
 ZigbeeApp/Shared/Phone/ZigBee/Common/Config.cs |  390 ++++++++++++++++++-------------------------------------
 1 files changed, 129 insertions(+), 261 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Common/Config.cs b/ZigbeeApp/Shared/Phone/ZigBee/Common/Config.cs
index 84ce50c..310e1f3 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Common/Config.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Common/Config.cs
@@ -5,283 +5,99 @@
 {
     [System.Serializable]
     public class Config
-    {
-        static readonly string fileName = "Config.json";
-        static Config config;
-        public static Config Instance
-        {
-            get
-            {
-                if (config == null)
-                {
-                    ReFresh();
-                }
-                return config;
-            }
-        }
-        /// <summary>
-        /// 璐︽埛鐧诲綍鎴愬姛鐨凪qttKey
-        /// </summary>
-        public string MqttKey
-        {
-            get
-            {
-                if (Phone.UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 2
-                    || Phone.UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 3)
-                {
-                    return AdminMqttKey;
-                }
-                return MeMqttKey;
-            }
-            set { MeMqttKey = value; }
-        }
-        /// <summary>
-        /// 褰撳墠闇�瑕佽繛鎺ヤ簯绔痁igbeeMqttBroker鐨勮繛鎺ュ湴鍧�
-        /// </summary>
-        public string ZigbeeMqttBrokerLoadSubDomain
-        {
-            get
-            {
-                if (Phone.UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 2
-                    || Phone.UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 3)
-                {
-                    return AdminZigbeeMqttBrokerLoadSubDomain;
-                }
-                return MeZigbeeMqttBrokerLoadSubDomain;
-            }
-            set { MeZigbeeMqttBrokerLoadSubDomain = value; }
-        }
-        /// <summary>
-        /// 褰撳墠闇�瑕佽繛鎺ヤ簯绔痁igbeeMqttBroker鐨勮繛鎺ョ殑ClientId
-        /// </summary>
-        public string ConnectZigbeeMqttClientId
-        {
-            get
-            {
-                if (Phone.UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 2
-                    || Phone.UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 3)
-                {
-                    return AdminConnectZigbeeMqttClientId;
-                }
-                return MeConnectZigbeeMqttClientId;
-            }
-            set { MeConnectZigbeeMqttClientId = value; }
-        }
-        /// <summary>
-        /// 褰撳墠闇�瑕佽繛鎺ヤ簯绔痁igbeeMqttBroker鐨勮繛鎺ョ殑瀵嗙爜
-        /// </summary>
-        public string ConnectZigbeeMqttBrokerPwd
-        {
-            get
-            {
-                if (Phone.UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 2
-                    || Phone.UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 3)
-                {
-                    return AdminConnectZigbeeMqttBrokerPwd;
-                }
-                return MeConnectZigbeeMqttBrokerPwd;
-            }
-            set { MeConnectZigbeeMqttBrokerPwd = value; }
-        }
-        /// <summary>
-        /// 褰撳墠闇�瑕佽繛鎺ヤ簯绔痁igbeeMqttBroker鐨勮繛鎺ョ殑瀵嗙爜
-        /// </summary>
-        public string ConnectZigbeeMqttBrokerName
-        {
-            get
-            {
-                if (Phone.UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 2
-                    || Phone.UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 3)
-                {
-                    return AdminConnectZigbeeMqttBrokerName;
-                }
-                return Config.Instance.Account;
-            }
-        }
-        /// <summary>
-        /// 褰撳墠闇�瑕佽繛鎺ヤ簯绔痁igbeeMqttBroker鐨勮繛鎺ョ殑瀵嗙爜
-        /// </summary>
-        public string ConnectGuid
-        {
-            get
-            {
-                if (Phone.UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 2
-                    || Phone.UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 3)
-                {
-                    return AdminConnectZigbeeMqttBrokerName;
-                }
-                return Config.Instance.Guid;
-            }
-        }
+    {
+        #region 鈻� 闇�瑕佷繚瀛樼殑鍙橀噺_____________________
 
-        /// <summary>
-        /// 璐︽埛鐧诲綍鎴愬姛鐨凪qttKey
-        /// </summary>
-        private string MeMqttKey = string.Empty;
-        /// <summary>
-        /// 褰撳墠闇�瑕佽繛鎺ヤ簯绔痁igbeeMqttBroker鐨勮繛鎺ュ湴鍧�
-        /// </summary>
-        private string MeZigbeeMqttBrokerLoadSubDomain = string.Empty;
-        /// <summary>
-        /// 褰撳墠闇�瑕佽繛鎺ヤ簯绔痁igbeeMqttBroker鐨勮繛鎺ョ殑ClientId
-        /// </summary>
-        private string MeConnectZigbeeMqttClientId = string.Empty;
-        /// <summary>
-        /// 褰撳墠闇�瑕佽繛鎺ヤ簯绔痁igbeeMqttBroker鐨勮繛鎺ョ殑瀵嗙爜
-        /// </summary>
-        [Newtonsoft.Json.JsonIgnore]
-        private string MeConnectZigbeeMqttBrokerPwd = string.Empty;
-        /// <summary>
-        /// 璐︽埛鐧诲綍鎴愬姛鐨凪qttKey(绠$悊鍛樿韩浠界敤)
-        /// </summary>
-        public string AdminMqttKey = string.Empty;
-        /// <summary>
-        /// 褰撳墠闇�瑕佽繛鎺ヤ簯绔痁igbeeMqttBroker鐨勮繛鎺ュ湴鍧�(绠$悊鍛樿韩浠界敤)
-        /// </summary>
-        public string AdminZigbeeMqttBrokerLoadSubDomain = string.Empty;
-        /// <summary>
-        /// 褰撳墠闇�瑕佽繛鎺ヤ簯绔痁igbeeMqttBroker鐨勮繛鎺ョ殑ClientId(绠$悊鍛樿韩浠界敤)
-        /// </summary>
-        public string AdminConnectZigbeeMqttClientId = string.Empty;
         /// <summary>
-        /// 搴旇鏄彨杩滅▼杩炴帴鐨勫悕瀛楀惂
+        /// 褰撳墠璐﹀彿锛氬埛鏂癟oken鐢ㄧ殑token(涓嶇敤璁板綍浠�涔堟湁鏁堟湡,濡傛灉鍒锋柊澶辫触,灏辫涪浜哄嵆鍙�)
         /// </summary>
-        public string AdminConnectZigbeeMqttBrokerName = string.Empty;
-        /// <summary>
-        /// 褰撳墠闇�瑕佽繛鎺ヤ簯绔痁igbeeMqttBroker鐨勮繛鎺ョ殑瀵嗙爜(绠$悊鍛樿韩浠界敤)
+        public string RefreshToken = string.Empty;
+        /// <summary>
+        /// 灏嗘瀬鍏塈D鍙戠粰浜戠涔嬪悗,浜戠杩斿洖鐨凾oken
         /// </summary>
-        [Newtonsoft.Json.JsonIgnore]
-        public string AdminConnectZigbeeMqttBrokerPwd = string.Empty;
-
-        /// <summary>
-        /// 鏈嶅姟鍣ㄦ敞鍐孖D
-        /// </summary>
-        public string RegistrationID = string.Empty;
-
+        public string PushId = string.Empty;
         /// <summary>
         /// 璐︽埛鐧诲綍鎴愬姛鏃剁殑鏃堕棿
         /// </summary>
-        public DateTime LoginDateTime = DateTime.MinValue;
+        public DateTime LoginDateTime = DateTime.MinValue;
         /// <summary>
-        /// Gets a value indicating whether this <see cref="T:Shared.Common.Config"/> is login.
+        /// 褰撳墠鐧诲綍鐨勫笎鍙�
         /// </summary>
-        /// <value><c>true</c> if is login; otherwise, <c>false</c>.</value>
-        public bool IsLogin
+        public string Account = string.Empty;
+        /// <summary>
+        /// 娣诲姞鍒癟oken澶撮儴鐨勪笢瑗�(涓嶈鐞嗗畠,鍙粰搴曞眰浣跨敤)
+        /// </summary>
+        public string HeaderPrefix = string.Empty;
+        /// <summary>
+        /// 鐧婚檰璐﹀彿鐨凣uid,涔熸槸璐﹀彿鐨剈serId
+        /// </summary>
+        public string Guid = string.Empty;
+        /// <summary>
+        /// 褰撳墠鐨勪綇瀹匢D
+        /// </summary>
+        public string HomeId = string.Empty;
+        /// <summary>
+        /// 浣忓畢鏂囦欢鍒楄〃
+        /// </summary>
+        public List<string> HomeFilePathList = new List<string>();
+
+        #endregion
+
+        #region 鈻� 缂撳瓨鍙橀噺___________________________
+
+        /// <summary>
+        /// 鏈嶅姟鍣ㄦ敞鍐孖D(鍙互璇存槸鏋佸厜ID)
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public string RegistrationID = string.Empty;
+        /// <summary>
+        /// 鍒ゆ柇褰撳墠鏃堕棿鐐规槸鍚﹁兘澶熻嚜鍔ㄧ櫥褰�
+        /// </summary>
+        public bool CanAutoLogin
         {
             get
             {
                 return (DateTime.Now - LoginDateTime).Days < 7;
             }
-        }
-
+        }
         /// <summary>
-        /// 璐︽埛鐧诲綍鎴愬姛鐨勮处鎴风被鍨�
+        /// 鏄惁鍚屾剰闅愮鏀跨瓥
         /// </summary>
-        public int AccountType = 0;
-        /// <summary>
-        /// 璐︽埛鐧诲綍鎴愬姛鐨勪富ID
-        /// </summary>
-        public int MasterID = 0;
-
-
-        public static void ReFresh()
-        {
-            var file = Shared.IO.FileUtils.ReadFile(fileName);
-            config = Newtonsoft.Json.JsonConvert.DeserializeObject<Config>(System.Text.Encoding.UTF8.GetString(file));
-
-            if (config == null)
-            {
-                config = new Config { };
-            }
-        }
-        
-        /// <summary>
-        /// 褰撳墠鐧诲綍鐨勫笎鍙�
-        /// </summary>
-        public string Account = string.Empty;
-        /// <summary>
-        /// 褰撳墠甯愬彿瀵嗙爜
-        /// </summary>
-        public string Password = string.Empty;
-        /// <summary>
-        /// 鐭俊鐧诲綍杩斿洖鐨刴d5鍚庣殑瀵嗙爜
-        /// </summary>
-        public string MD5PWD = string.Empty;
-        /// <summary>
-        /// 鐧婚檰璐﹀彿鐨凣uid
-        /// </summary>
-        public string Guid = string.Empty;
-        /// <summary>
-        /// 鏄惁鏄鐞嗗憳鏉冮檺(涓轰粈涔堜細澹版槑杩欐牱鍙橀噺,鍥犱负鏈変簺鎺ュ彛蹇呴』浣跨敤鍘熸潵鐨凾oken)
-        /// </summary>
-        public bool isAdministrator = false;
-        /// <summary>
-        /// 鎴愬憳璇锋眰鎺у埗涓诲笎鍙锋浣忓畢鏃惰姹傚熀鍦板潃
-        /// </summary>
-        public string AdminRequestBaseUrl = string.Empty;
-        /// <summary>
-        /// 鎴愬憳璇锋眰鎺у埗涓诲笎鍙锋浣忓畢鏃惰姹傚熀鍦板潃鐨凩oginAccessToken鐨勫��
-        /// </summary>
-        public string AdminRequestToken = string.Empty;
-        /// <summary>
-        /// 鍥轰欢鍚嶇О
-        /// </summary>
-        //public string Name = string.Empty;
-        ///// <summary>
-        ///// 鍥轰欢鍞竴鏍囪瘑
-        ///// </summary>
-        //public string DistributedMark = string.Empty;
-        ///// <summary>
-        ///// 鍥轰欢鐗堟湰
-        ///// </summary>
-        //public string FirmwareVersion = string.Empty;
-        ///// <summary>
-        ///// 鍥轰欢澶囨敞
-        ///// </summary>
-        //public string Remarks = string.Empty;
-        ///// <summary>
-        ///// 鍥轰欢ID
-        ///// </summary>
-        //public string Id;
-
         [Newtonsoft.Json.JsonIgnore]
+        public bool AcceiptPolicy = false;
         /// <summary>
-        /// 褰撳墠甯愬彿鐨凾oken
+        /// 褰撳墠甯愬彿鐨凾oken(杩欎釜涓滆タ涓嶇敤瀛樹簡)
         /// </summary>
-        private string Token1 = "";
-        public string Token
-        {
-            get
-            {
-                string md5Password;
-                if (string.IsNullOrEmpty(Password))
-                {
-                    //鐢ㄤ簬鐭俊鐧诲綍瀵嗙爜涓�
-                    md5Password = MD5PWD;
-                }
-                else
-                {
-                    var result = System.Text.Encoding.UTF8.GetBytes(Password);
-                    var md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
-                    var output = md5.ComputeHash(result);
-                    md5Password = BitConverter.ToString(output).Replace("-", "");
-                }
-                var account_md5Pssword = Account + ":" + md5Password;
-                var tokenBytes = System.Text.Encoding.UTF8.GetBytes(account_md5Pssword);
-                return Convert.ToBase64String(tokenBytes).Replace("=", "%3D");
-            }
-
-        }
-
+        [Newtonsoft.Json.JsonIgnore]
+        public string Token = string.Empty;
+        /// <summary>
+        /// 绠$悊鍛樿幏鍙栧埌鐨勪富浜虹殑Token(杩欎釜涓滆タ涓嶇敤瀛樹簡)
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public string MasterToken = string.Empty;
         /// <summary>
-        /// 鐧诲綍杩囩殑甯愬彿淇℃伅
+        /// 杩滅▼杩炴帴鐨凪qtt鐨勫鎴风ID
         /// </summary>
-        public List<string> AccountList = new List<string> { };
-
-        public List<string> HomeFilePathList = new List<string> { };
-
-        public string HomeId = string.Empty;
- 
+        [Newtonsoft.Json.JsonIgnore]
+        public string ConnEmqClientId = string.Empty;
+        /// <summary>
+        /// 褰撳墠鐧诲綍鐨勮处鍙锋槸涓嶆槸涔嬪墠鐨勮处鍙�
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public bool TheSameLoginAccount = false;
+        /// <summary>
+        /// 瀹夊崜鐨勭郴缁熻繑鍥炴寜閿兘鍚︽寜涓�(姣斿鍦ㄥ浠借繕鍘熸椂,涓嶈兘鎸変笅杩斿洖閿�)
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public bool BackKeyCanClick = true;
+        /// <summary>
+        /// 璁块棶浜戠鐨勮瑷�(鏈変簺鎺ュ彛闇�瑕�,鐩墠鏄� CHINESE 鎴栬�� ENGLISH)
+        /// </summary>
+        [Newtonsoft.Json.JsonIgnore]
+        public string HttpLanguage = "CHINESE";
+        /// <summary>
+        /// 褰撳墠浣忓畢
+        /// </summary>
         [Newtonsoft.Json.JsonIgnore]
         private House m_Home = null;
         /// <summary>
@@ -297,7 +113,7 @@
                 {
                     return m_Home;
                 }
-                m_Home = House.GetHouseByHouseId(HomeId);
+                m_Home = Phone.HdlResidenceLogic.Current.GetHouseByHouseId(HomeId);
                 if (m_Home == null)
                 {
                     m_Home = new House();
@@ -309,7 +125,6 @@
                 m_Home = value;
             }
         }
-
         /// <summary>
         /// 鍏ㄨ矾寰�
         /// <para> 浣跨敤鏂规硶锛� FullPath + FileName </para>
@@ -322,16 +137,69 @@
             {
                 return System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Instance.Guid, Instance.HomeId);
             }
-        }
+        }
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// Config鏂囦欢鍚�
+        /// </summary>
+        private const string fileName = "Config.json";
 
+        private static Config config = null;
+        /// <summary>
+        /// Config瀵硅薄
+        /// </summary>
+        public static Config Instance
+        {
+            get
+            {
+                if (config == null)
+                {
+                    ReFresh();
+                }
+                return config;
+            }
+        }
+
+        /// <summary>
+        /// 鍒锋柊
+        /// </summary>
+        private static void ReFresh()
+        {
+            var file = Shared.IO.FileUtils.ReadFile(fileName);
+            if (file != null && file.Length > 0)
+            {
+                config = Newtonsoft.Json.JsonConvert.DeserializeObject<Config>(System.Text.Encoding.UTF8.GetString(file));
+                //瑙e瘑
+                config.RefreshToken = Phone.HdlCommonLogic.Current.DecryptPassword("hD1(La3o", config.RefreshToken);
+            }
+            else
+            {
+                config = new Config();
+            }
+        }
+
+        #endregion
+
+        #region 鈻� 淇濆瓨_______________________________
+
         /// <summary>
         /// 淇濆瓨褰撳墠瀵硅薄
         /// </summary>
         public void Save()
         {
+            //鍔犲瘑,涓嶈兘淇濆瓨鏄庣爜
+            var oldToken1 = this.RefreshToken;
+            this.RefreshToken = Phone.HdlCommonLogic.Current.EncryptPassword("hD1(La3o", oldToken1);
+
             var bytes = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this));
             Shared.IO.FileUtils.WriteFileByBytes(fileName, bytes);
-            ReFresh();
-        }
+
+            this.RefreshToken = oldToken1;
+        }
+
+        #endregion
     }
 }

--
Gitblit v1.8.0