From 9d61367c1fd278f58f721d4c0e69999f89e4485d Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 12 十二月 2019 14:14:30 +0800
Subject: [PATCH] 添加最新绑定机制
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs | 136 +++++++++++++++++++++++----------------------
1 files changed, 70 insertions(+), 66 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs
old mode 100755
new mode 100644
index e5d7071..5a8c34a
--- 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);
@@ -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]);
}
}
}
@@ -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