From 2029e64ec0491f7e511dc15bffaf821bfbabe2de Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 20 七月 2020 14:10:22 +0800 Subject: [PATCH] 上传一个很特别的新版本 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs | 86 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 70 insertions(+), 16 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs index ce24a39..37fe00a 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlWifiLogic.cs @@ -160,6 +160,10 @@ return false; } } + /// <summary> + /// 鍙樻洿缃戠粶鏃剁殑浜嬩欢 + /// </summary> + private string changedNetworkTime = string.Empty; #endregion @@ -383,28 +387,78 @@ { //鍏佽鑱旂綉 this.CanAccessHttp = true; + this.changedNetworkTime = DateTime.Now.ToString("yyyyMMdd HH.mm.ss"); + //褰撳墠鎵ц姝ょ嚎绋嬬殑鏃堕棿 + string thisThreadTime = this.changedNetworkTime; - //妫�娴嬫槸鍚﹀凡缁忓畬鎴愯处鍙蜂俊鎭垵濮嬪寲 - if (UserCenterResourse.UserInfo.InitUserInfoSuccess == false - && Common.Config.Instance.HomeId != string.Empty) + HdlThreadLogic.Current.RunThread(() => { - HdlThreadLogic.Current.RunThread(() => + //涓嶇濡備綍,閮借鏄剧ず杞湀 + ProgressBar.Show(); + + //妫�娴嬫槸鍚﹀凡缁忓畬鎴愯处鍙蜂俊鎭垵濮嬪寲 + if (UserCenterResourse.UserInfo.InitUserInfoSuccess == false + && Common.Config.Instance.HomeId != string.Empty) { - ProgressBar.Show(); //閲嶆柊鍒濆鍖栬处鍙蜂俊鎭� UserCenterLogic.ReInitUserAccoutInfo(); - ProgressBar.Close(); + //鍥犱负涓婇潰杩欎釜涓滆タ鑰楁椂铔箙鐨�,鎵�浠ュ鐞嗗畬涔嬪悗杩涜鍒ゆ柇 + if (thisThreadTime != this.changedNetworkTime) + { + //鍦ㄥ鐞嗙殑杩囩▼涓�,鍒囨崲浜嗙綉缁�,鎶婁笅闈㈢殑澶勭悊浜ょ粰鍙﹀鐨勭嚎绋� + return; + } + } + //閲嶆柊鍒濆鍖朣ocket + ZigBee.Common.Application.FindGateWaySocket.Stop(); + //鏂帀鏈湴杩炴帴 + HdlGatewayLogic.Current.ClearAllRealGateway(); + //鏂帀杩滅▼ + ZigBee.Device.ZbGateway.DisConnectRemoteMqttClient(); - }, ShowErrorMode.NO); - } - //閲嶆柊鍒濆鍖朣ocket - ZigBee.Common.Application.FindGateWaySocket.Stop(); - if (value == 2) - { - ZigBee.Common.Application.FindGateWaySocket.Start(); - } - //鏂帀鏈湴杩炴帴 - HdlGatewayLogic.Current.ClearAllRealGateway(); + 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