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/HdlGatewayLogic.cs | 113 +++++++++++++++++++------------------------------------- 1 files changed, 38 insertions(+), 75 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs index e9a6550..275a2cc 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs @@ -82,7 +82,7 @@ GatewayResourse.AppOldSelectGatewayId = string.Empty; //浠庢枃浠朵腑鑾峰彇涓婁竴娆¢�夋嫨鐨勭綉鍏砳d - byte[] data = Global.ReadFileByDirectory(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AppOldSelectGatewayFile); + byte[] data = HdlFileLogic.Current.ReadFileByteContent(DirNameResourse.AppOldSelectGatewayFile); if (data != null) { string strvalue = System.Text.Encoding.UTF8.GetString(data); @@ -118,7 +118,7 @@ } List<string> listBackupGwId = new List<string>(); - var fileData = Global.ReadFileByDirectory(DirNameResourse.LocalMemoryDirectory, DirNameResourse.BackupGatewayIdFile); + var fileData = HdlFileLogic.Current.ReadFileByteContent(DirNameResourse.BackupGatewayIdFile); if (fileData != null) { //鏂板锛氳櫧鐒舵鐜囦綆锛屼絾鏄‘瀹炲彂鐢熶簡銆傚鏋滄湁缃戠粶鏃讹紝App閲嶆柊缁戝畾璁板綍鐨勭綉鍏冲け璐ョ殑璇� @@ -149,26 +149,10 @@ //鍒犻櫎缃戝叧鏂囦欢 this.DeleteGatewayFile(gatewayId); } - //LOG杈撳嚭 - if (listDelete.Count > 0) + //濡傛灉缃戝叧閮芥病浜嗙殑璇�,鎶婂満鏅叏閮ㄥ垹浜� + if (listDelete.Count > 0 && this.GetAllLocalGateway().Count == 0) { - string msg = "鏈湴鎷ユ湁鐨勭綉鍏筹細"; - foreach (var gatewayId in this.dicGateway.Keys) - { - msg += gatewayId + ","; - } - msg += "\r\n琚垹闄ょ殑缃戝叧锛�"; - foreach (var gatewayId in listDelete) - { - msg += gatewayId + ","; - } - msg += "\r\n姝ゆ椂浜戠杩斿洖褰撳墠璐﹀彿鎵�缁戝畾鏈夌殑缃戝叧锛�"; - foreach (var gatewayId in result.Keys) - { - msg += gatewayId + ","; - } - var bytes = System.Text.Encoding.UTF8.GetBytes(msg); - Common.Global.WriteFileByBytesByHomeId("GatewayDeleteLog.txt", bytes); + HdlSceneLogic.Current.DeleteAllLocalScene(); } } @@ -407,7 +391,7 @@ //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken bindGateway.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - var result = UserCenterLogic.GetResultCodeByRequestHttps("App/BindGatewayToHome", true, bindGateway); + var result = UserCenterLogic.GetResultCodeByRequestHttps("App/BindGatewayToHome", true, bindGateway, new List<string> { "NotCheck" }); if (result == "Error") { return -1; @@ -576,42 +560,30 @@ /// </summary> /// <param name="zbGateway">缃戝叧瀵硅薄</param> /// <param name="gatewayName">缃戝叧鍚�</param> - public async Task<bool> ReName(ZbGateway zbGateway, string gatewayName) + public bool ReName(ZbGateway zbGateway, string gatewayName) { - ZbGateway realWay = null; - if (this.GetRealGateway(ref realWay, zbGateway) == false) + //鍙彇32涓猙yte + var bytes = new byte[32]; + var reamarkGwBytes = System.Text.Encoding.UTF8.GetBytes(gatewayName); + System.Array.Copy(reamarkGwBytes, 0, bytes, 0, 32 < reamarkGwBytes.Length ? 32 : reamarkGwBytes.Length); + gatewayName = System.Text.Encoding.UTF8.GetString(bytes); + + var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 91 } }; + var data = new Newtonsoft.Json.Linq.JObject { { "GwName", gatewayName } }; + jObject.Add("Data", data); + var result = this.SendJobjectDataToGateway(zbGateway, "GwReName", jObject.ToString(), "GwReName_Respon"); + if (result.ErrorMsg != null) { - //鑾峰彇缃戝叧瀵硅薄澶辫触 - string msg = Language.StringByID(R.MyInternationalizationString.uGetGatewayTagartFail); - this.ShowErrorMsg(msg); + this.ShowTipMsg(result.ErrorMsg); return false; } - - var result = await realWay.GwReNameAsync(gatewayName); - //妫�娴嬬綉鍏宠繑鍥炵殑鍏遍�氶敊璇姸鎬佺爜 - string error = HdlCheckLogic.Current.CheckCommonErrorCode(result); - if (error != null) - { - this.ShowErrorMsg(error); - return false; - } - - if (result == null) + if (result.ErrorMsgDiv == 0) { //缃戝叧鍚嶇О淇敼澶辫触 string msg = Language.StringByID(R.MyInternationalizationString.uGatewayReNameFail); - - this.ShowErrorMsg(msg); - return false; - } - - //缃戝叧淇敼澶辫触 - if (result.gwReNameData == null) - { - //缃戝叧鍚嶇О淇敼澶辫触 - string msg = Language.StringByID(R.MyInternationalizationString.uGatewayReNameFail); - - this.ShowErrorMsg(msg); + //缃戝叧鍥炲瓒呮椂 + msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂"); + this.ShowTipMsg(msg); return false; } @@ -721,8 +693,7 @@ public void SaveGatewayIdToLocation(string gatewayId) { GatewayResourse.AppOldSelectGatewayId = gatewayId; - byte[] data = System.Text.Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(GatewayResourse.AppOldSelectGatewayId)); - Global.WriteFileToDirectoryByBytes(DirNameResourse.LocalMemoryDirectory, DirNameResourse.AppOldSelectGatewayFile, data); + HdlFileLogic.Current.SaveFileContent(DirNameResourse.AppOldSelectGatewayFile, GatewayResourse.AppOldSelectGatewayId); } #endregion @@ -1334,9 +1305,8 @@ /// 鑾峰彇缃戝叧鍔犵壒鏁堢殑鍚嶇О /// </summary> /// <param name="zbGateway"></param> - /// <param name="mode"></param> /// <returns></returns> - public string GetGatewayName(ZbGateway zbGateway, GetNameMode mode = GetNameMode.SpecialGateway) + public string GetGatewayName(ZbGateway zbGateway) { string gwId = zbGateway.GwId; if (this.dicGateway.ContainsKey(gwId) == false) @@ -1351,14 +1321,11 @@ return name; } - if (mode == GetNameMode.SpecialGateway) + string keyName = Common.LocalDevice.deviceModelIdName + localWay.LinuxImageType; + if (LocalDevice.Current.dicDeviceAllNameID.ContainsKey(keyName) == true) { - string keyName = Common.LocalDevice.deviceModelIdName + localWay.LinuxImageType; - if (LocalDevice.Current.dicDeviceAllNameID.ContainsKey(keyName) == true) - { - //娌℃湁鍚嶇О鏃讹紝鍒欎娇鐢≧鏂囦欢閲岄潰璁剧疆鐨勯粯璁よ澶囧悕绉� - return Language.StringByID(LocalDevice.Current.dicDeviceAllNameID[keyName] + 20000); - } + //娌℃湁鍚嶇О鏃讹紝鍒欎娇鐢≧鏂囦欢閲岄潰璁剧疆鐨勯粯璁よ澶囧悕绉� + return Language.StringByID(LocalDevice.Current.dicDeviceAllNameID[keyName] + 20000); } return string.Empty; @@ -1538,11 +1505,11 @@ /// <summary> /// 鍙樻洿缃戝叧鎴块棿 /// </summary> - /// <param name="zbGateway">缃戝叧瀵硅薄</param> + /// <param name="gwId">缃戝叧Id</param> /// <param name="roomId">鎴块棿ID</param> - public void ChangedGatewayRoom(ZbGateway zbGateway, string roomId) + public void ChangedGatewayRoom(string gwId, string roomId) { - var localGateway = this.GetLocalGateway(zbGateway.GwId); + var localGateway = this.GetLocalGateway(gwId); if (localGateway != null) { localGateway.RoomId = roomId; @@ -2008,7 +1975,7 @@ //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - List<string> listNotShowError = new List<string>() { "NoExist", "NoBind", "NoRecord" }; + List<string> listNotShowError = new List<string>() { "NoExist", "NoBind", "NoRecord", "NotCheck" }; bool result = UserCenterLogic.GetResultStatuByRequestHttps("App/ReleaseGatewayToHome", true, Pra, listNotShowError); if (result == false) @@ -2034,9 +2001,7 @@ listBackupGwId.Add(strId); //澶囦唤 - var strData = Newtonsoft.Json.JsonConvert.SerializeObject(listBackupGwId); - var byteData = System.Text.Encoding.UTF8.GetBytes(strData); - Global.WriteFileToDirectoryByBytes(DirNameResourse.LocalMemoryDirectory, DirNameResourse.BackupGatewayIdFile, byteData); + HdlFileLogic.Current.SaveFileContent(DirNameResourse.BackupGatewayIdFile, listBackupGwId); } } @@ -2047,7 +2012,7 @@ { HdlThreadLogic.Current.RunThread(() => { - var fileData = Global.ReadFileByDirectory(DirNameResourse.LocalMemoryDirectory, DirNameResourse.BackupGatewayIdFile); + var fileData = HdlFileLogic.Current.ReadFileByteContent(DirNameResourse.BackupGatewayIdFile); if (fileData == null) { return; @@ -2065,7 +2030,7 @@ { bindGateway.BindGateways.Clear(); bindGateway.BindGateways.Add(gwId); - var result = UserCenterLogic.GetResultCodeByRequestHttps("App/BindGatewayToHome", true, bindGateway); + var result = UserCenterLogic.GetResultCodeByRequestHttps("App/BindGatewayToHome", true, bindGateway, new List<string> { "NotCheck" }); if (result == "Success") { this.listBackupGwId.Remove(gwId); @@ -2079,7 +2044,7 @@ if (this.listBackupGwId.Count == 0) { //濡傛灉娌℃湁浜嗗唴瀹�,鍒欏垹闄ゆ枃浠� - string file = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.BackupGatewayIdFile); + string file = DirNameResourse.BackupGatewayIdFile; if (System.IO.File.Exists(file) == true) { System.IO.File.Delete(file); @@ -2088,9 +2053,7 @@ else { //澶囦唤 - var strData = Newtonsoft.Json.JsonConvert.SerializeObject(listBackupGwId); - var byteData = System.Text.Encoding.UTF8.GetBytes(strData); - Global.WriteFileToDirectoryByBytes(DirNameResourse.LocalMemoryDirectory, DirNameResourse.BackupGatewayIdFile, byteData); + HdlFileLogic.Current.SaveFileContent(DirNameResourse.BackupGatewayIdFile, listBackupGwId); } }); } -- Gitblit v1.8.0