From df8d4ab0ef17a7fab5dea9c47bbd9f4d4a2a40b0 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 15 三月 2021 14:55:49 +0800 Subject: [PATCH] 合并前上传一个版本 --- HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection3Page.cs | 48 +++++++++++ HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs | 28 ++++++ HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs | 8 +- HDL_ON/UI/UI0-Stan/Logic/HdlCloudReceiveLogic.cs | 34 +++++++- HDL_ON/DAL/DriverLayer/Control.cs | 2 HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs | 3 HDL_ON/DAL/Mqtt/MqttClient.cs | 8 + HDL_ON/HDL_ON.projitems | 7 - HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs | 69 ++++++++++++++++- HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs | 10 -- 10 files changed, 182 insertions(+), 35 deletions(-) diff --git a/HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs b/HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs index 035d430..be70231 100644 --- a/HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs +++ b/HDL_ON/DAL/DriverLayer/A_Protocol_Common.cs @@ -115,15 +115,5 @@ return $"/user/{Control.Ins.GatewayId}/custom/scene/execute"; } } - /// <summary> - /// 娣诲姞璁惧涓婃姤 - /// </summary> - public string AddDevicePush - { - get - { - return $"/base/{Control.Ins.GatewayId}/thing/topo/found_reply"; - } - } } } \ No newline at end of file diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs index 36e79d56..5b3309f 100644 --- a/HDL_ON/DAL/DriverLayer/Control.cs +++ b/HDL_ON/DAL/DriverLayer/Control.cs @@ -647,7 +647,7 @@ else { //涓�浜涚壒娈婄殑涓婚澶勭悊(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣�) - Stan.HdlCloudReceiveLogic.Current.CloudOverallMsgReceive(receiveObj.Topic, receiveObj.BodyDataString); + Stan.HdlCloudReceiveLogic.Current.CloudOverallMsgReceiveEx(receiveObj.Topic, receiveObj.BodyDataString); } } return receiveObj; diff --git a/HDL_ON/DAL/Mqtt/MqttClient.cs b/HDL_ON/DAL/Mqtt/MqttClient.cs index 45dffe6..df7c4a8 100644 --- a/HDL_ON/DAL/Mqtt/MqttClient.cs +++ b/HDL_ON/DAL/Mqtt/MqttClient.cs @@ -278,6 +278,12 @@ } } + //涓�浜涚壒娈婄殑涓婚澶勭悊(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣� true:鎵ц浜嗙壒娈婂鐞� false:娌℃湁鎵ц鐗规畩澶勭悊) + if (Stan.HdlCloudReceiveLogic.Current.CloudOverallMsgReceiveEx(topic, e.ApplicationMessage.Payload, mqttEncryptKey, tuyaEncryptKey) == true) + { + return; + } + if (topic == $"/BusGateWayToClient/{UserInfo.Current.ID}" + PushNotifySqueeze) { var mMes = Encoding.UTF8.GetString(e.ApplicationMessage.Payload); @@ -295,7 +301,7 @@ else { //SetGatewayOnlineResetCheck(); - var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, mqttEncryptKey); + //var bytes = Securitys.EncryptionService.AesDecryptPayload(e.ApplicationMessage.Payload, mqttEncryptKey); //bus鏁版嵁瑙f瀽 var packet = new Packet(); diff --git a/HDL_ON/HDL_ON.projitems b/HDL_ON/HDL_ON.projitems index 6947b7a..f84ef44 100644 --- a/HDL_ON/HDL_ON.projitems +++ b/HDL_ON/HDL_ON.projitems @@ -26,6 +26,8 @@ <Compile Include="$(MSBuildThisFileDirectory)Entity\Function\Function.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Public\PublicAssmebly.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\CSS\CSS.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlBluetoothAndroidLogic.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlBluetoothIOSLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\UserPageBLL.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\UserPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\ClassificationPage.cs" /> @@ -358,7 +360,6 @@ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\ClothesHangerSetTimePage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\ArmSensorHistroyPaging.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\AC\AcControlPage.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlBluetoothAndroidLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlCloudReceiveLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlWifiLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Controls\CompoundControls\ProgressRowBar.cs" /> @@ -367,10 +368,8 @@ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\AddMiniRemoteControlDirection2Page.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\AddMiniRemoteControlDirection4Page.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\AddDevice\AddThirdPartyDeviceMenuListPage.cs" /> - <Compile Include="$(MSBuildThisFileDirectory)UI\UI0-Stan\Logic\HdlBluetoothIOSLogic.cs" /> </ItemGroup> <ItemGroup> - <Folder Include="$(MSBuildThisFileDirectory)UI\" /> <Folder Include="$(MSBuildThisFileDirectory)DAL\" /> <Folder Include="$(MSBuildThisFileDirectory)DAL\Mqtt\" /> <Folder Include="$(MSBuildThisFileDirectory)Common\" /> @@ -408,4 +407,4 @@ <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\" /> <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\PirDevice\View\" /> </ItemGroup> -</Project> +</Project> \ No newline at end of file diff --git a/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs b/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs index 8389e69..21594a8 100644 --- a/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs +++ b/HDL_ON/UI/UI0-Stan/Logic/HdlBluetoothAndroidLogic.cs @@ -6,24 +6,24 @@ namespace HDL_ON.Stan { #if __Android__ - public class HdlAndroidBluetoothLogic + public class HdlBluetoothLogic { #region 鈻� 鍙橀噺澹版槑___________________________ /// <summary> /// 瀹夊崜钃濈墮鐨勯�昏緫 /// </summary> - private static HdlAndroidBluetoothLogic m_Current = null; + private static HdlBluetoothLogic m_Current = null; /// <summary> /// 瀹夊崜钃濈墮鐨勯�昏緫 /// </summary> - public static HdlAndroidBluetoothLogic Current + public static HdlBluetoothLogic Current { get { if (m_Current == null) { - m_Current = new HdlAndroidBluetoothLogic(); + m_Current = new HdlBluetoothLogic(); } return m_Current; } diff --git a/HDL_ON/UI/UI0-Stan/Logic/HdlCloudReceiveLogic.cs b/HDL_ON/UI/UI0-Stan/Logic/HdlCloudReceiveLogic.cs index 7a3f147..81c4959 100644 --- a/HDL_ON/UI/UI0-Stan/Logic/HdlCloudReceiveLogic.cs +++ b/HDL_ON/UI/UI0-Stan/Logic/HdlCloudReceiveLogic.cs @@ -50,24 +50,50 @@ #region 鈻� 鍏ㄥ眬鎺ユ敹___________________________ /// <summary> - /// 鍏ㄥ眬鎺ユ敹浜戠鎺ㄩ�佺殑鐨勯�昏緫(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣�) + /// 鐗规畩鍏ㄥ眬鎺ユ敹浜戠鎺ㄩ�佺殑鐨勯�昏緫(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣� true:鎵ц浜嗙壒娈婂鐞� false:娌℃湁鎵ц鐗规畩澶勭悊) + /// </summary> + /// <param name="topic">鏁翠釜涓婚</param> + /// <param name="byteData">鎺ユ敹鐨勬暟鎹�</param> + /// <param name="mqttEncryptKey">Mqtt鐨勮В瀵嗗瘑閽�</param> + /// <param name="homeIdEncryptKey">浣忓畢鍊掑簭鐨勮В瀵嗗瘑閽�</param> + public bool CloudOverallMsgReceiveEx(string topic, byte[] byteData, string mqttEncryptKey, string homeIdEncryptKey) + { + //璁惧鍏ョ綉涓婃姤涓婚 + if (topic == $"/user/{Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/topo/found") + { + if (string.IsNullOrEmpty(homeIdEncryptKey) == false) + { + //瑙e瘑 + byteData = Securitys.EncryptionService.AesDecryptPayload(byteData, homeIdEncryptKey); + } + string msgData = Encoding.UTF8.GetString(byteData); + //杩欓噷鐗规畩,鍒�ョ潃杞瓧绗︿覆,鍏堝垽鏂富棰樺啀杞� + return this.CloudOverallMsgReceiveEx(topic, msgData); + } + return false; + } + + /// <summary> + /// 鐗规畩鍏ㄥ眬鎺ユ敹浜戠鎺ㄩ�佺殑鐨勯�昏緫(涓轰簡鎵ц閫熷害,灏藉彲鑳界殑鍒姞鑰楁椂鐨勬搷浣� true:鎵ц浜嗙壒娈婂鐞� false:娌℃湁鎵ц鐗规畩澶勭悊) /// </summary> /// <param name="topic">鏁翠釜涓婚</param> /// <param name="msgData">鎺ユ敹鐨勬暟鎹�</param> - public void CloudOverallMsgReceive(string topic, string msgData) + public bool CloudOverallMsgReceiveEx(string topic, string msgData) { //娌℃湁浠讳綍鐩戝惉 - if (ListCloudEvent.Count == 0) { return; } + if (ListCloudEvent.Count == 0) { return false; } //璁惧鍏ョ綉涓婃姤涓婚(鐩墠鍙湁绾㈠瀹�) - if (topic == DriverLayer.CommunicationTopic.ct.AddDevicePush) + if (topic == $"/user/{Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID}/app/thing/topo/found") { for (int i = 0; i < this.ListCloudEvent.Count; i++) { //鍥炶皟浜嬩欢 this.ListCloudEvent[i].CloudReceiveEvent(CloudPushEnum.A鏂拌澶囦笂鎶�, msgData); } + return true; } + return false; } #endregion diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs index 1120bdd..17c9dc1 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection1Page.cs @@ -66,7 +66,8 @@ { this.CloseForm(); var form = new AddMiniRemoteControlDirection2Page(); - form.AddForm(); + //鍒濆wifi鍜屽瘑鐮佷负绌� + form.AddForm(string.Empty, string.Empty); } }); }; diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs index 93c6491..220c220 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection2Page.cs @@ -13,6 +13,15 @@ { #region 鈻� 鍙橀噺澹版槑___________________________ + /// <summary> + /// wifi鍚� + /// </summary> + private string wifiName = string.Empty; + /// <summary> + /// wifi瀵嗙爜 + /// </summary> + private string wifiPassword = string.Empty; + #endregion #region 鈻� 鍒濆鍖朹____________________________ @@ -20,8 +29,13 @@ /// <summary> /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) /// </summary> - public void ShowForm() + /// <param name="i_wifiName">wifi鍚�(鍒殑鐣岄潰浼犺繃鏉ョ殑)</param> + /// <param name="i_wifiPassword">(鍒殑鐣岄潰浼犺繃鏉ョ殑)</param> + public void ShowForm(string i_wifiName, string i_wifiPassword) { + this.wifiName = i_wifiName; + this.wifiPassword = i_wifiPassword; + //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Language.StringByID(StringId.AddInfraredRemoteControl)); //杩欎釜鐣岄潰鐨勮儗鏅渶瑕佺櫧鑹� @@ -124,8 +138,12 @@ { this.CloseForm(); var form = new AddMiniRemoteControlDirection3Page(); - form.AddForm(); + form.AddForm(this.wifiName, this.wifiPassword); }); + } + else + { + HdlBluetoothLogic.Current.Dispone(); } }); } @@ -149,9 +167,13 @@ { this.CloseForm(); var form = new AddMiniRemoteControlDirection3Page(); - form.AddForm(); + form.AddForm(this.wifiName, this.wifiPassword); }); } + else + { + HdlBluetoothLogic.Current.Dispone(); + } }); }); } diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection3Page.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection3Page.cs index 5fd6f0e..3d08125 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection3Page.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection3Page.cs @@ -21,6 +21,14 @@ /// wifi鐨勭嚎绋嬫槸鍚﹀惎鍔� /// </summary> private bool WifiThreadAction = false; + /// <summary> + /// wifi鍚�(鍒殑鐣岄潰浼犺繃鏉ョ殑) + /// </summary> + private string wifiName = string.Empty; + /// <summary> + /// wifi瀵嗙爜(鍒殑鐣岄潰浼犺繃鏉ョ殑) + /// </summary> + private string wifiPassword = string.Empty; #endregion @@ -29,8 +37,13 @@ /// <summary> /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) /// </summary> - public void ShowForm() + /// <param name="i_wifiName">wifi鍚�(鍒殑鐣岄潰浼犺繃鏉ョ殑)</param> + /// <param name="i_wifiPassword">(鍒殑鐣岄潰浼犺繃鏉ョ殑)</param> + public void ShowForm(string i_wifiName, string i_wifiPassword) { + this.wifiName = i_wifiName; + this.wifiPassword = i_wifiPassword; + //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Language.StringByID(StringId.AddInfraredRemoteControl)); //杩欎釜鐣岄潰鐨勮儗鏅渶瑕佺櫧鑹� @@ -38,6 +51,14 @@ //鍒濆鍖栦腑閮ㄤ俊鎭� this.InitMiddleFrame(); + + //閲嶅啓搴曞眰鐨勮繑鍥炴寜閿� + this.BackButtonClickEvent += () => + { + //鍏虫帀钃濈墮 + HdlBluetoothLogic.Current.Dispone(); + this.CloseForm(); + }; } /// <summary> @@ -65,7 +86,7 @@ rowWifi.Y = yy + Application.GetRealHeight(32); bodyFrameLayout.AddChidren(rowWifi); //wifi鍚嶅瓧 - var txtWifi = rowWifi.frameTable.AddLeftInput("", 200); + var txtWifi = rowWifi.frameTable.AddLeftInput(wifiName, 200); txtWifi.TextColor = CSS.CSS_Color.FirstLevelTitleColor; //搴曠嚎 rowWifi.frameTable.AddBottomLine(); @@ -79,13 +100,18 @@ //鍒锋柊wifi鍚嶅瓧 this.RefreshWifiName(txtWifi); }; + if (this.wifiName != string.Empty) + { + //杩欎釜鏃跺�欐槸閲嶈瘯妯″紡,涓嶅厑璁哥偣鍑� + btnRight.CanClick = false; + } //瀵嗙爜琛� var rowPsw = new RowLayoutControl(); rowPsw.Y = rowWifi.Bottom; bodyFrameLayout.AddChidren(rowPsw); //瀵嗙爜 - var txtPsw = rowPsw.frameTable.AddLeftInput("551775569", 200); + var txtPsw = rowPsw.frameTable.AddLeftInput(wifiPassword, 200); txtPsw.TextColor = CSS.CSS_Color.FirstLevelTitleColor; txtPsw.PlaceholderText = Language.StringByID(StringId.Password); txtPsw.SecureTextEntry = true; @@ -100,6 +126,22 @@ btnView.IsSelected = !btnView.IsSelected; txtPsw.SecureTextEntry = !btnView.IsSelected; }; + if (this.wifiName != string.Empty) + { + //杩欎釜鏃跺�欐槸閲嶈瘯妯″紡,涓嶉渶瑕佺偣鍑� + HdlThreadLogic.Current.RunThread(() => + { + System.Threading.Thread.Sleep(1000); + HdlThreadLogic.Current.RunMain(() => + { + //杩涘叆涓嬩竴涓晫闈� + this.CloseForm(); + var form = new AddMiniRemoteControlDirection4Page(); + form.AddForm(wifiName, wifiPassword); + }); + }); + return; + } //涓嬩竴姝� var btnNext = this.AddBottomClickButton(Language.StringByID(StringId.Next)); diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs index daa79cc..de75ae9 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs @@ -252,7 +252,9 @@ btnReDo.ButtonClickEvent += (sender, e) => { //閲嶆柊鍒濆鍖栦腑閮ㄤ俊鎭� - this.InitMiddleFrame(); + this.CloseForm(); + var form = new AddMiniRemoteControlDirection2Page(); + form.AddForm(this.wifiName, this.wifiPsw); }; } @@ -273,6 +275,59 @@ #endregion + #region 鈻� 绾㈠瀹濈浉鍏虫柟娉昣____________________ + + /// <summary> + /// 妫�娴嬫槸鍚︽槸鏂扮殑绾㈠瀹� + /// </summary> + /// <param name="pushEnum">鎺ㄩ�佹灇涓�</param> + /// <param name="i_data">鎺ㄩ�佺殑鏁版嵁</param> + /// <returns></returns> + private bool CheckIsNewMiniRemoteControl(CloudPushEnum pushEnum, string i_data) + { + if (pushEnum != CloudPushEnum.A鏂拌澶囦笂鎶�) { return false; } + + try + { + var strSpk = string.Empty; + //杞负json + var json = Newtonsoft.Json.Linq.JObject.Parse(i_data); + var linqArry = json["objects"] as Newtonsoft.Json.Linq.JArray; + if (linqArry != null) + { + //鏁扮粍绫诲瀷 + if (linqArry.Count == 0) { return false; } + strSpk = linqArry[0]["spk"].ToString(); + } + else + { + //闈炴暟缁勭被鍨� + strSpk = json["objects"]["spk"].ToString(); + } + if (strSpk != Entity.SPK.IrModule) + { + //濡傛灉涓嶆槸绾㈠瀹濈殑璇� + return false; + } + return true; + } + catch { return false; } + } + + /// <summary> + /// 鍒锋柊绾㈠瀹濅俊鎭� + /// </summary> + private void RefreshMiniRemoteControlInfo() + { + var pra = new Dictionary<string, object>(); + pra.Add("homeId", Entity.DB_ResidenceData.Instance.CurrentRegion.RegionID); + + var requestJson = DAL.Server.HttpUtil.GetSignRequestJson(pra); + DAL.Server.HttpUtil.RequestHttpsPostFroHome(DAL.Server.NewAPI.Api_Post_GetDevcieList, requestJson); + } + + #endregion + #region 鈻� 浜戠鍙嶉___________________________ /// <summary> @@ -282,7 +337,13 @@ /// <param name="i_data">鎺ㄩ�佺殑鍐呭</param> private void CloudReceiveEvent(CloudPushEnum pushEnum, string i_data) { - if (pushEnum != CloudPushEnum.A鏂拌澶囦笂鎶�) { return; } + //妫�娴嬫槸鍚︽槸鏂扮殑绾㈠瀹� + if (this.CheckIsNewMiniRemoteControl(pushEnum, i_data) == false) + { + return; + } + //鍒锋柊绾㈠瀹濅俊鎭� + this.RefreshMiniRemoteControlInfo(); //鎺ユ敹鍒板氨绉婚櫎杩欎釜浜嬩欢 HdlCloudReceiveLogic.Current.RemoveCloudReceiveEvent("AddMiniRemoteControlDirection4Page"); @@ -360,8 +421,8 @@ { HdlThreadLogic.Current.RunThread(() => { - //300绉掕秴鏃� - int timeout = 300; + //360绉掕秴鏃� + int timeout = 360; while (this.timeoutThreadActivity == false && this.Parent != null) { System.Threading.Thread.Sleep(1000); -- Gitblit v1.8.0