wxr
2021-12-15 e1a8f2f7e4d850beedeb1469610b878c1427e976
SiriIntents/HDLRunSceneIntentHandlder.cs
@@ -1,4 +1,5 @@
using 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 如果传的是sid该字段需要传
        /// </summary>
        public string gatewayId;
        /// <summary>
        /// 安防sid
        /// </summary>
        public string sid;
        /// <summary>
        /// 状态 enable布防、disable撒防
        /// </summary>
        public string status;
    }
}