From 163777d8a2cb7cfa469f54a7042528870ebc10a3 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 09 十二月 2019 17:46:20 +0800 Subject: [PATCH] 一个新版本 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs | 146 +++++++++++++++++++++++++----------------------- 1 files changed, 75 insertions(+), 71 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs index e5d7071..0993102 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs @@ -117,10 +117,20 @@ { return; } + + List<string> listBackupGwId = new List<string>(); + var fileData = Global.ReadFileByDirectory(DirNameResourse.LocalMemoryDirectory, DirNameResourse.BackupGatewayIdFile); + if (fileData != null) + { + //鏂板锛氳櫧鐒舵鐜囦綆锛屼絾鏄‘瀹炲彂鐢熶簡銆傚鏋滄湁缃戠粶鏃讹紝App閲嶆柊缁戝畾璁板綍鐨勭綉鍏冲け璐ョ殑璇� + //涓嶅簲璇ュ垹闄ゅ畠 + listBackupGwId = JsonConvert.DeserializeObject<List<string>>(System.Text.Encoding.UTF8.GetString(fileData)); + } + List<string> listDelete = new List<string>(); foreach (var gatewayId in this.dicGateway.Keys) { - if (result.ContainsKey(gatewayId) == false) + if (result.ContainsKey(gatewayId) == false && listBackupGwId.Contains(gatewayId) == false) { //鏈湴瀛樺湪浜戠涓嶅瓨鍦ㄧ殑缃戝叧锛屽垯鍒犻櫎 listDelete.Add(gatewayId); @@ -451,7 +461,7 @@ btnMsg.TextID = R.MyInternationalizationString.uGatewayDataIsChangingPleaseWhait; }); } - await System.Threading.Tasks.Task.Delay(8000); + await Task.Delay(8000); //鑾峰彇缃戝叧鐨勪俊鎭� var result = await zbGateway.GetZbGwInfoAsync(); @@ -463,15 +473,7 @@ return -1; } - if (result == null) - { - //鑾峰彇缃戝叧淇℃伅澶辫触 - string msg = Language.StringByID(R.MyInternationalizationString.uGetGatewayInfoFail); - this.ShowTipMsg(msg); - return -1; - } - - if (result.getGwData == null) + if (result == null || result.getGwData == null) { //鑾峰彇缃戝叧淇℃伅澶辫触 string msg = Language.StringByID(R.MyInternationalizationString.uGetGatewayInfoFail); @@ -691,15 +693,15 @@ bool result = await this.SetHomeIdToGateway(realWay, string.Empty); if (result == false) { - //缃戝叧瑙g粦澶辫触 + //缃戝叧瑙g粦澶辫触 涓嶇悊瀹�,鍥犱负缃戝叧鍙互鎸夋寜閿己鍒舵悳绱㈠緱鍒� string msg = Language.StringByID(R.MyInternationalizationString.uGatewayUnBindFail); - this.ShowErrorMsg(msg); - return false; + //this.ShowErrorMsg(msg); + //return false; } } //鍒犻櫎浜戠鐨勭綉鍏� - await Phone.UserCenter.HdlGatewayLogic.Current.DeleteDataBaseGateway(zbGatewayID); + await this.DeleteDataBaseGateway(zbGatewayID); //鍒犻櫎缃戝叧鏂囦欢 this.DeleteGatewayFile(zbGatewayID); @@ -707,7 +709,7 @@ //绉婚櫎 ZbGateway.GateWayList.RemoveAll((obj) => this.GetGatewayId(obj) == zbGatewayID); //鏂紑mqtt杩炴帴 - realWay.DisConnect("GD"); + realWay.DisConnectLocalMqttClient("GD"); return true; } @@ -1556,7 +1558,7 @@ //鏈�鍚庡啀鏂紑mqtt杩炴帴 for (int i = 0; i < list.Count; i++) { - list[i].DisConnect("G"); + list[i].DisConnectLocalMqttClient("G"); } list.Clear(); } @@ -1833,50 +1835,6 @@ realWay.Send("GwLinuxLocate_Respon", jObject.ToString()); } - #endregion - - #region 鈻� 涓�鑸柟娉昣__________________________ - - /// <summary> - /// 寮瑰嚭缃戝叧涓嶅湪绾跨殑 - /// </summary> - private void ShowGatewayNotOnlineMsg() - { - Application.RunOnMainThread(() => - { - //缃戝叧杩炴帴澶辫触,璇风‘璁ょ綉缁� - string msg = Language.StringByID(R.MyInternationalizationString.uGatewayIsNotLinkAndCheckNetwork); - var control = new ShowMsgControl(ShowMsgType.Tip, msg); - control.Show(); - }); - } - - /// <summary> - /// 鏄剧ず閿欒淇℃伅绐楀彛 - /// </summary> - /// <param name="msg"></param> - private void ShowErrorMsg(string msg) - { - Application.RunOnMainThread(() => - { - var contr = new ShowMsgControl(ShowMsgType.Error, msg); - contr.Show(); - }); - } - - /// <summary> - /// 鏄剧ずTip淇℃伅绐楀彛 - /// </summary> - /// <param name="msg"></param> - private void ShowTipMsg(string msg) - { - Application.RunOnMainThread(() => - { - var contr = new ShowMsgControl(ShowMsgType.Tip, msg); - contr.Show(); - }); - } - #endregion #region 鈻� 缃戝叧鐩戣___________________________ @@ -2080,17 +2038,19 @@ { return; } - //鑾峰彇褰撳墠鎺ュ彈鍦ㄧ嚎鐘舵�佹帹閫佺殑鐣岄潰 - var listForm = new List<CommonFormBase>(); - listForm.AddRange(UserCenterResourse.listGatewayOnlinePushForm); - if (listForm.Count > 0) + //淇濆瓨褰撳墠婵�娲荤殑鐣岄潰ID + var listId = new List<string>(); + listId.AddRange(UserCenterResourse.listActionFormId); + for (int i = 0; i < listId.Count; i++) { - for (int i = 0; i < listChange.Count; i++) + if (UserCenterResourse.DicActionForm.ContainsKey(listId[i]) == false) { - foreach (var form in listForm) - { - form?.GatewayOnlinePush(listChange[i], listChangeStatu[i]); - } + continue; + } + //缃戝叧鍦ㄧ嚎鎺ㄩ�� + for (int j = 0; j < listChange.Count; j++) + { + UserCenterResourse.DicActionForm[listId[i]]?.GatewayOnlinePush(listChange[j], listChangeStatu[j]); } } } @@ -2285,7 +2245,7 @@ //鑾峰彇鎺у埗涓讳汉璐﹀彿鐨凾oken Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); - List<string> listNotShowError = new List<string>() { "NoExist", "NoBind", "NoRecord" }; + List<string> listNotShowError = new List<string>() { "NoExist", "NoBind", "NoRecord", "NotSetAgain" }; bool result = await UserCenterLogic.GetResultStatuByRequestHttps("App/ReleaseGatewayToHome", true, Pra, listNotShowError); if (result == false) @@ -2644,5 +2604,49 @@ } #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 寮瑰嚭缃戝叧涓嶅湪绾跨殑 + /// </summary> + private void ShowGatewayNotOnlineMsg() + { + Application.RunOnMainThread(() => + { + //缃戝叧杩炴帴澶辫触,璇风‘璁ょ綉缁� + string msg = Language.StringByID(R.MyInternationalizationString.uGatewayIsNotLinkAndCheckNetwork); + var control = new ShowMsgControl(ShowMsgType.Tip, msg); + control.Show(); + }); + } + + /// <summary> + /// 鏄剧ず閿欒淇℃伅绐楀彛 + /// </summary> + /// <param name="msg"></param> + private void ShowErrorMsg(string msg) + { + Application.RunOnMainThread(() => + { + var contr = new ShowMsgControl(ShowMsgType.Error, msg); + contr.Show(); + }); + } + + /// <summary> + /// 鏄剧ずTip淇℃伅绐楀彛 + /// </summary> + /// <param name="msg"></param> + private void ShowTipMsg(string msg) + { + Application.RunOnMainThread(() => + { + var contr = new ShowMsgControl(ShowMsgType.Tip, msg); + contr.Show(); + }); + } + + #endregion } } -- Gitblit v1.8.0