| | |
| | | using Newtonsoft.Json.Linq; |
| | | using Shared; |
| | | using Shared.Common; |
| | | using Shared.Common.ResponseEntity; |
| | | using Shared.Phone.UserCenter; |
| | | |
| | | namespace ZigBee.Device |
| | |
| | | |
| | | public string currentUserDisplayMethod = string.Empty;//当前用户显示方式 |
| | | //本地所有账户列表 |
| | | public List<Shared.Phone.MemberInfoRes> localAllAccountList = new List<Shared.Phone.MemberInfoRes> { }; |
| | | public List<Shared.Phone.UserCenter.MemberInfoRes> localAllAccountList = new List<Shared.Phone.UserCenter.MemberInfoRes> { }; |
| | | |
| | | /// <summary> |
| | | /// 是否常开模式 |
| | |
| | | return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<GetDoorLockTempPasswordDataRes>>)(async () => |
| | | { |
| | | GetDoorLockTempPasswordDataRes listInfo = null; |
| | | //☆マーク☆ |
| | | //var revertObj = await SendDoorLockToServer(RequestName, getDoorLockTempPasswordData); |
| | | //if (revertObj != null && revertObj.ResponseData != null) |
| | | //{ |
| | | // var result = revertObj.ResponseData.ToString(); |
| | | // if (result != null) |
| | | // { |
| | | // listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetDoorLockTempPasswordDataRes>(result); |
| | | // } |
| | | //} |
| | | var revertObj = await SendDoorLockToServer(RequestName, getDoorLockTempPasswordData); |
| | | if (revertObj != null && revertObj.ResponseData != null) |
| | | { |
| | | var result = revertObj.ResponseData.ToString(); |
| | | if (result != null) |
| | | { |
| | | listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetDoorLockTempPasswordDataRes>(result); |
| | | } |
| | | } |
| | | return listInfo; |
| | | })); |
| | | } |
| | |
| | | return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<GetDoorLockDataRes>>)(async () => |
| | | { |
| | | GetDoorLockDataRes listInfo = null; |
| | | //☆マーク☆ |
| | | //var revertObj = await SendDoorLockToServer(RequestName, getDoorLockData); |
| | | //if (revertObj != null && revertObj.ResponseData != null) |
| | | //{ |
| | | // var result = revertObj.ResponseData.ToString(); |
| | | // if (result != null) |
| | | // { |
| | | // listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetDoorLockDataRes>(result); |
| | | // } |
| | | //} |
| | | var revertObj = await SendDoorLockToServer(RequestName, getDoorLockData); |
| | | if (revertObj != null && revertObj.ResponseData != null) |
| | | { |
| | | var result = revertObj.ResponseData.ToString(); |
| | | if (result != null) |
| | | { |
| | | listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<GetDoorLockDataRes>(result); |
| | | } |
| | | } |
| | | return listInfo; |
| | | })); |
| | | } |
| | |
| | | /// <returns>获取从接口那里取到的ResponsePack</returns> |
| | | /// <param name="RequestName">访问地址</param> |
| | | /// <param name="obj">一个类</param> |
| | | public static async Task<Shared.Phone.ResponsePack> SendDoorLockToServer(string RequestName, object obj) |
| | | public static async Task<ResponsePack> SendDoorLockToServer(string RequestName, object obj) |
| | | { |
| | | try |
| | | { |
| | |
| | | var requestJson = JsonConvert.SerializeObject(obj); |
| | | var byteData = System.Text.Encoding.UTF8.GetBytes(requestJson); |
| | | byte[] result1 = null; |
| | | //访问接口 //☆マーク☆ |
| | | if (Shared.Phone.HdlUserCenterResourse.ResidenceOption.AuthorityNo == 1) |
| | | //访问接口 |
| | | if (UserCenterResourse.UserInfo.AuthorityNo == 1) |
| | | { |
| | | //result1 = CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(RequestName, byteData); |
| | | result1 = CommonPage.Instance.RequestHttpsZigbeeBytesResultAsync(RequestName, byteData); |
| | | } |
| | | else |
| | | { |
| | | //result1 = CommonPage.Instance.RequestZigbeeHttpsByAdmin(RequestName, byteData); |
| | | result1 = CommonPage.Instance.RequestZigbeeHttpsByAdmin(RequestName, byteData); |
| | | } |
| | | if (result1 != null) |
| | | { |
| | | var result2 = Encoding.UTF8.GetString(result1); |
| | | if (result2 != null) |
| | | { |
| | | var result = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Phone.ResponsePack>(result2); |
| | | var result = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.ResponsePack>(result2); |
| | | return result; |
| | | } |
| | | } |
| | |
| | | /// <summary> |
| | | /// 获取子账户信息 |
| | | /// </summary> |
| | | static List<Shared.Phone.MemberInfoRes> DoorLockAccountList = new List<Shared.Phone.MemberInfoRes> { }; |
| | | public static async System.Threading.Tasks.Task<List<Shared.Phone.MemberInfoRes>> GetSubAccountByDistributedMark() |
| | | static List<Shared.Phone.UserCenter.MemberInfoRes> DoorLockAccountList = new List<Shared.Phone.UserCenter.MemberInfoRes> { }; |
| | | public static async System.Threading.Tasks.Task<List<Shared.Phone.UserCenter.MemberInfoRes>> GetSubAccountByDistributedMark() |
| | | { |
| | | DoorLockAccountList.Clear(); |
| | | return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<List<Shared.Phone.MemberInfoRes>>>)(async () => |
| | | return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<List<Shared.Phone.UserCenter.MemberInfoRes>>>)(async () => |
| | | { |
| | | var listInfo = Shared.Phone.HdlMemberLogic.Current.GetMemberListInfo(); |
| | | var pra = new Shared.Phone.UserCenter.MemberListInfoPra(); |
| | | 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; |
| | | })); |
| | | } |
| | |
| | | /// <summary> |
| | | /// 编程事件触发源 |
| | | /// 常用: |
| | | /// 0:Keypad(键盘/密码);3:RFID(射频卡);15:指纹 |
| | | /// 0:Keypad(键盘/密码);3:RFID(射频卡);15:指纹 58:face 59:静脉 |
| | | ///不常用: |
| | | /// 1:RF(Zigbee无线);2:Manual(手动);255:Indeterminate(不确定) |
| | | /// </summary> |
| | |
| | | var sbString = new System.Text.StringBuilder(); |
| | | foreach (var userId in userIdList) |
| | | { |
| | | string temp = Convert.ToString(userId, 16); |
| | | switch (temp.Length) |
| | | var tempBytes = new byte[2]; |
| | | for (int i = 0; i < 2; i++) |
| | | { |
| | | 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; |
| | | tempBytes[i] = (byte)(userId >> (i * 8) & 0xff); |
| | | } |
| | | sbString.Append(userIdStr.ToString().ToUpper()); |
| | | var curV1 = Convert.ToString(tempBytes[0], 16); |
| | | var curV2 = Convert.ToString(tempBytes[1], 16); |
| | | if (curV1.Length == 1) |
| | | { |
| | | curV1 = "0" + curV1; |
| | | } |
| | | if (curV2.Length == 1) |
| | | { |
| | | curV2 = "0" + curV2; |
| | | } |
| | | |
| | | userIdStr = (curV1 + curV2).ToUpper(); |
| | | } |
| | | data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength + |
| | | delUserTypeStr + sbString; |
| | | delUserTypeStr + userIdStr; |
| | | } |
| | | catch { }; |
| | | |
| | |
| | | delUserTypeStr = "21"; |
| | | break; |
| | | } |
| | | var sbString = new System.Text.StringBuilder(); |
| | | string temp = Convert.ToString(userId, 16); |
| | | |
| | | switch (temp.Length) |
| | | var tempBytes = new byte[2]; |
| | | for (int i = 0; i < 2; i++) |
| | | { |
| | | 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; |
| | | tempBytes[i] = (byte)(userId >> (i * 8) & 0xff); |
| | | } |
| | | sbString.Append(userIdStr.ToString().ToUpper()); |
| | | var curV1 = Convert.ToString(tempBytes[0], 16); |
| | | var curV2 = Convert.ToString(tempBytes[1], 16); |
| | | if (curV1.Length == 1) |
| | | { |
| | | curV1 = "0" + curV1; |
| | | } |
| | | if (curV2.Length == 1) |
| | | { |
| | | curV2 = "0" + curV2; |
| | | } |
| | | |
| | | userIdStr = (curV1 + curV2).ToUpper(); |
| | | |
| | | data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength + |
| | | delUserTypeStr + sbString; |
| | | delUserTypeStr + userIdStr; |
| | | } |
| | | catch { }; |
| | | |