From 4f0ab0ad21ce450b7856d50f98322a7899361386 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 22 九月 2020 10:30:01 +0800
Subject: [PATCH] 不要下载这个备份
---
ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs | 893 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 787 insertions(+), 106 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs
index 1d08afe..826613d 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/DoorLock.cs
@@ -35,21 +35,29 @@
public string currentUserDisplayMethod = string.Empty;//褰撳墠鐢ㄦ埛鏄剧ず鏂瑰紡
//鏈湴鎵�鏈夎处鎴峰垪琛�
public List<Shared.Phone.UserCenter.MemberInfoRes> localAllAccountList = new List<Shared.Phone.UserCenter.MemberInfoRes> { };
+
+ /// <summary>
+ /// 鏄惁甯稿紑妯″紡
+ /// ture:甯稿紑锛� false:鍏抽棴
+ /// </summary>
+ public bool IsDoorLockNormallyMode = false;
+ [Newtonsoft.Json.JsonIgnore]
public string LocalTempPassword = string.Empty;//鏈湴鐢熸垚鐨勪复鏃跺瘑鐮�
public Dictionary<string, bool> IsFreezeAccount = new Dictionary<string, bool> { };//鏄惁鍐荤粨瀛愯处鎴�
public Dictionary<string, bool> HasRemoteUnlockAccess = new Dictionary<string, bool> { };//鏄惁缁欏瓙璐︽埛鎷ユ湁杩滅▼寮�閿佺殑鏉′欢
public Dictionary<string, bool> IsFailedToGetDoorLockInfo = new Dictionary<string, bool> { };//鏄惁鑾峰彇闂ㄩ攣鏁版嵁澶辫触
+ [Newtonsoft.Json.JsonIgnore]
public string RemoteUnlockPassword = string.Empty;//杩滅▼寮�閿佸瘑鐮�
public static int RemoteUnlockCount = 5;//杩滅▼寮�閿佹鏁伴檺鍒�
public static int failedCount = 3;//杩滅▼寮�閿佸け璐ユ鏁�
- public static DateTime maxValue = DateTime.MaxValue;
public static DateTime minValue = DateTime.MinValue;
#region 涓存椂瀵嗙爜淇℃伅
/// <summary>
/// 鐢ㄦ埛绠$悊鍙戦�佹暟鎹洖澶�
/// </summary>
+ [Newtonsoft.Json.JsonIgnore]
public TempPasswordObject tempPasswordObject;
/// <summary>
/// 涓存椂瀵嗙爜鏈湴瀵硅薄
@@ -492,6 +500,25 @@
/// 浜戠甯愬彿Id -->閿悕 : CloudAccountId (鍙��)
/// </summary>
public string CloudAccountId = "";
+ /// <summary>
+ /// 绗嚑椤�
+ /// </summary>
+ public PageSetting pageSetting = new PageSetting();
+ }
+
+ /// <summary>
+ /// 鑾峰彇闂ㄩ攣
+ /// </summary>
+ public class PageSetting
+ {
+ /// <summary>
+ /// 绗嚑椤�
+ /// </summary>
+ public int Page = 1;
+ /// <summary>
+ /// 绗嚑椤�
+ /// </summary>
+ public int PageSize = 10;
}
[Serializable]
@@ -601,11 +628,11 @@
//璁块棶鎺ュ彛
if (UserCenterResourse.UserInfo.AuthorityNo == 1)
{
- result1 = await CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(RequestName, byteData);
+ result1 = CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(RequestName, byteData);
}
else
{
- result1 = await CommonPage.Instance.RequestZigbeeHttpsByAdmin(RequestName, byteData);
+ result1 = CommonPage.Instance.RequestZigbeeHttpsByAdmin(RequestName, byteData);
}
if (result1 != null)
{
@@ -635,7 +662,11 @@
return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<List<Shared.Phone.UserCenter.MemberInfoRes>>>)(async () =>
{
var pra = new Shared.Phone.UserCenter.MemberListInfoPra();
- string result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
+ string result = UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
+ if (result == null)
+ {
+ return null;
+ }
var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Shared.Phone.UserCenter.MemberInfoRes>>(result);
return listInfo;
}));
@@ -659,6 +690,7 @@
/// <summary>
/// 闂ㄩ攣鎿嶄綔浜嬩欢閫氱煡
/// </summary>
+ [Newtonsoft.Json.JsonIgnore]
public DoorLockOperatingEventNotificationCommand doorLockOperatingEventNotificationCommand;
/// <summary>
/// 闂ㄩ攣鎿嶄綔浜嬩欢閫氱煡
@@ -902,13 +934,14 @@
/// Unlock鍛戒护锛歟rror,invalid schedule浜嬩欢
/// </summary>
UnlockInvalidScheduleEvent = 6,
- }
+ }
#endregion
-
+
#region 闂ㄩ攣缂栫▼浜嬩欢閫氱煡
/// <summary>
/// 闂ㄩ攣缂栫▼浜嬩欢閫氱煡
/// </summary>
+ [Newtonsoft.Json.JsonIgnore]
public DoorLockProgrammingEventNotificationCommand doorLockProgrammingEventNotificationCommand;
/// <summary>
/// 闂ㄩ攣缂栫▼浜嬩欢閫氱煡
@@ -960,8 +993,8 @@
/// <summary>
/// 鐭闂ㄩ攣鏃堕棿
/// </summary>
- /// <returns>The writable value async.</returns>
- /// <param name="timestamp">鐭闂ㄩ攣鐨勬椂闂�</param>
+ /// <param name="timestamp"></param>
+ /// <returns></returns>
public async System.Threading.Tasks.Task<SetWritableValueResponAllData> RectifyDoorLockTimeAsync(int timestamp)
{
if (Gateway == null)
@@ -978,8 +1011,7 @@
if (topic == gatewayID + "/" + "Error_Respon")
{
- var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID };
- var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
if (temp == null)
{
@@ -993,7 +1025,6 @@
if (topic == gatewayID + "/" + "SetWritableValue_Respon")
{
- var gatewayTemp = new ZbGateway() { DeviceID = jobject.Value<int>("Device_ID"), DeviceAddr = jobject.Value<string>("DeviceAddr"), DeviceEpoint = jobject.Value<int>("Epoint"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID };
var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<SetWritableValueResponData>(jobject["Data"].ToString());
if (tempData == null)
@@ -1039,50 +1070,6 @@
});
}
- /// <summary>
- /// 缃戝叧鐗堟湰淇℃伅,缃戝叧鍙嶉淇℃伅
- /// </summary>
- public SetWritableValueResponAllData setWritableValueResponAllData;
- /// <summary>
- /// 缃戝叧鐗堟湰淇℃伅,缃戝叧鍙嶉淇℃伅
- /// </summary>
- [System.Serializable]
- public class SetWritableValueResponAllData
- {
- /// <summary>
- /// 閿欒淇℃伅
- /// </summary>
- public string errorMessageBase;
- /// <summary>
- /// 缃戝叧淇℃伅閿欒鍙嶉
- /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
- /// </summary>
- public ErrorResponData errorResponData;
- /// <summary>
- /// 缃戝叧鐗堟湰淇℃伅
- /// </summary>
- public SetWritableValueResponData setWritableValueResponData;
- }
-
- /// <summary>
- /// 璁剧疆鍙啓灞炴�х殑鍊肩殑鏁版嵁
- /// </summary>
- [System.Serializable]
- public class SetWritableValueResponData
- {
- /// <summary>
- /// 閰嶇疆灞炴�ф墍鍦ㄧ殑cluster
- /// </summary>
- public int Cluster;
- /// <summary>
- /// 0锛氶厤缃垚鍔燂紙鑻ラ厤缃垚鍔燂紝涓嬮潰鐨凙ttributeId瀛楁涓嶅瓨鍦級
- ///<para>134锛氫笉鏀寔璇ュ睘鎬�</para>
- ///<para>135锛氭棤鏁堢殑灞炴�у��</para>
- ///<para>141锛氭棤鏁堢殑鏁版嵁绫诲瀷</para>
- /// </summary>
- public int Status;
-
- }
#endregion
#endregion
@@ -1110,8 +1097,7 @@
if (topic == gatewayID + "/" + "Error_Respon")
{
- var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID };
- var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
if (temp == null)
{
@@ -1125,18 +1111,17 @@
}
if (topic == gatewayID + "/" + "ZbDataPassthrough")
{
- var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") };
- gatewayTemp.clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
+ var clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
- if (gatewayTemp.clientDataPassthroughResponseData == null)
+ if (clientDataPassthroughResponseData == null)
{
result = new DefaultControlResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
}
else
{
- if (gatewayTemp.clientDataPassthroughResponseData?.PassData != null)
+ if (clientDataPassthroughResponseData?.PassData != null)
{
- var data = gatewayTemp.clientDataPassthroughResponseData.PassData;
+ var data = clientDataPassthroughResponseData.PassData;
if (data.Length == 16)
{
var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString();
@@ -1145,8 +1130,11 @@
var tempD = new DefaultControlResponseData();
tempD.command = data[12].ToString() + data[13].ToString() + data[10].ToString() + data[11].ToString();
tempD.status = Convert.ToInt32(data[14].ToString() + data[15].ToString(), 16);
- result = new DefaultControlResponseAllData { defaultControlResponseData = tempD };
- DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0450_{ topic}");
+ if (tempD.command == "0450")
+ {
+ result = new DefaultControlResponseAllData { defaultControlResponseData = tempD };
+ DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0450_{ topic}");
+ }
}
}
}
@@ -1184,6 +1172,109 @@
return result;
});
+ }
+
+ /// <summary>
+ /// 鐢ㄦ埛绠$悊鍙戦�佹暟鎹�
+ /// userIdList:涓暟涓嶈兘瓒呰繃10涓�
+ /// </summary>
+ public string FreezeAccountData(List<int> userIdList, AccessType accessType)
+ {
+ string data = "";
+ string dataLength = "";
+ string dataComand1 = "50";
+ string dataComand2 = "04";
+ string dataSerialNum = "01";
+ string addDataLength = "";
+ string delUserTypeStr = "";
+ string userIdStr = "";
+ try
+ {
+ if (userIdList.Count == 0)
+ {
+ return null;
+ }
+ if (userIdList.Count > 9)
+ {
+ return null;
+ }
+ var tempLength = 5 + userIdList.Count * 2;
+ string tempLength1 = Convert.ToString(tempLength, 16);
+ switch (tempLength1.Length)
+ {
+ case 1:
+ dataLength = "0" + tempLength1.ToUpper();
+ break;
+ case 2:
+ dataLength = tempLength1.ToUpper();
+ break;
+ }
+
+ var tempAddDataLength = 1 + userIdList.Count * 2;
+ string tempAddDataLength1 = Convert.ToString(tempAddDataLength, 16);
+ switch (tempAddDataLength1.Length)
+ {
+ case 1:
+ addDataLength = "0" + tempAddDataLength1.ToUpper();
+ break;
+ case 2:
+ addDataLength = tempAddDataLength1.ToUpper();
+ break;
+ }
+
+ switch ((int)accessType)
+ {
+ case 0:
+ delUserTypeStr = "00";
+ break;
+ case 1:
+ delUserTypeStr = "01";
+ break;
+ case 2:
+ delUserTypeStr = "20";
+ break;
+ case 3:
+ delUserTypeStr = "21";
+ break;
+ case 4:
+ delUserTypeStr = "10";
+ break;
+ case 5:
+ delUserTypeStr = "30";
+ break;
+ case 6:
+ delUserTypeStr = "31";
+ break;
+ }
+
+ var sbString = new System.Text.StringBuilder();
+ foreach (var userId in userIdList)
+ {
+ string temp = Convert.ToString(userId, 16);
+ switch (temp.Length)
+ {
+ case 1:
+ userIdStr = "0" + temp + "00";
+ break;
+ case 2:
+ userIdStr = temp + "00";
+ break;
+ case 3:
+ var thirdBit = temp.Substring(temp.Length - 2, 1);
+ userIdStr = temp + "0" + thirdBit;
+ break;
+ case 4:
+ userIdStr = temp;
+ break;
+ }
+ sbString.Append(userIdStr.ToString().ToUpper());
+ }
+ data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength +
+ delUserTypeStr + sbString;
+ }
+ catch { };
+
+ return data;
}
/// <summary>
@@ -1247,7 +1338,6 @@
/// <summary>
/// 鐢ㄦ埛绠$悊鍙戦�佹暟鎹洖澶�
/// </summary>
- public DefaultControlResponseAllData defaultControlResponseAllData;
[System.Serializable]
public class DefaultControlResponseAllData
{
@@ -1279,8 +1369,8 @@
/// <summary>
/// 鐘舵�佸��
/// <para>榛樿鍝嶅簲缁撴灉锛�
- ///<para>0 鍒犻櫎鎴愬姛</para>
- ///<para>1 鍒犻櫎澶辫触</para>
+ ///<para>0 鎴愬姛</para>
+ ///<para>1 澶辫触</para>
///<para>2 鐢ㄦ埛涓嶅瓨鍦�</para>
///<para>32 鍐荤粨鎴愬姛</para>
///<para>34 鍐荤粨澶辫触</para>
@@ -1293,7 +1383,7 @@
public enum AccessType
{
/// <summary>
- /// 0x00 鍒犻櫎鍏ㄩ儴鍗曟鐢ㄦ埛
+ /// 0x00 鍒犻櫎鍏ㄩ儴涓存椂鐢ㄦ埛
/// </summary>
DelAllUsers = 0,
/// <summary>
@@ -1308,6 +1398,18 @@
/// 0x21 瑙e喕鎸囧畾鐢ㄦ埛
/// </summary>
Enable = 3,
+ /// <summary>
+ /// 0x10 澶氫釜鎸囧畾鐢ㄦ埛鍒犻櫎
+ /// </summary>
+ DelMoreUsers = 4,
+ /// <summary>
+ /// 0x30 澶氫釜鎸囧畾鐢ㄦ埛鍐荤粨
+ /// </summary>
+ DisEnableMoreUsers = 5,
+ /// <summary>
+ /// 0x31 澶氫釜鎸囧畾鐢ㄦ埛瑙e喕
+ /// </summary>
+ EnableMoreUsers = 6,
}
#endregion
@@ -1333,8 +1435,7 @@
if (topic == gatewayID + "/" + "Error_Respon")
{
- var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID };
- var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
if (temp == null)
{
@@ -1348,18 +1449,17 @@
}
if (topic == gatewayID + "/" + "ZbDataPassthrough")
{
- var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") };
- gatewayTemp.clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
+ var clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
- if (gatewayTemp.clientDataPassthroughResponseData == null)
+ if (clientDataPassthroughResponseData == null)
{
result = new VerifyPasswordResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
}
else
{
- if (gatewayTemp.clientDataPassthroughResponseData?.PassData != null)
+ if (clientDataPassthroughResponseData?.PassData != null)
{
- var data = gatewayTemp.clientDataPassthroughResponseData.PassData;
+ var data = clientDataPassthroughResponseData.PassData;
if (data.Length == 12)
{
var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString();
@@ -1439,7 +1539,6 @@
/// <summary>
/// 鐢ㄦ埛绠$悊鍙戦�佹暟鎹洖澶�
/// </summary>
- public VerifyPasswordResponseAllData verifyPasswordResponseAllData;
[System.Serializable]
public class VerifyPasswordResponseAllData
{
@@ -1483,8 +1582,7 @@
if (topic == gatewayID + "/" + "Error_Respon")
{
- var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID };
- var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
if (temp == null)
{
@@ -1509,18 +1607,17 @@
}
else if (topic == gatewayID + "/" + "ZbDataPassthrough")
{
- var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") };
- gatewayTemp.clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
+ var clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
- if (gatewayTemp.clientDataPassthroughResponseData == null)
+ if (clientDataPassthroughResponseData == null)
{
result = new RemoteResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
}
else
{
- if (gatewayTemp.clientDataPassthroughResponseData?.PassData != null)
+ if (clientDataPassthroughResponseData?.PassData != null)
{
- var data = gatewayTemp.clientDataPassthroughResponseData.PassData;
+ var data = clientDataPassthroughResponseData.PassData;
if (data.Length == 16)
{
var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString();
@@ -1529,8 +1626,11 @@
var tempD = new RemoteResponseData();
tempD.command = data[12].ToString() + data[13].ToString() + data[10].ToString() + data[11].ToString();
tempD.status = Convert.ToInt32(data[14].ToString() + data[15].ToString(), 16);
- result = new RemoteResponseAllData { responseData = tempD };
- DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0462_{ topic}");
+ if (tempD.command == "0462")
+ {
+ result = new RemoteResponseAllData { responseData = tempD };
+ DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0462_{ topic}");
+ }
}
}
}
@@ -1610,7 +1710,6 @@
/// <summary>
/// 杩滅▼鍥炲鏁版嵁
/// </summary>
- public RemoteResponseAllData remoteResponseAllData;
[System.Serializable]
public class RemoteResponseAllData
{
@@ -1655,7 +1754,7 @@
#region 涓存椂瀵嗙爜鍙戦�佹暟鎹�
///<summary >
- ///杩滅▼寮�閿�
+ ///涓存椂瀵嗙爜
///<para>inputPassword: 杈撳叆瀵嗙爜/para>
/// </summary>
public async System.Threading.Tasks.Task<TempPasswordResponseAllData> TempPasswordAsync(string inputPassword, System.DateTime startTime, System.DateTime endTime, string fixedPassword = "190605")
@@ -1675,8 +1774,7 @@
if (topic == gatewayID + "/" + "Error_Respon")
{
- var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID };
- var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
if (temp == null)
{
@@ -1690,18 +1788,17 @@
}
if (topic == gatewayID + "/" + "ZbDataPassthrough")
{
- var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") };
- gatewayTemp.clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
+ var clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
- if (gatewayTemp.clientDataPassthroughResponseData == null)
+ if (clientDataPassthroughResponseData == null)
{
result = new TempPasswordResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
}
else
{
- if (gatewayTemp.clientDataPassthroughResponseData?.PassData != null)
+ if (clientDataPassthroughResponseData?.PassData != null)
{
- var data = gatewayTemp.clientDataPassthroughResponseData.PassData;
+ var data = clientDataPassthroughResponseData.PassData;
if (data.Length == 16)
{
var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString();
@@ -1710,8 +1807,11 @@
var tempD = new TempPasswordResponseData();
tempD.command = data[12].ToString() + data[13].ToString() + data[10].ToString() + data[11].ToString();
tempD.status = Convert.ToInt32(data[14].ToString() + data[15].ToString(), 16);
- result = new TempPasswordResponseAllData { responseData = tempD };
- DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0463_{ topic}");
+ if (tempD.command == "0463")
+ {
+ result = new TempPasswordResponseAllData { responseData = tempD };
+ DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0463_{ topic}");
+ }
}
}
}
@@ -1800,7 +1900,6 @@
/// <summary>
/// 涓存椂瀵嗙爜鍥炲鏁版嵁
/// </summary>
- public TempPasswordResponseAllData tempPasswordResponseAllData;
[System.Serializable]
public class TempPasswordResponseAllData
{
@@ -1885,8 +1984,7 @@
if (topic == gatewayID + "/" + "Error_Respon")
{
- var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID };
- var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
if (temp == null)
{
@@ -1901,18 +1999,17 @@
if (topic == gatewayID + "/" + "ZbDataPassthrough")
{
- var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") };
- gatewayTemp.clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
+ var clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
- if (gatewayTemp.clientDataPassthroughResponseData == null)
+ if (clientDataPassthroughResponseData == null)
{
result = new KeyPasswordInfo { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
}
else
{
- if (gatewayTemp.clientDataPassthroughResponseData?.PassData != null)
+ if (clientDataPassthroughResponseData?.PassData != null)
{
- var data = gatewayTemp.clientDataPassthroughResponseData.PassData;
+ var data = clientDataPassthroughResponseData.PassData;
if (data.Length == 20)
{
var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString();
@@ -2082,6 +2179,8 @@
doorLockUserDetailData.userType = Convert.ToInt32(data[10].ToString() + data[11].ToString(), 16);
doorLockUserDetailData.totalNum = Convert.ToInt32(data[12].ToString() + data[13].ToString(), 16);
doorLockUserDetailData.currentNum = Convert.ToInt32(data[14].ToString() + data[15].ToString(), 16);
+ totalNum = doorLockUserDetailData.totalNum;
+ currentNum = doorLockUserDetailData.currentNum;
result = new DoorlockUserInfo { doorLockUserDetailData = doorLockUserDetailData };
DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0451_{ topic}");
}
@@ -2100,15 +2199,22 @@
var data = new JObject { { "PassData", passData } };
jObject.Add("Data", data);
Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
-
}
catch { }
- //鎺ユ敹涓�涓寘鏈�澶氱瓑3绉掞紝娌℃湁鏀跺埌灏遍��鍑�
+ //鎺ユ敹涓�涓寘鏈�澶氱瓑3绉掞紝娌℃湁鏀跺埌灏遍��鍑�,鍗曟鏁版嵁鍖呬笉瓒呰繃30涓敤鎴�
while ((DateTime.Now - dateTime).TotalMilliseconds < 3000)
{
await System.Threading.Tasks.Task.Delay(100);
+ if (totalNum == currentNum)
+ {
+ break;
+ }
}
+ //if ((DateTime.Now - dateTime).TotalMilliseconds > 3000)
+ //{
+ // result = new DoorlockUserInfo { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
+ //}
Gateway.Actions -= action;
DebugPrintLog("ClientDataPassthrough_Actions 閫�鍑�" + System.DateTime.Now.ToString());
@@ -2197,6 +2303,581 @@
}
#endregion
+ #region 闊抽噺
+ ///<summary >
+ ///鑾峰彇闊抽噺
+ /// </summary>
+ public async System.Threading.Tasks.Task<VolumeResponseAllData> GetVolumeAsync()
+ {
+ VolumeResponseAllData result = null;
+ if (Gateway == null)
+ {
+ result = new VolumeResponseAllData { errorMessageBase = "褰撳墠娌℃湁缃戝叧" };
+ return result;
+ }
+ return await System.Threading.Tasks.Task.Run(async () =>
+ {
+ Action<string, string> action = (topic, message) =>
+ {
+ var gatewayID = topic.Split('/')[0];
+ var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+
+ if (topic == gatewayID + "/" + "Error_Respon")
+ {
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
+
+ if (temp == null)
+ {
+ result = new VolumeResponseAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
+ }
+
+ else
+ {
+ result = new VolumeResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
+ }
+ }
+ if (topic == gatewayID + "/" + "ZbDataPassthrough")
+ {
+ var clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
+
+ if (clientDataPassthroughResponseData == null)
+ {
+ result = new VolumeResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
+ }
+ else
+ {
+ if (clientDataPassthroughResponseData?.PassData != null)
+ {
+ var data = clientDataPassthroughResponseData.PassData;
+ if (data.Length == 14)
+ {
+ var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString();
+ if (command == "0456")
+ {
+ var tempD = new VolumeResponseData();
+ tempD.command = data[10].ToString() + data[11].ToString();
+ tempD.value = Convert.ToInt32(data[12].ToString() + data[13].ToString(), 16);
+ result = new VolumeResponseAllData { volumeResponseData = tempD };
+ DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0456_{ topic}");
+ }
+ }
+ }
+ }
+ }
+ };
+
+ Gateway.Actions += action;
+ DebugPrintLog("ClientDataPassthrough_Actions 鍚姩" + System.DateTime.Now.ToString());
+
+ try
+ {
+ var passData = VolumeData(-1);
+ var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
+ var data = new JObject { { "PassData", passData } };
+ jObject.Add("Data", data);
+ Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
+ }
+ catch { }
+
+ var dateTime = DateTime.Now;
+ while ((DateTime.Now - dateTime).TotalMilliseconds < 9000)// WaitReceiveDataTime)
+ {
+ await System.Threading.Tasks.Task.Delay(10);
+ if (result != null && result.volumeResponseData != null)
+ {
+ break;
+ }
+ }
+ if ((DateTime.Now - dateTime).TotalMilliseconds > 9000)
+ {
+ result = new VolumeResponseAllData
+ { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
+ }
+ Gateway.Actions -= action;
+ DebugPrintLog("ClientDataPassthrough_Actions 閫�鍑�" + System.DateTime.Now.ToString());
+
+ return result;
+ });
+ }
+
+ ///<summary >
+ ///闊抽噺
+ ///<para>鍛戒护鍊�: comandValue</para>
+ ///<para>comandValue: 0-0x64 闊抽噺</para>
+ /// </summary>
+ public async System.Threading.Tasks.Task<DefaultControlResponseAllData> SetVolumeAsync(int comandValue)
+ {
+ DefaultControlResponseAllData result = null;
+ if (Gateway == null)
+ {
+ result = new DefaultControlResponseAllData { errorMessageBase = "褰撳墠娌℃湁缃戝叧" };
+ return result;
+ }
+ return await System.Threading.Tasks.Task.Run(async () =>
+ {
+ Action<string, string> action = (topic, message) =>
+ {
+ var gatewayID = topic.Split('/')[0];
+ var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+
+ if (topic == gatewayID + "/" + "Error_Respon")
+ {
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
+
+ if (temp == null)
+ {
+ result = new DefaultControlResponseAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
+ }
+
+ else
+ {
+ result = new DefaultControlResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
+ }
+ }
+ if (topic == gatewayID + "/" + "ZbDataPassthrough")
+ {
+ var clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
+
+ if (clientDataPassthroughResponseData == null)
+ {
+ result = new DefaultControlResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
+ }
+ else
+ {
+ if (clientDataPassthroughResponseData?.PassData != null)
+ {
+ var data = clientDataPassthroughResponseData.PassData;
+ if (data.Length == 16)
+ {
+ var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString();
+ if (command == "0002")
+ {
+ var tempD = new DefaultControlResponseData();
+ tempD.command = data[12].ToString() + data[13].ToString() + data[10].ToString() + data[11].ToString();
+ tempD.status = Convert.ToInt32(data[14].ToString() + data[15].ToString(), 16);
+ if (tempD.command == "0455")
+ {
+ result = new DefaultControlResponseAllData { defaultControlResponseData = tempD };
+ DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0455_{ topic}");
+ }
+ }
+ }
+ }
+ }
+ }
+ };
+
+ Gateway.Actions += action;
+ DebugPrintLog("ClientDataPassthrough_Actions 鍚姩" + System.DateTime.Now.ToString());
+
+ try
+ {
+ var passData = VolumeData(comandValue);
+ var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
+ var data = new JObject { { "PassData", passData } };
+ jObject.Add("Data", data);
+ Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
+ }
+ catch { }
+
+ var dateTime = DateTime.Now;
+ while ((DateTime.Now - dateTime).TotalMilliseconds < 9000)// WaitReceiveDataTime)
+ {
+ await System.Threading.Tasks.Task.Delay(10);
+ if (result != null && result.defaultControlResponseData != null)
+ {
+ break;
+ }
+ }
+ if ((DateTime.Now - dateTime).TotalMilliseconds > 9000)
+ {
+ result = new DefaultControlResponseAllData
+ { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
+ }
+ Gateway.Actions -= action;
+ DebugPrintLog("ClientDataPassthrough_Actions 閫�鍑�" + System.DateTime.Now.ToString());
+
+ return result;
+ });
+ }
+
+ /// <summary>
+ /// 闊抽噺鍙戦�佹暟鎹�
+ ///<para>comandValue: 0-100 闊抽噺</para>
+ /// </summary>
+ public string VolumeData(int comandValue)
+ {
+ string data = "";
+ string dataLength = "05";
+ string dataComand1 = "55";
+ string dataComand2 = "04";
+ string dataSerialNum = "01";
+ string addDataLength = "01";
+ string cValue = "";
+ try
+ {
+ if (comandValue >= 1)
+ {
+ cValue = Convert.ToString(comandValue, 16).ToUpper();
+ if (cValue.Length == 1)
+ {
+ cValue = "0" + cValue;
+ }
+ else
+ {
+ cValue = cValue;
+ }
+
+ }
+ else
+ {
+ switch (comandValue)
+ {
+ case -1:
+ cValue = "AA";
+ break;
+ case 0:
+ cValue = "EB";
+ break;
+ }
+ }
+ data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength +
+ cValue;
+ }
+ catch (Exception ex)
+ {
+ var mess = ex.Message;
+ };
+ return data;
+ }
+
+ /// <summary>
+ /// 闊抽噺鍥炲鏁版嵁
+ /// </summary>
+ [System.Serializable]
+ public class VolumeResponseAllData
+ {
+ /// <summary>
+ /// 閿欒淇℃伅
+ /// </summary>
+ public string errorMessageBase;
+ /// <summary>
+ /// 缃戝叧淇℃伅閿欒鍙嶉
+ /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
+ /// </summary>
+ public ErrorResponData errorResponData;
+ /// <summary>
+ /// 闊抽噺鍥炲鏁版嵁
+ /// </summary>
+ public VolumeResponseData volumeResponseData;
+ }
+
+ /// <summary>
+ /// 闊抽噺鍥炲鏁版嵁
+ /// </summary>
+ [System.Serializable]
+ public class VolumeResponseData
+ {
+ /// <summary>
+ ///鍛戒护
+ ///<para>0x00 鎺ユ敹鎴愬姛</para>
+ ///<para>0xea 璇煶妯″紡</para>
+ ///<para>0xeb 闈欓煶妯″紡</para>
+ /// </summary>
+ public string command = "";
+ /// <summary>
+ /// 闊抽噺鍊�
+ /// <para>0xf1~0xfe 1-14闊抽噺</para>
+ /// <para>0 鏃犻煶閲忓��</para>
+ /// </summary>
+ public int value = -1;
+ }
+ #endregion
+
+ #region 甯稿紑妯″紡聽聽聽 聽聽聽聽聽
+ /// <summary>
+ /// 璇诲彇甯稿紑妯″紡
+ /// </summary>
+ /// <returns></returns>
+ public async System.Threading.Tasks.Task<OpenModeResponseAllData> ReadNormallyOpenModeFuncAsync()
+ {
+ OpenModeResponseAllData result = null;
+ if (Gateway == null)
+ {
+ result = new OpenModeResponseAllData { errorMessageBase = "褰撳墠娌℃湁缃戝叧" };
+ return result;
+ }
+ return await System.Threading.Tasks.Task.Run(async () =>
+ {
+ Action<string, string> action = (topic, message) =>
+ {
+ var gatewayID = topic.Split('/')[0];
+ var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+
+ if (topic == gatewayID + "/" + "Error_Respon")
+ {
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
+
+ if (temp == null)
+ {
+ result = new OpenModeResponseAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
+ }
+
+ else
+ {
+ result = new OpenModeResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
+ }
+ }
+ if (topic == gatewayID + "/" + "ZbDataPassthrough")
+ {
+ var clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
+
+ if (clientDataPassthroughResponseData == null)
+ {
+ result = new OpenModeResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
+ }
+ else
+ {
+ if (clientDataPassthroughResponseData?.PassData != null)
+ {
+ var data = clientDataPassthroughResponseData.PassData;
+ if (data.Length == 12)
+ {
+ var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString();
+ if (command == "0458")
+ {
+ result = new OpenModeResponseAllData();
+ result.command = data[10].ToString() + data[11].ToString();
+ DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0457_{ topic}");
+ }
+ }
+ }
+ }
+ }
+ };
+
+ Gateway.Actions += action;
+ DebugPrintLog("ClientDataPassthrough_Actions 鍚姩" + System.DateTime.Now.ToString());
+
+ try
+ {
+ var passData = OpenModeData(SwitchMode.Obtain);
+ var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
+ var data = new JObject { { "PassData", passData } };
+ jObject.Add("Data", data);
+ Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
+ }
+ catch { }
+
+ var dateTime = DateTime.Now;
+ while ((DateTime.Now - dateTime).TotalMilliseconds < 9000)// WaitReceiveDataTime)
+ {
+ await System.Threading.Tasks.Task.Delay(10);
+ if (result != null)
+ {
+ break;
+ }
+ }
+ if ((DateTime.Now - dateTime).TotalMilliseconds > 9000)
+ {
+ result = new OpenModeResponseAllData
+ { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
+ }
+ Gateway.Actions -= action;
+ DebugPrintLog("ClientDataPassthrough_Actions 閫�鍑�" + System.DateTime.Now.ToString());
+
+ return result;
+ });
+ }
+
+ /// <summary>
+ /// 璁剧疆甯稿紑妯″紡
+ /// </summary>
+ /// <param name="IsNormallyOpenMode">鏄惁鎵撳紑甯稿紑妯″紡锛歵rue锛氭墦寮� false锛氬叧闂�</param>
+ /// <returns></returns>
+ public async System.Threading.Tasks.Task<DefaultControlResponseAllData> SetNormallyOpenModeFuncAsync(bool IsNormallyOpenMode)
+ {
+ DefaultControlResponseAllData result = null;
+ if (Gateway == null)
+ {
+ result = new DefaultControlResponseAllData { errorMessageBase = "褰撳墠娌℃湁缃戝叧" };
+ return result;
+ }
+ return await System.Threading.Tasks.Task.Run(async () =>
+ {
+ Action<string, string> action = (topic, message) =>
+ {
+ var gatewayID = topic.Split('/')[0];
+ var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+
+ if (topic == gatewayID + "/" + "Error_Respon")
+ {
+ var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.ErrorResponData>(jobject["Data"].ToString());
+
+ if (temp == null)
+ {
+ result = new DefaultControlResponseAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
+ }
+
+ else
+ {
+ result = new DefaultControlResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
+ }
+ }
+ if (topic == gatewayID + "/" + "ZbDataPassthrough")
+ {
+ var clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
+
+ if (clientDataPassthroughResponseData == null)
+ {
+ result = new DefaultControlResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
+ }
+ else
+ {
+ if (clientDataPassthroughResponseData?.PassData != null)
+ {
+ var data = clientDataPassthroughResponseData.PassData;
+ if (data.Length == 16)
+ {
+ var command = data[4].ToString() + data[5].ToString() + data[2].ToString() + data[3].ToString();
+ if (command == "0002")
+ {
+ var tempD = new DefaultControlResponseData();
+ tempD.command = data[12].ToString() + data[13].ToString() + data[10].ToString() + data[11].ToString();
+ tempD.status = Convert.ToInt32(data[14].ToString() + data[15].ToString(), 16);
+ if (tempD.command == "0457")
+ {
+ result = new DefaultControlResponseAllData { defaultControlResponseData = tempD };
+ DebugPrintLog($"UI鏀跺埌閫氱煡鍚庣殑涓婚_command:0457_{ topic}");
+ }
+ }
+ }
+ }
+ }
+ }
+ };
+
+ Gateway.Actions += action;
+ DebugPrintLog("ClientDataPassthrough_Actions 鍚姩" + System.DateTime.Now.ToString());
+
+ try
+ {
+ var passData = "";
+ if (IsNormallyOpenMode)
+ {
+ passData = OpenModeData(SwitchMode.NormallyOpen);
+ }
+ else
+ {
+ passData = OpenModeData(SwitchMode.NormallyClose);
+ }
+ var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
+ var data = new JObject { { "PassData", passData } };
+ jObject.Add("Data", data);
+ Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
+ }
+ catch { }
+
+ var dateTime = DateTime.Now;
+ while ((DateTime.Now - dateTime).TotalMilliseconds < 9000)// WaitReceiveDataTime)
+ {
+ await System.Threading.Tasks.Task.Delay(10);
+ if (result != null && result.defaultControlResponseData != null)
+ {
+ break;
+ }
+ }
+ if ((DateTime.Now - dateTime).TotalMilliseconds > 9000)
+ {
+ result = new DefaultControlResponseAllData
+ { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
+ }
+ Gateway.Actions -= action;
+ DebugPrintLog("ClientDataPassthrough_Actions 閫�鍑�" + System.DateTime.Now.ToString());
+
+ return result;
+ });
+ }
+
+ /// <summary>
+ /// 甯稿紑妯″紡聽鍙戦�佹暟鎹�
+ /// </summary>
+ public string OpenModeData(SwitchMode switchMode)
+ {
+ string data = "";
+ string dataLength = "05";
+ string dataComand1 = "57";
+ string dataComand2 = "04";
+ string dataSerialNum = "01";
+ string addDataLength = "01";
+ string cValue = "";
+ try
+ {
+ switch (switchMode)
+ {
+ case SwitchMode.Obtain:
+ cValue = "10";
+ break;
+ case SwitchMode.NormallyOpen:
+ cValue = "12";
+ break;
+ case SwitchMode.NormallyClose:
+ cValue = "13";
+ break;
+ }
+ data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength +
+ cValue;
+ }
+ catch (Exception ex)
+ {
+ var mess = ex.Message;
+ };
+ return data;
+ }
+
+ /// <summary>
+ /// 甯稿紑妯″紡聽鍥炲鏁版嵁
+ /// </summary>
+ [System.Serializable]
+ public class OpenModeResponseAllData
+ {
+ /// <summary>
+ /// 閿欒淇℃伅
+ /// </summary>
+ public string errorMessageBase;
+ /// <summary>
+ /// 缃戝叧淇℃伅閿欒鍙嶉
+ /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
+ /// </summary>
+ public ErrorResponData errorResponData;
+ /// <summary>
+ /// 0x10 甯稿紑宸插紑鍚�
+ /// <para>0x11 甯稿紑宸插叧闂�</para>
+ /// </summary>
+ public string command;
+ }
+
+
+ /// <summary>
+ /// 寮�鍏虫ā寮�
+ /// </summary>
+ public enum SwitchMode
+ {
+ /// <summary>
+ /// 0x10 鏌ヨ甯稿紑鐘舵��
+ /// </summary>
+ Obtain = 0x10,
+ /// <summary>
+ /// 0x12 寮�鍚父寮�
+ /// </summary>
+ NormallyOpen = 0x12,
+ /// <summary>
+ /// 0x13 鍏抽棴甯稿紑
+ /// </summary>
+ NormallyClose = 0x13
+ }
+ #endregion
+
#endregion
}
}
--
Gitblit v1.8.0