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