From ecba45c93391066bc30c7bd602c3a7683fbb99a7 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期五, 31 七月 2020 10:56:12 +0800
Subject: [PATCH] 临时备份
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs | 94 ++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 84 insertions(+), 10 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs
index 7bf85cc..37fe00a 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs
@@ -151,8 +151,8 @@
}
get
{
- //10绉掑悗鍏佽鍐嶆璁块棶
- if (m_CanAccessHttp == true || (DateTime.Now - oldAccessHttpTime).TotalMilliseconds > 10 * 1000)
+ //8绉掑悗鍏佽鍐嶆璁块棶
+ if (m_CanAccessHttp == true || (DateTime.Now - oldAccessHttpTime).TotalMilliseconds > 8 * 1000)
{
oldAccessHttpTime = DateTime.Now;
return true;
@@ -160,6 +160,10 @@
return false;
}
}
+ /// <summary>
+ /// 鍙樻洿缃戠粶鏃剁殑浜嬩欢
+ /// </summary>
+ private string changedNetworkTime = string.Empty;
#endregion
@@ -368,23 +372,93 @@
/// <summary>
/// 鐩戝惉瀹夊崜缃戠粶鍙樺寲
/// </summary>
- /// <param name="value"></param>
+ /// <param name="value">0:娌℃湁缃戠粶 1:4G 2:wifi</param>
private void NetworkStateChanged(int value)
{
//娌℃湁缃戠粶
if (value == 0)
{
this.CanAccessHttp = false;
+ //鍏抽棴Socket
+ ZigBee.Common.Application.FindGateWaySocket.Stop();
}
- //鍙互鍙�4G
- else if (value == 1)
+ //WIFI鎴栬��4G鏃�
+ if (value == 1 || value == 2)
{
+ //鍏佽鑱旂綉
this.CanAccessHttp = true;
- }
- //WIFI
- else if (value == 2)
- {
- this.CanAccessHttp = true;
+ this.changedNetworkTime = DateTime.Now.ToString("yyyyMMdd HH.mm.ss");
+ //褰撳墠鎵ц姝ょ嚎绋嬬殑鏃堕棿
+ string thisThreadTime = this.changedNetworkTime;
+
+ HdlThreadLogic.Current.RunThread(() =>
+ {
+ //涓嶇濡備綍,閮借鏄剧ず杞湀
+ ProgressBar.Show();
+
+ //妫�娴嬫槸鍚﹀凡缁忓畬鎴愯处鍙蜂俊鎭垵濮嬪寲
+ if (UserCenterResourse.UserInfo.InitUserInfoSuccess == false
+ && Common.Config.Instance.HomeId != string.Empty)
+ {
+ //閲嶆柊鍒濆鍖栬处鍙蜂俊鎭�
+ UserCenterLogic.ReInitUserAccoutInfo();
+ //鍥犱负涓婇潰杩欎釜涓滆タ鑰楁椂铔箙鐨�,鎵�浠ュ鐞嗗畬涔嬪悗杩涜鍒ゆ柇
+ if (thisThreadTime != this.changedNetworkTime)
+ {
+ //鍦ㄥ鐞嗙殑杩囩▼涓�,鍒囨崲浜嗙綉缁�,鎶婁笅闈㈢殑澶勭悊浜ょ粰鍙﹀鐨勭嚎绋�
+ return;
+ }
+ }
+ //閲嶆柊鍒濆鍖朣ocket
+ ZigBee.Common.Application.FindGateWaySocket.Stop();
+ //鏂帀鏈湴杩炴帴
+ HdlGatewayLogic.Current.ClearAllRealGateway();
+ //鏂帀杩滅▼
+ ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient();
+
+ if (value == 2)
+ {
+ ZigBee.Common.Application.FindGateWaySocket.Start();
+ //鍊熺敤涓�涓嬭繖涓彉閲�(妫�娴嬭兘鍚﹀箍鎾埌缃戝叧)
+ UserCenterResourse.DicReceiveGatewayTest = new Dictionary<string, ZigBee.Device.ZbGateway>();
+ UserCenterResourse.HideOption.CheckCanReceiveGateway = 1;
+ //鍥哄畾绛変釜3绉掑惂
+ System.Threading.Thread.Sleep(2500);
+ if (thisThreadTime != this.changedNetworkTime)
+ {
+ //鍙樻洿浜嗙綉缁�,浜ょ敱鍏朵粬绾跨▼澶勭悊
+ return;
+ }
+ UserCenterResourse.HideOption.CheckCanReceiveGateway = 0;
+ System.Threading.Thread.Sleep(500);
+
+ bool canReceiveGw = false;
+ foreach (var gateway in UserCenterResourse.DicReceiveGatewayTest.Values)
+ {
+ if (gateway.HomeId == Common.Config.Instance.Home.Id)
+ {
+ //鑳藉鎼滅储寰楀埌缃戝叧
+ canReceiveGw = true;
+ break;
+ }
+ }
+ UserCenterResourse.DicReceiveGatewayTest = null;
+ //璁剧疆杩滅▼杩炴帴鐨勫垵濮嬪��
+ ZigBee.Device.ZbGateway.IsRemote = canReceiveGw == false;
+ if (canReceiveGw == false)
+ {
+ //濡傛灉鏄繙绋嬬殑璇�,杩藉姞绛夊緟鏃堕棿(鎬诲叡5绉�)
+ System.Threading.Thread.Sleep(2000);
+ }
+ }
+ else if (value == 1)
+ {
+ //濡傛灉鏄�4G鐨勮瘽,鐩存帴绛夊緟
+ System.Threading.Thread.Sleep(4500);
+ }
+ ProgressBar.Close();
+
+ }, ShowErrorMode.NO);
}
}
--
Gitblit v1.8.0