From 203c3a3ffde6259413d9743f6a723b95b1e7989c Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 06 七月 2023 22:43:05 +0800 Subject: [PATCH] 门锁功能 --- HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs | 89 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 80 insertions(+), 9 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs index 0c1a78e..7274673 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs @@ -23,6 +23,7 @@ } } public List<Face> faceList = new List<Face>(); + public List<Face> VideoDoorLockUserListInfo = new List<Face>(); /// <summary> /// 璋冪敤鑾峰彇浣忓畢瀛愯处鍙峰垪琛� /// </summary> @@ -113,6 +114,10 @@ { var inputTypeJOb = new JObject { }; inputTypeJOb.Add("sid", dictionary.sid); + if (!string.IsNullOrEmpty(dictionary.hold_time)) + { + inputTypeJOb.Add("hold_time", dictionary.hold_time); + } inputTypeJOb.Add("condition_type", dictionary.condition_type); if (dictionary.condition_type=="9") { inputTypeJOb.Add("identifier", dictionary.identifier); @@ -197,6 +202,7 @@ logicIfon.Add("pushConfigs", pushConfigsArray); logicjArray.Add(logicIfon); var jObject = new JObject { { "homeId", LogicMethod.Current.HomeId }, { "logics", logicjArray } }; + string str = jObject.ToString(); responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Add, "娣诲姞鑷姩鍖�", 5); //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken if (responsePackNew.Code == StateCode.TOKEN_EXPIRED) @@ -239,8 +245,15 @@ { var inputTypeJOb = new JObject { }; inputTypeJOb.Add("sid", dictionary.sid); + if (!string.IsNullOrEmpty(dictionary.hold_time)) + { + inputTypeJOb.Add("hold_time", dictionary.hold_time); + } inputTypeJOb.Add("condition_type", dictionary.condition_type); - + if (dictionary.condition_type == "9") + { + inputTypeJOb.Add("identifier", dictionary.identifier); + } var conditionArray = new JArray { }; foreach (var dic in dictionary.condition) { @@ -327,7 +340,6 @@ logicjArray.Add(logicIfon); var jObject = new JObject { { "homeId", LogicMethod.Current.HomeId }, { "logics", logicjArray } }; - string str = jObject.ToString(); responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Logic_Update, "缂栬緫鏇存柊鑷姩鍖�", 5); //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken @@ -459,16 +471,75 @@ } + /// <summary> + /// 鑾峰彇浣忓畢宸插綍鍏ヤ汉鑴镐俊鎭� + /// </summary> + /// <param name="deviceId">鍙瀵硅璁惧id</param> + /// <returns></returns> + public List<Face> GetHomeFaceList(string deviceId, bool isTip) + { + var jObject = new JObject(); + jObject.Add("homeId", LogicMethod.Current.HomeId); + jObject.Add("deviceId", deviceId); + var responsePackNew = RequestServerhomeId(jObject, NewAPI.Api_Post_GetListHomeFace, "鑾峰彇浣忓畢宸插綍鍏ヤ汉鑴镐俊鎭�"); + //濡傛灉鏄痶oken杩囨湡鍒欏埛鏂皌oken + if (responsePackNew.Code == StateCode.TOKEN_EXPIRED) + { + RefreshToken(); + GetListHomeFace(deviceId, isTip); + } + if (Check(responsePackNew, isTip) == false) + { + return new List<Face>(); + } + var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Face>>(responsePackNew.Data.ToString()); + if (list == null) + { + list = new List<Face>(); + } + faceList.Clear(); + faceList.AddRange(list); + return list; + + } + + /// <summary> + /// 鑾峰彇闂ㄩ攣鐢ㄦ埛鍒楄〃(钀ょ煶瑙嗛闂ㄩ攣) + /// </summary> + /// <param name="deviceId">璁惧</param> + /// <returns></returns> + public List<Face> GetVideoDoorLockUserListInfo(Function device) + { + var userList = FuntionControlView.VideoDoorLock.VideDoorLockSend.Current.GetVideoDoorLockUserListInfo(device); + List<Face> faceIdList = new List<Face>(); + for (int i = 0; i < userList.Count; i++) + { + Face face = new Face(); + var user = userList[i]; + face.userId = user.extUserId; + face.userName = user.extUserName; + faceIdList.Add(face); + } + VideoDoorLockUserListInfo.Clear(); + VideoDoorLockUserListInfo.AddRange(faceIdList); + return faceIdList; + } + + + /// <summary> ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛� /// </summary> + /// <param name="o">鍙戦�佹暟鎹�</param> + /// <param name="api_Url">璇锋眰鍦板潃(涓嶆槸缁濆鍦板潃)</param> + /// <param name="tag">鏍囪->鎻忚堪鎺ュ彛(鑷畾涔�)</param> /// <returns></returns> - public ResponsePackNew RequestServerhomeId(object o, string api_Url, string tag,int mTimeout = 3) + public ResponsePackNew RequestServerhomeId(object o, string api_Url, string tag,int mTimeout = 3) { - Log($"{DateTime.Now}->鍙戦��->{tag}", o.ToString()); + Log($"{DateTime.Now}->鍙戦��->{tag}", api_Url,o.ToString()); var requestJson = HttpUtil.GetSignRequestJson(o); var r= HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout); - Log($"{DateTime.Now}->鍥炲->{tag}", Newtonsoft.Json.JsonConvert.SerializeObject(r)); + Log($"{DateTime.Now}->鍥炲->{tag}", "", Newtonsoft.Json.JsonConvert.SerializeObject(r)); return r; } @@ -481,10 +552,10 @@ /// <returns></returns> public ResponsePackNew RequestServer(object o, string api_Url,string tag) { - Log($"鍙戦��->{tag}", o.ToString()); + Log($"鍙戦�佹暟鎹�->{tag}", api_Url, o.ToString()); var requestJson = HttpUtil.GetSignRequestJson(o); var r = HttpUtil.RequestHttpsPost(api_Url, requestJson); - Log($"鍥炲->{tag}", Newtonsoft.Json.JsonConvert.SerializeObject(r)); + Log($"鍥炲鏁版嵁->{tag}", "", Newtonsoft.Json.JsonConvert.SerializeObject(r)); return r; } /// <summary> @@ -521,10 +592,10 @@ /// </summary> /// <param name="tag">鎵撳嵃鏍囪</param> /// <param name="content">鎵撳嵃鍐呭</param> - public void Log(string tag, string content) + public void Log(string tag,string url, string content) { #if DEBUG - Console.WriteLine(tag + $"\r\n鏁版嵁鍐呭->->{content}"); + Console.WriteLine(tag + $"\r\n{url}\r\n{content}"); #endif } -- Gitblit v1.8.0