From a45fe56aeeac8f28a9891b83362954067c8166dc Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期五, 14 八月 2020 09:07:05 +0800
Subject: [PATCH] 请合并新代码,更改多功能面板绑定表重复问题
---
ZigbeeApp/Shared/Phone/Device/Logic/Send.cs | 147 +++++++++++++++++++++++++++++++++++-------------
1 files changed, 106 insertions(+), 41 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
index dbca6ba..04d882d 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
@@ -22,6 +22,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];
@@ -30,7 +31,7 @@
{
return;
}
-
+
if (topic == $"{gatewayID}/Logic/GetLogicList_Respon")
{
@@ -43,6 +44,7 @@
{
var logicId = int.Parse(listIfon["LogicId"].ToString());
logicIdList.Add(logicId);
+
}
}
@@ -54,11 +56,16 @@
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 +182,7 @@
});
}
///<summary>
- /// 鍒犻櫎閫昏緫
+ /// 鍒犻櫎閫昏緫(0鎴愬姛,鍏跺畠鍊�:澶辫触)
/// </summary>
public static async System.Threading.Tasks.Task<int> DelLogic(int LogicId)
{
@@ -260,7 +267,7 @@
try
{
-
+
var jObject = new JObject { { "Cluster_ID", 0 }, { "Command", 2000 } };
var selectMonthList = new JArray { };
foreach (var intvalue in logic.TimeAttribute.SelectMonDate)
@@ -292,6 +299,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")
{
@@ -490,8 +498,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);
}
}
@@ -510,9 +528,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} ,
@@ -707,7 +744,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)
@@ -835,9 +872,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++)
{
@@ -927,7 +974,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")
{
@@ -952,13 +999,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;
@@ -1107,6 +1152,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)
@@ -1183,33 +1236,45 @@
/// <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();
+ try
+ {
+ HttpWebRequest request = WebRequest.Create(getUrl) as HttpWebRequest; //鍒涘缓璇锋眰
+ request.Method = method; //璇锋眰鏂瑰紡涓篜OST/GET
+ request.ContentType = "application/json";
+ request.Timeout = second * 1000;//瓒呮椂鏃堕棿
+ 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;
}
- //鍙戦�佽姹傚苟鑾峰彇鐩稿簲鍥炲簲鏁版嵁
- HttpWebResponse res;
- try
- {
- res = (HttpWebResponse)request.GetResponse();
+ catch
+ {
+ return null;
}
- catch (WebException ex)
- {
- res = (HttpWebResponse)ex.Response;
- }
- StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8);
- string content = sr.ReadToEnd(); //鑾峰緱鍝嶅簲瀛楃涓�
- return content;
}
/// <summary>
/// 璇锋眰鏈嶅姟鍣ㄧ殑鏂规硶
@@ -1296,8 +1361,8 @@
/// 鍒ゆ柇瀛楀吀鏄惁瀛樺湪鐨勬柟娉�
/// </summary>
/// <param name="deviceConditionsInfo"></param>
- /// <param name="Key"></param>
- /// <param name="Value"></param>
+ /// <param name="Key">閿�</param>
+ /// <param name="Value">閿��</param>
public static void dictionary(Dictionary<string, string> deviceConditionsInfo, string Key, string Value)
{
if (deviceConditionsInfo.ContainsKey(Key))
@@ -1307,6 +1372,6 @@
deviceConditionsInfo.Add(Key, Value);
}
-
+
}
}
--
Gitblit v1.8.0