From 9a4b76398009cf76c508d61f7e48fb6f5cb7ac2d Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期二, 21 七月 2020 09:46:53 +0800 Subject: [PATCH] 请合并最新多功能面板代码 --- ZigbeeApp/Shared/Phone/Device/Logic/Send.cs | 138 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 108 insertions(+), 30 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs old mode 100755 new mode 100644 index c2fa1b9..5959afd --- a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs @@ -7,6 +7,7 @@ using System.Collections.Specialized; using System.Net; using System.IO; +using System.Diagnostics.CodeAnalysis; namespace Shared.Phone.Device.Logic { @@ -22,6 +23,7 @@ return await System.Threading.Tasks.Task.Run(async () => { List<int> logicIdList = new List<int>(); + Action<string, string> action = (topic, data) => { var gatewayID = topic.Split('/')[0]; @@ -43,6 +45,7 @@ { var logicId = int.Parse(listIfon["LogicId"].ToString()); logicIdList.Add(logicId); + } } @@ -54,11 +57,17 @@ return logicIdList; } mainGateWay.GwResDataAction += action; - - var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 2004 } }; - var jObjectdata1 = new JObject { { "LogicType", LogicType } }; - jObject.Add("Data", jObjectdata1); - mainGateWay?.Send("Logic/GetLogicList", jObject.ToString()); + try + { + var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 2004 } }; + var jObjectdata1 = new JObject { { "LogicType", LogicType } }; + jObject.Add("Data", jObjectdata1); + mainGateWay?.Send("Logic/GetLogicList", jObject.ToString()); + } + catch (Exception e) + { + var d = e.Message; + } //await System.Threading.Tasks.Task.Run(async () => //{ var dateTime = DateTime.Now; @@ -175,7 +184,7 @@ }); } ///<summary> - /// 鍒犻櫎閫昏緫 + /// 鍒犻櫎閫昏緫(0鎴愬姛,鍏跺畠鍊�:澶辫触) /// </summary> public static async System.Threading.Tasks.Task<int> DelLogic(int LogicId) { @@ -292,6 +301,7 @@ ["RemindTime"] = int.Parse(dictionary["RemindTime"]), ["EnDelay"] = int.Parse(dictionary["EnDelay"]), ["DelayTime"] = int.Parse(dictionary["DelayTime"]), + ["DoorLockOpenDelayTime"] = int.Parse(dictionary["DoorLockOpenDelayTime"]), }; if (dictionary["DateType"].ToString() == "0") { @@ -462,6 +472,16 @@ }; actions.Add(timeInfo); break; + case 8: + var lockInfo = new JObject + { + ["LinkType"] = int.Parse(dictionary["LinkType"].ToString()), + ["DeviceAddr"] = dictionary["DeviceAddr"].ToString(), + ["Epoint"] = int.Parse(dictionary["Epoint"].ToString()), + ["PassData"] = dictionary["PassData"].ToString(), + }; + actions.Add(lockInfo); + break; } } var accounts = new JArray(); @@ -480,8 +500,18 @@ ["Type"] = int.Parse(dictionary["Type"]), ["Account"] = dictionary["Account"], ["UserId"] = dictionary["UserId"], + ["AccountName"] = dictionary["AccountName"], }; + + if (dictionary.ContainsKey("Option4")) + { + accounts1.Add("Option4", dictionary["Option4"]); + } + if (dictionary.ContainsKey("Option2")) + { + accounts1.Add("Option2", int.Parse(dictionary["Option2"])); + } accounts.Add(accounts1); } } @@ -500,9 +530,28 @@ accounts.Add(location); } break; + case 8: + { + var accounts1 = new JObject(); + if (dictionary.ContainsKey("Type")) + { + accounts1.Add("Type", int.Parse(dictionary["Type"])); + } + if (dictionary.ContainsKey("Option4")) + { + accounts1.Add("Option4", dictionary["Option4"]); + } + if (dictionary.ContainsKey("Option2")) + { + accounts1.Add("Option2", int.Parse(dictionary["Option2"])); + } + accounts.Add(accounts1); + } + break; } } + var data = new JObject{ { "LogicId",logic.LogicId}, { "IsEnable", logic.IsEnable} , @@ -697,7 +746,7 @@ } catch { } var dateTime = DateTime.Now; - while ((DateTime.Now - dateTime).TotalMilliseconds < 8 * 1000) + while ((DateTime.Now - dateTime).TotalMilliseconds < 5 * 1000) { await System.Threading.Tasks.Task.Delay(100); if (sum == listLogic.Count) @@ -825,9 +874,19 @@ { //鏈嶅姟杩斿洖鏉ユ病鏈夐棬閿佹垚鍛樹俊鎭紝娌℃湁蹇呰鍐嶅幓璇锋眰鎴愬憳鍒楄〃锛� //鍘熷洜锛氳妭绾︽椂闂达紝浣撻獙鏁堟灉濂斤紱 - result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra); + result = UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra); + } + if (string.IsNullOrEmpty(result)) + { + //闃叉涓虹┖鎶涘紓甯革紱 + return userlist; } - var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result); + var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result); + if (listInfo == null) + { + //闃叉涓虹┖鎶涘紓甯革紱 + return userlist; + } for (int i = 0; i < listInfo.Count; i++) { @@ -917,7 +976,7 @@ { string s = null; var str = await WebClientAsync(0, CommonPage.RequestHttpsHost + "/App/GetHomePager");//涓嶅悓鍖哄煙鍩熷悕鍓嶇紑涓嶄竴鏍� - // var str = await WebClientAsync(0, "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetHomePager"); + var jObject = JObject.Parse(str); if (jObject == null || jObject["StateCode"].ToString() != "Success") { @@ -942,13 +1001,11 @@ residential.IsOtherAccountCtrl = true; residential.doorlockmac = doorlockMac; residential.Url = CommonPage.RequestHttpsHost + "/App/GetSharedHomeApiControl"; - //residential.Url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/App/GetSharedHomeApiControl"; s = await ReadUserDoorLock(residential); } else { residential.Url = CommonPage.RequestHttpsHost + "/DoorLock/GetDoorLockPager"; - //residential.Url = "https://global.hdlcontrol.com/HangZhouHdlCloudApi/DoorLock/GetDoorLockPager"; residential.Token = Config.Instance.Token; residential.Id = Config.Instance.HomeId; residential.IsOtherAccountCtrl = false; @@ -981,7 +1038,7 @@ lockifon.doorlockmac = residential.doorlockmac; return await WebClientAsync(2, lockifon.Url, lockifon); } - + public class Residential { /// <summary> @@ -1097,6 +1154,14 @@ /// <param name="logic">閫昏緫瀵硅薄</param> public static void Zj(bool tag, Common.Logic logic) { + + if (string.IsNullOrEmpty(logic.LogicCustomPushText)) + { + ///榛樿鎺ㄩ�佽嚜瀹氫箟鍐呭 + string str = logic.LogicName + Language.StringByID(R.MyInternationalizationString.defaulttext); + logic.LogicCustomPushText = str; + } + new System.Threading.Thread(() => { if (logic.LogicId != 0) @@ -1173,33 +1238,46 @@ /// <param name="method">璇锋眰鏂瑰紡涓篜OST/GET</param> /// <param name="second">瓒呮椂鏃堕棿</param> /// <returns></returns> - public static async System.Threading.Tasks.Task<string> HttpWebRequest(string getUrl, string str, string method, int second = 3) + public static async System.Threading.Tasks.Task<string> HttpWebRequest(string getUrl, string str, string method, int second = 3, bool _bool = false) { HttpWebRequest request = WebRequest.Create(getUrl) as HttpWebRequest; //鍒涘缓璇锋眰 request.Method = method; //璇锋眰鏂瑰紡涓篜OST/GET request.ContentType = "application/json"; request.Timeout = second * 1000;//瓒呮椂鏃堕棿 - if (method == "POST") - { - byte[] jsonbyte = System.Text.Encoding.UTF8.GetBytes(str); - request.ContentLength = jsonbyte.Length; - Stream postStream = request.GetRequestStream(); - postStream.Write(jsonbyte, 0, jsonbyte.Length); - postStream.Close(); - } - //鍙戦�佽姹傚苟鑾峰彇鐩稿簲鍥炲簲鏁版嵁 - HttpWebResponse res; try { - res = (HttpWebResponse)request.GetResponse(); + if (_bool) + { + //鐢ㄤ簬楂樿儨鍙瀵硅鎺ュ彛 + request.Headers.Add("Authorization", Config.Instance.Token); + } + if (method == "POST") + { + byte[] jsonbyte = System.Text.Encoding.UTF8.GetBytes(str); + request.ContentLength = jsonbyte.Length; + Stream postStream = request.GetRequestStream(); + postStream.Write(jsonbyte, 0, jsonbyte.Length); + postStream.Close(); + } + //鍙戦�佽姹傚苟鑾峰彇鐩稿簲鍥炲簲鏁版嵁 + HttpWebResponse res; + try + { + res = (HttpWebResponse)request.GetResponse(); + } + catch (WebException ex) + { + res = (HttpWebResponse)ex.Response; + } + StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8); + string content = sr.ReadToEnd(); //鑾峰緱鍝嶅簲瀛楃涓� + return content; } - catch (WebException ex) + catch { - res = (HttpWebResponse)ex.Response; + return null; } - StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8); - string content = sr.ReadToEnd(); //鑾峰緱鍝嶅簲瀛楃涓� - return content; + } /// <summary> /// 璇锋眰鏈嶅姟鍣ㄧ殑鏂规硶 -- Gitblit v1.8.0