old mode 100755
new mode 100644
| | |
| | | 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; |
| | | |
| | |
| | | /// 云端帐号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] |
| | |
| | | { |
| | | DoorLockAccountList.Clear(); |
| | | 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); |
| | | var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Shared.Phone.UserCenter.MemberInfoRes>>(result); |
| | | return listInfo; |
| | | })); |
| | | { |
| | | var pra = new Shared.Phone.UserCenter.MemberListInfoPra(); |
| | | string result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra); |
| | | var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Shared.Phone.UserCenter.MemberInfoRes>>(result); |
| | | return listInfo; |
| | | })); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | result = new DefaultControlResponseAllData { errorMessageBase = "网关返回的数据为空" }; |
| | | } |
| | | else |
| | | {
|
| | | { |
| | | if (gatewayTemp.clientDataPassthroughResponseData?.PassData != null) |
| | | { |
| | | var data = gatewayTemp.clientDataPassthroughResponseData.PassData; |
| | |
| | | |
| | | 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> |
| | |
| | | public enum AccessType |
| | | { |
| | | /// <summary> |
| | | /// 0x00 删除全部单次用户 |
| | | /// 0x00 删除全部临时用户 |
| | | /// </summary> |
| | | DelAllUsers = 0, |
| | | /// <summary> |
| | |
| | | /// 0x21 解冻指定用户 |
| | | /// </summary> |
| | | Enable = 3, |
| | | /// <summary> |
| | | /// 0x10 多个指定用户删除 |
| | | /// </summary> |
| | | DelMoreUsers = 4, |
| | | /// <summary> |
| | | /// 0x30 多个指定用户冻结 |
| | | /// </summary> |
| | | DisEnableMoreUsers = 5, |
| | | /// <summary> |
| | | /// 0x31 多个指定用户解冻 |
| | | /// </summary> |
| | | EnableMoreUsers = 6, |
| | | } |
| | | #endregion |
| | | |
| | |
| | | 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}"); |
| | | } |
| | |
| | | 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()); |
| | | |
| | |
| | | |
| | | #endregion |
| | | } |
| | | } |
| | | } |