From e1a8f2f7e4d850beedeb1469610b878c1427e976 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 15 十二月 2021 09:01:53 +0800
Subject: [PATCH] 更新

---
 SiriIntents/HDLRunSceneIntentHandlder.cs |   70 +++++++++++++++++++++++++++++++----
 1 files changed, 62 insertions(+), 8 deletions(-)

diff --git a/SiriIntents/HDLRunSceneIntentHandlder.cs b/SiriIntents/HDLRunSceneIntentHandlder.cs
index 99f94ee..6d260c2 100644
--- a/SiriIntents/HDLRunSceneIntentHandlder.cs
+++ b/SiriIntents/HDLRunSceneIntentHandlder.cs
@@ -1,4 +1,5 @@
 锘縰sing System;
+using System.Collections.Generic;
 using Foundation;
 using HDLSceneSiri;
 using ObjCRuntime;
@@ -28,14 +29,14 @@
                 }
                 else
                 {
-                    var rsp = new HDLRunSceneIntentResponse(HDLRunSceneIntentResponseCode.Failure, null);
+                    var rsp = new HDLRunSceneIntentResponse(HDLRunSceneIntentResponseCode.Error, null);
                     if (NSLocale.PreferredLanguages[0].Contains("zh-"))
                     {
                         rsp.SuccessMessage = "璐﹀彿鏈櫥褰�";
                     }
                     else
                     {
-                        rsp.SuccessMessage = "Not logged in to the app";
+                        rsp.SuccessMessage = "Not logged in to the app.";
                     }
                     completion(rsp);
                 }
@@ -54,7 +55,35 @@
             {
                 if (Server.HttpServerRequest.Ins.DataManager.IsLgoin)
                 {
-                    var result = Server.HttpServerRequest.Ins.ExecuteScene(intent.SceneId);
+                    if(Server.HttpServerRequest.Ins.DataManager.HomeId!= intent.HomeId)
+                    {
+                        var rsp = new HDLRunSceneIntentResponse(HDLRunSceneIntentResponseCode.Error, null);
+                        if (NSLocale.PreferredLanguages[0].Contains("zh-"))
+                        {
+                            rsp.SuccessMessage = "浣忓畢涓嶅尮閰�";
+                        }
+                        else
+                        {
+                            rsp.SuccessMessage = "Residential mismatch.";
+                        }
+                        completion(rsp);
+                        return;
+                    }
+
+                    var result = "-1";
+                    if (intent.ControlType == "1")
+                    {
+                        result = Server.HttpServerRequest.Ins.ExecuteScene(intent.ControlId);
+                    }
+                    else
+                    {
+
+                        var security = Newtonsoft.Json.JsonConvert.DeserializeObject<SecurityState>(intent.ControlJSONStr);
+                        var sendObj = new List<SecurityState>() { new SecurityState() {
+                             gatewayId =security.gatewayId,sid = security.sid, status = security.status, userSecurityId = security.userSecurityId
+                        } };
+                        result = Server.HttpServerRequest.Ins.SetSecurityStatus(sendObj);
+                    }
                     if (result == "0")
                     {
                         var rsp = new HDLRunSceneIntentResponse(HDLRunSceneIntentResponseCode.Success, null);
@@ -64,34 +93,34 @@
                         }
                         else
                         {
-                            rsp.SuccessMessage = "Successful execution";
+                            rsp.SuccessMessage = "Successful execution ";
                         }
                         completion(rsp);
                     }
                     else
                     {
-                        var rsp = new HDLRunSceneIntentResponse(HDLRunSceneIntentResponseCode.Failure, null);
+                        var rsp = new HDLRunSceneIntentResponse(HDLRunSceneIntentResponseCode.Error, null);
                         if (NSLocale.PreferredLanguages[0].Contains("zh-"))
                         {
                             rsp.SuccessMessage = "鎵ц澶辫触";
                         }
                         else
                         {
-                            rsp.SuccessMessage = "Execution failed";
+                            rsp.SuccessMessage = "Execution failed.";
                         }
                         completion(rsp);
                     }
                 }
                 else
                 {
-                    var rsp = new HDLRunSceneIntentResponse(HDLRunSceneIntentResponseCode.Failure, null);
+                    var rsp = new HDLRunSceneIntentResponse(HDLRunSceneIntentResponseCode.Error, null);
                     if (NSLocale.PreferredLanguages[0].Contains("zh-"))
                     {
                         rsp.SuccessMessage = "璐﹀彿鏈櫥褰�";
                     }
                     else
                     {
-                        rsp.SuccessMessage = "Not logged in to the app";
+                        rsp.SuccessMessage = "Not logged in to the app.";
                     }
                     completion(rsp);
                 }
@@ -104,4 +133,29 @@
             }
         }
     }
+
+
+    /// <summary>
+    /// 瀹夐槻鐘舵�侀厤缃�
+    /// </summary>
+    public class SecurityState
+    {
+        /// <summary>
+        /// 瀹夐槻浜戠id
+        /// </summary>
+        public string userSecurityId;
+        /// <summary>
+        /// 缃戝叧id 缃戝叧id 濡傛灉浼犵殑鏄痵id璇ュ瓧娈甸渶瑕佷紶
+        /// </summary>
+        public string gatewayId;
+        /// <summary>
+        /// 瀹夐槻sid
+        /// </summary>
+        public string sid;
+        /// <summary>
+        /// 鐘舵�� enable甯冮槻銆乨isable鎾掗槻
+        /// </summary>
+        public string status;
+    }
+
 }

--
Gitblit v1.8.0