From 5428935270159bfc42c2934ed7fb1091554fc9a4 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 09 七月 2020 17:12:42 +0800 Subject: [PATCH] 修改了 sokect --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs | 311 +++++---------------------------------------------- 1 files changed, 31 insertions(+), 280 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs index daed4fb..062c873 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs @@ -31,13 +31,6 @@ ShowNotNetMsg(listNotShowError); return false; } - //妫�娴嬫槸鍚﹀凡缁忓畬鎴愯处鍙蜂俊鎭垵濮嬪寲 - if (UserCenterResourse.UserInfo.InitUserInfoSuccess == false) - { - //涓嶇缁撴灉鎬庝箞鏍�,濡傛灉璋冪敤浜嗚繖涓嚱鏁�,闇�瑕侀噸澶磋幏鍙朤oken,鎵�浠ュ繀椤昏繑鍥炲け璐� - ReInitUserAccoutInfo(listNotShowError); - return false; - } //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� var connectMode = GetHttpConnectMode(checkAuthority); //鑾峰彇浠庢帴鍙i偅閲屽彇鍒扮殑姣旂壒鏁版嵁 @@ -76,13 +69,6 @@ { //褰撳墠鏃犳硶璁块棶缃戠粶(褰撻渶瑕侀噸鏂板彂閫佹椂,璺宠繃杩欎釜鍒ゆ柇) ShowNotNetMsg(listNotShowError); - return "Error"; - } - //妫�娴嬫槸鍚﹀凡缁忓畬鎴愯处鍙蜂俊鎭垵濮嬪寲 - if (UserCenterResourse.UserInfo.InitUserInfoSuccess == false) - { - //涓嶇缁撴灉鎬庝箞鏍�,濡傛灉璋冪敤浜嗚繖涓嚱鏁�,闇�瑕侀噸澶磋幏鍙朤oken,鎵�浠ュ繀椤昏繑鍥炲け璐� - ReInitUserAccoutInfo(listNotShowError); return "Error"; } @@ -127,13 +113,6 @@ { //褰撳墠鏃犳硶璁块棶缃戠粶(褰撻渶瑕侀噸鏂板彂閫佹椂,璺宠繃杩欎釜鍒ゆ柇) ShowNotNetMsg(listNotShowError); - return null; - } - //妫�娴嬫槸鍚﹀凡缁忓畬鎴愯处鍙蜂俊鎭垵濮嬪寲 - if (UserCenterResourse.UserInfo.InitUserInfoSuccess == false) - { - //涓嶇缁撴灉鎬庝箞鏍�,濡傛灉璋冪敤浜嗚繖涓嚱鏁�,闇�瑕侀噸澶磋幏鍙朤oken,鎵�浠ュ繀椤昏繑鍥炲け璐� - ReInitUserAccoutInfo(listNotShowError); return null; } //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� @@ -182,13 +161,6 @@ { //褰撳墠鏃犳硶璁块棶缃戠粶(褰撻渶瑕侀噸鏂板彂閫佹椂,璺宠繃杩欎釜鍒ゆ柇) ShowNotNetMsg(listNotShowError); - return null; - } - //妫�娴嬫槸鍚﹀凡缁忓畬鎴愯处鍙蜂俊鎭垵濮嬪寲 - if (UserCenterResourse.UserInfo.InitUserInfoSuccess == false) - { - //涓嶇缁撴灉鎬庝箞鏍�,濡傛灉璋冪敤浜嗚繖涓嚱鏁�,闇�瑕侀噸澶磋幏鍙朤oken,鎵�浠ュ繀椤昏繑鍥炲け璐� - ReInitUserAccoutInfo(listNotShowError); return null; } //鑾峰彇鎺ュ彛鐨勮繛鎺ユā寮� @@ -562,6 +534,12 @@ HdlGatewayLogic.Current.SynchronizeDbGateway(); //浠庢湰鍦伴噸鏂板姞杞藉叏閮ㄧ殑鎴块棿 HdlRoomLogic.Current.RefreshAllRoomByLocation(); + //鏂紑杩滅▼Mqtt杩炴帴,閲嶆柊杩炴帴 + HdlThreadLogic.Current.RunThread(async () => + { + HdlGatewayLogic.Current.ClearAllRealGateway(); + await ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient(); + }, ShowErrorMode.NO); } /// <summary> @@ -584,62 +562,6 @@ Config.Instance.Home.Longitude = Longitude; Config.Instance.Home.Latitude = Latitude; Config.Instance.Home.Save(false); - } - - #endregion - - #region 鈻� 鍒犻櫎鏈湴鏂囦欢_______________________ - - /// <summary> - /// 鍒犻櫎鏈湴鎵�鏈夋枃浠� - /// </summary> - /// <param name="all">true:鍏ㄩ儴鍒犻櫎(鐢ㄤ簬浣忓畢鍒犻櫎) false:閲嶈鐨勬枃浠朵笉鍒犻櫎</param> - public static void DeleteAllLocationFile(bool all = true) - { - string dPath = Config.Instance.FullPath; - if (System.IO.Directory.Exists(dPath) == false) - { - return; - } - - //鐒跺悗鑾峰彇鍏ㄩ儴鐨勬枃浠� - List<string> listFile = Global.FileListByHomeId(); - foreach (string file in listFile) - { - if (all == false && IsNotDeleteFile(file) == true) - { - //杩欐槸涓嶈兘鍒犻櫎鐨勬枃浠� - continue; - } - //鍒犻櫎鏂囦欢 - Global.DeleteFilebyHomeId(file); - } - //濡傛灉鏄妸鏂囦欢鍏ㄩ儴鍒犻櫎鐨勮瘽锛岄偅涔堟枃浠跺す涔熶竴璧峰垹闄ゆ帀 - if (all == true) - { - //鍒犻櫎鏂囦欢澶� - System.IO.Directory.Delete(dPath, true); - } - } - - /// <summary> - /// 鍒ゆ柇鏄笉鏄笉搴旇鍒犻櫎鐨勬枃浠� - /// </summary> - /// <param name="fileName"></param> - /// <returns></returns> - public static bool IsNotDeleteFile(string fileName) - { - if (fileName == "Config.json") - { - //涓嶈兘鍒犻櫎Config鏂囦欢 - return true; - } - else if (fileName.StartsWith("House_") == true) - { - //涓嶈兘鍒犻櫎浣忓畢鏂囦欢 - return true; - } - return false; } #endregion @@ -781,29 +703,6 @@ #region 鈻� 鎷兼帴淇℃伅___________________________ /// <summary> - /// 鎷兼帴璺緞(鍏ㄨ矾寰�)锛屼互浣忓畢ID鐨勬枃浠跺す涓鸿捣鐐癸紝褰撴病鏈夋寚瀹氬弬鏁版椂锛屽垯杩斿洖銆愪綇瀹匢D鐨勬枃浠跺す銆戠殑鍏ㄨ矾寰� - /// </summary> - /// <param name="listNames">瑕佹嫾鎺ョ殑璺緞</param> - /// <returns></returns> - public static string CombinePath(params object[] listNames) - { - string rootPath = Config.Instance.FullPath; - if (listNames == null || listNames.Length == 0) - { - return rootPath; - } - foreach (var file in listNames) - { - if (file == null) - { - continue; - } - rootPath = System.IO.Path.Combine(rootPath, file.ToString()); - } - return rootPath; - } - - /// <summary> /// 鎷兼帴缃戝叧鍥炲瓒呮椂鐨勪俊鎭� /// </summary> /// <param name="errorMsg">閿欒淇℃伅</param> @@ -893,12 +792,6 @@ if (Common.Config.Instance.HomeId != UserCenterResourse.AccountOption.OldHomeStringId || Common.Config.Instance.Account != UserCenterResourse.AccountOption.OldAccountId) { - //鏂紑杩滅▼Mqtt杩炴帴 - HdlThreadLogic.Current.RunThread(async () => - { - await ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient(); - }, ShowErrorMode.NO); - //娓呯┖鎵�鏈夋垚鍛樼紦瀛� ClearAllMemberMemory(); @@ -906,7 +799,7 @@ var optionInfo = UserCenterResourse.AccountOption.Load(); UserCenterResourse.AccountOption = optionInfo; //鍙樻洿鏍圭敤鎴峰浘鐗囩洰褰曡矾寰� - UserCenterResourse.AccountOption.UserPictruePath = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, DirNameResourse.UserPictrueDirectory); + UserCenterResourse.AccountOption.UserPictruePath = DirNameResourse.UserPictrueDirectory; //鍔犺浇浣忓畢閰嶇疆淇℃伅 UserCenterResourse.ResidenceOption = UserCenterResourse.ResidenceOption.Load(); @@ -921,9 +814,8 @@ //璇诲彇闅愬尶閰嶇疆 HdlBackupLogic.Current.LoadHideOption(); } - //棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� - CreatAllUserCenterDirectory(); + HdlFileLogic.Current.CreatAllUserCenterDirectory(); //鍏抽棴鎵�鏈夋帴鏀� HdlGatewayReceiveLogic.Current.RemoveAllEvent(); @@ -957,6 +849,13 @@ HdlGatewayLogic.Current.SynchronizeDbGateway(); } + //鏂紑杩滅▼Mqtt杩炴帴,閲嶆柊杩炴帴 + HdlThreadLogic.Current.RunThread(async () => + { + HdlGatewayLogic.Current.ClearAllRealGateway(); + await ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient(); + }, ShowErrorMode.NO); + //鍒锋柊APP鍓嶄竴娆¢�夋嫨鐨勭綉鍏矷D(鍙互鍙嶅璋冪敤,闇�瑕佸湪缃戝叧鍒濆鍖栧畬浜嗕箣鍚庢墠鑳借皟鐢�) HdlGatewayLogic.Current.RefreshAppOldSelectGatewayId(); @@ -984,7 +883,7 @@ //娓呯┖鎵�鏈夋垚鍛樼紦瀛� ClearAllMemberMemory(); //棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� - CreatAllUserCenterDirectory(); + HdlFileLogic.Current.CreatAllUserCenterDirectory(); //鍏抽棴鎵�鏈夋帴鏀� HdlGatewayReceiveLogic.Current.RemoveAllEvent(); //鍒濆鍖栨湰鍦扮殑缃戝叧淇℃伅 @@ -1050,7 +949,7 @@ //搴忓垪鍖栧璞� var requestJson = JsonConvert.SerializeObject(pra); //璁块棶鎺ュ彛 - byte[] byteData = CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync("ZigbeeUsers/GetAccountInfo", Encoding.UTF8.GetBytes(requestJson)); + byte[] byteData = CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync("ZigbeeUsers/GetAccountInfo", Encoding.UTF8.GetBytes(requestJson), "POST", 4); if (byteData == null) { return -1; @@ -1089,29 +988,27 @@ userInfo.AuthorityText = Language.StringByID(R.MyInternationalizationString.uMember); } - if (UserCenterResourse.UserInfo.AuthorityNo != userInfo.AuthorityNo) + //UserInfo.AuthorityNo==0浠h〃鏈湴杩樻病鏈夌敓鎴愭枃浠�,杩欎釜鏃跺�欎笉闇�瑕佸鐞� + if (UserCenterResourse.UserInfo.AuthorityNo != userInfo.AuthorityNo + && UserCenterResourse.UserInfo.AuthorityNo != 0) { //濡傛灉鐧婚檰鐨勮处鍙风殑鏉冮檺鍜屼笂涓�娆$殑涓嶄竴鏍�,鍒欏垹闄ゆ湰鍦拌繖涓綇瀹呭叏閮ㄧ殑鏂囦欢,浠庡ご鍐嶆潵 - string dirPath = CombinePath(); + string dirPath = Config.Instance.FullPath; if (System.IO.Directory.Exists(dirPath) == true) { try { //鍚屾鏁版嵁鐨勫垽鏂枃浠�(浠ラ槻涓囦竴鍒犻櫎鏁翠釜鏂囦欢澶瑰け璐ョ殑鏃跺��,杩欎釜鏂囦欢琚垹鐨勮瘽,搴旇娌′粈涔堝ぇ闂) - string SynchronizeFile = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AutoDownLoadBackupCheckFile); + string SynchronizeFile = DirNameResourse.AutoDownLoadBackupCheckFile; //濡傛灉鏈湴宸茬粡鎷ユ湁浜嗚繖涓枃浠讹紝鍒欒鏄庝笉鏄柊鎵嬫満锛屼笉鍐嶈嚜鍔ㄨ繕鍘� - if (System.IO.File.Exists(SynchronizeFile) == true) - { - System.IO.File.Delete(SynchronizeFile); - } - //鍒犻櫎鏁翠釜鏂囦欢澶� - System.IO.Directory.Delete(dirPath, true); + HdlFileLogic.Current.DeleteFile(SynchronizeFile); + HdlFileLogic.Current.DeleteDirectory(dirPath); } catch { } //鍒涘缓浣忓畢鏂囦欢澶� Global.CreateHomeDirectory(Config.Instance.HomeId); //棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� - CreatAllUserCenterDirectory(); + HdlFileLogic.Current.CreatAllUserCenterDirectory(); } } if (string.IsNullOrEmpty(userInfo.UserName) == true) @@ -1134,6 +1031,8 @@ //瀵嗙爜楠岃瘉 UserCenterResourse.AccountOption.PswAuthentication = UserCenterResourse.UserInfo.StringPwd == null ? string.Empty : UserCenterResourse.UserInfo.StringPwd; UserCenterResourse.UserInfo.StringPwd = null; + //淇濆瓨缂撳瓨 + UserCenterResourse.AccountOption.Save(); //鍒濆鍖栫鐞嗗憳鎺у埗涓讳汉鐨勮繛鎺ュ湴鍧�(鍥犱负杩欎釜杩炴帴Token鏄笉浼氭敼鍙樼殑,鎵�浠ュ彧闇�瑕佸垵濮嬪寲涓�娆�) var flage = InitAdminConnectMainInfo(); @@ -1149,8 +1048,7 @@ /// <returns></returns> private static UserInformation GetUserInformationFromLocation() { - string fileName = CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.UserInfoFile); - var value = LoadFileContent(fileName); + var value = HdlFileLogic.Current.ReadFileTextContent(DirNameResourse.UserInfoFile); if (value == null) { return new UserInformation(); @@ -1163,25 +1061,10 @@ /// 閲嶆柊鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅(鏃ㄥ湪瀵瑰簲閭d竴鐬棿,缃戠粶涓嶅ソ,瀵艰嚧璇垽鐨勬儏鍐�) /// </summary> /// <returns></returns> - private static bool ReInitUserAccoutInfo(List<string> listNotShowError) + public static bool ReInitUserAccoutInfo() { //閲嶆柊鍒濆鍖栬处鍙蜂俊鎭� var result = InitUserAccoutInfo(false); - //杩炴帴涓嶄簡澶栫綉鐨勬椂鍊� - if (result == -1) - { - if (listNotShowError != null && listNotShowError.Contains("NotCheck") == true) - { - //鏈夎繖涓爣璇嗘椂,涓嶆彁绀洪敊璇� - return false; - } - Application.RunOnMainThread(() => - { - //褰撳墠鏃犵綉缁滆繛鎺�,璇风‘璁ょ綉缁� - var alert = new ShowMsgControl(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uNowIsDonotNetworkAndCheckNetwork)); - alert.Show(); - }); - } if (result == 1) { //鍚屾浜戠鐨勭綉鍏砳d锛屽鏋滄湰鍦版嫢鏈変簯绔笉瀛樺湪鐨刬d锛屽垯琛ㄧず搴旇琚崲缁戜簡锛岀洿鎺ュ垹闄� @@ -1199,9 +1082,8 @@ /// </summary> private static void SaveUserInformationToLocation() { - string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.UserInfoFile); //鍐欏叆鍐呭 - SaveFileContent(fullName, UserCenterResourse.UserInfo); + HdlFileLogic.Current.SaveFileContent(DirNameResourse.UserInfoFile, UserCenterResourse.UserInfo); //鎼炰竴涓嬩富浜虹殑榛樿澶村儚 string defultFile = IO.FileUtils.GetImageFilePath("Center/Admin.png"); @@ -1265,54 +1147,6 @@ #endregion - #region 鈻� 棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶筥________ - - /// <summary> - /// 棰勫垱寤轰釜浜轰腑蹇冨叏閮ㄧ殑鏂囦欢澶� - /// </summary> - public static void CreatAllUserCenterDirectory() - { - //鏈湴缂撳瓨鐨勬牴鐩綍 - string LocalDirectory = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory); - Global.CreateEmptyDirectory(LocalDirectory); - - //鑷姩澶囦唤銆愭枃浠跺す銆�(缂栬緫,杩藉姞) - string directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.AutoBackupDirectory); - Global.CreateEmptyDirectory(directory); - - //鑷姩澶囦唤銆愭枃浠跺す銆�(鍒犻櫎) - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.AutoBackupdeleteDirectory); - Global.CreateEmptyDirectory(directory); - - //涓嬭浇澶囦唤鐨勬椂鍊欐墍浣跨敤鐨勪复鏃躲�愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.DownLoadBackupTempDirectory); - Global.CreateEmptyDirectory(directory); - - //淇濆瓨瀹夐槻璁板綍鐨勩�愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.SafeguardAlarmDirectory); - Global.CreateEmptyDirectory(directory); - - //涓婁紶缃戝叧澶囦唤鏂囦欢鍒颁簯绔殑涓存椂銆愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.GatewayBackupDirectory); - Global.CreateEmptyDirectory(directory); - - //涓嬭浇鍒嗕韩鏂囦欢鐨勪复鏃躲�愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.DownLoadShardDirectory); - Global.CreateEmptyDirectory(directory); - - //LOG鍑哄姏銆愭枃浠跺す銆� - directory = System.IO.Path.Combine(LocalDirectory, DirNameResourse.LogDirectory); - Global.CreateEmptyDirectory(directory); - - //鐢ㄦ埛鍥剧墖鐩綍璺緞銆愭枃浠跺す銆� - if (UserCenterResourse.AccountOption.UserPictruePath != string.Empty && !System.IO.Directory.Exists(UserCenterResourse.AccountOption.UserPictruePath)) - { - System.IO.Directory.CreateDirectory(UserCenterResourse.AccountOption.UserPictruePath); - } - } - - #endregion - #region 鈻� 鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken____________ /// <summary> @@ -1339,7 +1173,7 @@ /// <param name="result">鍚屾缁撴灉 -1锛氬紓甯� 0:宸茬粡鍚屾杩囷紝涓嶉渶瑕佸悓姝� 1锛氭甯稿悓姝� 2:娌℃湁鑷姩澶囦唤鏁版嵁</param> private static void ShowGuideForm(int result) { - var checkFile = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, DirNameResourse.GuideFile); + var checkFile = DirNameResourse.GuideFile; if (System.IO.File.Exists(checkFile) == true) { //涓嶉渶瑕佹樉绀� @@ -1482,89 +1316,6 @@ { var utcTime = Convert.ToDateTime(timeText); return TimeZoneInfo.ConvertTimeFromUtc(utcTime, TimeZoneInfo.Local); - } - - #endregion - - #region 鈻� 鏂囦欢淇濆瓨鍜岃鍙朹____________________ - - /// <summary> - /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) - /// </summary> - /// <param name="fullName">鍏ㄨ矾寰�</param> - /// <param name="obj">闇�瑕佸簭鍒楀寲鐨勪笢瑗�</param> - public static void SaveFileContent(string fullName, object obj) - { - var data = JsonConvert.SerializeObject(obj); - SaveTexToFile(fullName, data); - } - - /// <summary> - /// 鏂囦欢淇濆瓨(鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) - /// </summary> - /// <param name="fullName">鍏ㄨ矾寰�</param> - /// <param name="obj">闇�瑕佸簭鍒楀寲鐨勪笢瑗�</param> - public static void SaveTexToFile(string fullName, string textValue) - { - var byteData = Encoding.UTF8.GetBytes(textValue); - //鍐欏叆鍐呭 - System.IO.FileStream fileStream = null; - try - { - fileStream = new System.IO.FileStream(fullName, System.IO.FileMode.Create, System.IO.FileAccess.Write); - fileStream.Write(byteData, 0, byteData.Length); - fileStream.Flush(); - } - catch { } - finally - { - fileStream?.Close(); - } - } - - /// <summary> - /// 璇诲彇鏂囦欢,涓嶉檺鍒朵綇瀹�(鏂囦欢涓嶅瓨鍦ㄨ繑鍥瀗ull,鏁村ぉ蹇樿,鎵�浠ュ缓涓�涓嚱鏁版潵鐜╃帺) - /// </summary> - /// <param name="fullName">鍏ㄨ矾寰�</param> - /// <returns></returns> - public static string LoadFileContent(string fullName) - { - //璇诲彇鏂囦欢 - var varByte = ReadFileContent(fullName); - if (varByte == null) - { - return null; - } - return Encoding.UTF8.GetString(varByte); - } - - /// <summary> - /// 璇诲彇鏂囦欢,涓嶉檺鍒朵綇瀹�,鏂囦欢涓嶅瓨鍦ㄨ繑鍥瀗ull - /// </summary> - /// <param name="fullName">鍏ㄨ矾寰�</param> - /// <returns></returns> - public static byte[] ReadFileContent(string fullName) - { - if (System.IO.File.Exists(fullName) == false) - { - return null; - } - System.IO.FileStream fileStream = null; - try - { - fileStream = new System.IO.FileStream(fullName, System.IO.FileMode.Open, System.IO.FileAccess.Read); - byte[] array = new byte[fileStream.Length]; - fileStream.Read(array, 0, array.Length); - return array; - } - catch - { - return null; - } - finally - { - fileStream?.Close(); - } } #endregion -- Gitblit v1.8.0