| | |
| | | bool? IsDoorLockNormallyMode = null; |
| | | var result = await doorLock.ReadNormallyOpenModeFuncAsync(); |
| | | //共通错误检测 |
| | | string error = HdlCheckLogic.Current.CheckCommonErrorCode(result); |
| | | string error = HdlCheckLogic.Current.CheckGatewayErrorCode(result); |
| | | |
| | | if (result == null || result.errorMessageBase != null || result.errorResponData != null) |
| | | { |
| | |
| | | { |
| | | var listDevice = new List<CommonDevice> { }; |
| | | listDevice.Add(doorLock); |
| | | var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); |
| | | if (devTemp.ConcreteType != DeviceConcreteType.IntelligentLocks_H06C) |
| | | var devTemp = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(listDevice); |
| | | if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) |
| | | { |
| | | return true; |
| | | } |
| | |
| | | public static async void NomallyOpenModeInvalidDialog(ZigBee.Device.DoorLock doorLock, DoorLockMessType doorLockMessType, bool haveLogic, Action<bool> action = null, int type = 0) |
| | | { |
| | | //常开模式只能主人操作 |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | |
| | | }; |
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 删除常开模式
|
| | | /// </summary>
|
| | | /// <param name="doorLock">当前门锁</param>
|
| | | /// <param name="action">回调处理更新内容</param>
|
| | | /// <returns></returns>
|
| | | public static async System.Threading.Tasks.Task<bool> DelNormallyOpenMode(ZigBee.Device.DoorLock doorLock, Action action = null)
|
| | | {
|
| | | //app操作取消“常开模式” |
| | | var result = await doorLock.SetNormallyOpenModeFuncAsync(false);
|
| | | if (result == null || result.defaultControlResponseData == null || result.defaultControlResponseData.status != 0)
|
| | | {
|
| | | action?.Invoke();
|
| | | return false;
|
| | | }
|
| | |
|
| | | if (result.defaultControlResponseData.status == 0)
|
| | | {
|
| | | //app确认取消“常开模式”成功 |
| | | NormallyOpenModeValue(doorLock, false);
|
| | | action?.Invoke();
|
| | | return true;
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 设置常开模式
|
| | | /// </summary>
|
| | | /// <param name="doorLock">当前门锁</param>
|
| | | /// <param name="action">回调处理更新内容</param>
|
| | | /// <returns></returns>
|
| | | public static async System.Threading.Tasks.Task<bool> SetNormallyOpenModeFuncAsync(ZigBee.Device.DoorLock doorLock)
|
| | | {
|
| | | //app设置“常开模式”失败 |
| | | var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
|
| | | if (result == null || result.defaultControlResponseData == null || result.defaultControlResponseData.status != 0)
|
| | | {
|
| | | return false;
|
| | | }
|
| | |
|
| | | if (result.defaultControlResponseData.status == 0)
|
| | | {
|
| | | //app设置“常开模式”成功 |
| | | NormallyOpenModeValue(doorLock, false);
|
| | | return true;
|
| | | }
|
| | | return false;
|
| | | /// <summary> |
| | | /// 删除常开模式 |
| | | /// </summary> |
| | | /// <param name="doorLock">当前门锁</param> |
| | | /// <param name="action">回调处理更新内容</param> |
| | | /// <returns></returns> |
| | | public static async System.Threading.Tasks.Task<bool> DelNormallyOpenMode(ZigBee.Device.DoorLock doorLock, Action action = null) |
| | | { |
| | | //app操作取消“常开模式” |
| | | var result = await doorLock.SetNormallyOpenModeFuncAsync(false); |
| | | if (result == null || result.defaultControlResponseData == null || result.defaultControlResponseData.status != 0) |
| | | { |
| | | action?.Invoke(); |
| | | return false; |
| | | } |
| | | |
| | | if (result.defaultControlResponseData.status == 0) |
| | | { |
| | | //app确认取消“常开模式”成功 |
| | | NormallyOpenModeValue(doorLock, false); |
| | | action?.Invoke(); |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置常开模式 |
| | | /// </summary> |
| | | /// <param name="doorLock">当前门锁</param> |
| | | /// <param name="action">回调处理更新内容</param> |
| | | /// <returns></returns> |
| | | public static async System.Threading.Tasks.Task<bool> SetNormallyOpenModeFuncAsync(ZigBee.Device.DoorLock doorLock) |
| | | { |
| | | //app设置“常开模式”失败 |
| | | var result = await doorLock.SetNormallyOpenModeFuncAsync(true); |
| | | if (result == null || result.defaultControlResponseData == null || result.defaultControlResponseData.status != 0) |
| | | { |
| | | return false; |
| | | } |
| | | |
| | | if (result.defaultControlResponseData.status == 0) |
| | | { |
| | | //app设置“常开模式”成功 |
| | | NormallyOpenModeValue(doorLock, false); |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | public static async void NomallyOpenModeStartDialog(ZigBee.Device.DoorLock doorLock, Action action) |
| | | { |
| | | //常开模式只能主人操作ZigBee.Device.DoorLock doorLock |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | |
| | | { |
| | | var listDevice = new List<CommonDevice> { }; |
| | | listDevice.Add(doorLock); |
| | | var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); |
| | | if (devTemp.ConcreteType != DeviceConcreteType.IntelligentLocks_H06C) |
| | | var devTemp = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(listDevice); |
| | | if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) |
| | | { |
| | | return true; |
| | | } |
| | |
| | | /// <summary> |
| | | /// 获取当前账户列表(门锁只对主人和拥有管理员权限对成员用) |
| | | /// </summary> |
| | | public static async System.Threading.Tasks.Task<List<Shared.Phone.UserCenter.MemberInfoRes>> LocalAccountList() |
| | | public static async System.Threading.Tasks.Task<List<MemberInfoRes>> LocalAccountList() |
| | | { |
| | | return await System.Threading.Tasks.Task.Run(async () => |
| | | { |
| | | List<Shared.Phone.UserCenter.MemberInfoRes> localAccountList = new List<Shared.Phone.UserCenter.MemberInfoRes> { }; |
| | | List<Shared.Phone.UserCenter.MemberInfoRes> SubAccounList = new List<Shared.Phone.UserCenter.MemberInfoRes> { }; |
| | | List<MemberInfoRes> localAccountList = new List<MemberInfoRes> { }; |
| | | List<MemberInfoRes> SubAccounList = new List<MemberInfoRes> { }; |
| | | |
| | | //☆マーク☆ |
| | | //只有主人才有权限获取自己的子账户 |
| | | if (UserCenterResourse.UserInfo.AuthorityNo == 1) |
| | | { |
| | | var SubAccounListTemp = await ZigBee.Device.DoorLock.GetSubAccountByDistributedMark(); |
| | | var SubAccounListDictionary = new Dictionary<string, Shared.Phone.UserCenter.MemberInfoRes> { }; |
| | | //if (UserCenterResourse.ResidenceOption.AuthorityNo == 1) |
| | | //{ |
| | | // var SubAccounListTemp = await ZigBee.Device.DoorLock.GetSubAccountByDistributedMark(); |
| | | // var SubAccounListDictionary = new Dictionary<string, MemberInfoRes> { }; |
| | | |
| | | if (SubAccounListTemp != null)
|
| | | {
|
| | | foreach (var member in SubAccounListTemp)
|
| | | {
|
| | | //判断一个账户绑定了邮箱的情况
|
| | | if (SubAccounListDictionary.ContainsKey(member.DistributedMark) == true
|
| | | || member.Account == UserCenterResourse.UserInfo.Phone
|
| | | || member.Account == UserCenterResourse.UserInfo.Email)
|
| | | {
|
| | | //如果是它自己的话,不显示,账户和绑定的邮箱只显示其中之一
|
| | | continue;
|
| | | }
|
| | | //去掉子账户中普通成员,留下拥有管理员权限的成员
|
| | | //(因为分配账户给普通成员,普通成员在app中不能进入设备管理那里,所以没发查看主人分配对账户)
|
| | | if (member.AccountType != 1)
|
| | | {
|
| | | continue;
|
| | | }
|
| | |
|
| | | SubAccounListDictionary.Add(member.DistributedMark, member);
|
| | | } |
| | | } |
| | | foreach (var addMemberID in SubAccounListDictionary.Keys) |
| | | { |
| | | SubAccounList.Add(SubAccounListDictionary[addMemberID]); |
| | | } |
| | | } |
| | | // if (SubAccounListTemp != null) |
| | | // { |
| | | // foreach (var member in SubAccounListTemp) |
| | | // { |
| | | // //判断一个账户绑定了邮箱的情况 |
| | | // if (SubAccounListDictionary.ContainsKey(member.DistributedMark) == true |
| | | // || member.Account == UserCenterResourse.UserInfo.UserPhone |
| | | // || member.Account == UserCenterResourse.UserInfo.UserEmail) |
| | | // { |
| | | // //如果是它自己的话,不显示,账户和绑定的邮箱只显示其中之一 |
| | | // continue; |
| | | // } |
| | | // //去掉子账户中普通成员,留下拥有管理员权限的成员 |
| | | // //(因为分配账户给普通成员,普通成员在app中不能进入设备管理那里,所以没发查看主人分配对账户) |
| | | // if (member.AccountType != 1) |
| | | // { |
| | | // continue; |
| | | // } |
| | | |
| | | // 注意:SubAccountDistributedMark这个值很有用,“添加门锁”到云端信息中,CloudAccountId如果是子账户,则是SubAccountDistributedMark这个值很有用,如果是管理员或者主人则是登录到G |
| | | var masterAccount = new Shared.Phone.UserCenter.MemberInfoRes(); |
| | | masterAccount.Account = Shared.Common.Config.Instance.Account; |
| | | masterAccount.AccountType = Shared.Common.Config.Instance.AccountType; |
| | | masterAccount.SubAccountDistributedMark = Shared.Common.Config.Instance.Guid; |
| | | masterAccount.UserName = UserCenterResourse.UserInfo.UserName; |
| | | localAccountList.Add(masterAccount); |
| | | localAccountList.AddRange(SubAccounList); |
| | | // SubAccounListDictionary.Add(member.DistributedMark, member); |
| | | // } |
| | | // } |
| | | // foreach (var addMemberID in SubAccounListDictionary.Keys) |
| | | // { |
| | | // SubAccounList.Add(SubAccounListDictionary[addMemberID]); |
| | | // } |
| | | //} |
| | | |
| | | //// 注意:SubAccountDistributedMark这个值很有用,“添加门锁”到云端信息中,CloudAccountId如果是子账户,则是SubAccountDistributedMark这个值很有用,如果是管理员或者主人则是登录到G |
| | | //var masterAccount = new MemberInfoRes(); |
| | | //masterAccount.Account = Shared.Common.Config.Instance.Account; |
| | | //masterAccount.AccountType = Shared.Common.Config.Instance.AccountType; |
| | | //masterAccount.SubAccountDistributedMark = Shared.Common.Config.Instance.Guid; |
| | | //masterAccount.UserName = UserCenterResourse.UserInfo.NickName; |
| | | //localAccountList.Add(masterAccount); |
| | | //localAccountList.AddRange(SubAccounList); |
| | | return localAccountList; |
| | | }); |
| | | } |
| | |
| | | //1、读取门锁信息 |
| | | var getDoorLockInfo = await doorLock.GetDoorlockUserInfoAsync(); |
| | | |
| | | //☆マーク☆ |
| | | //本地门锁列表处理 |
| | | foreach (var curAccountObj in doorLock.localAllAccountList) |
| | | { |
| | | if (getDoorLockInfo == null) |
| | | { |
| | | doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = true; |
| | | } |
| | | else |
| | | { |
| | | doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = false; |
| | | } |
| | | } |
| | | //foreach (var curAccountObj in doorLock.localAllAccountList) |
| | | //{ |
| | | // if (getDoorLockInfo == null) |
| | | // { |
| | | // doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = true; |
| | | // } |
| | | // else |
| | | // { |
| | | // doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = false; |
| | | // } |
| | | //} |
| | | // 用户信息处理 |
| | | if (getDoorLockInfo != null && getDoorLockInfo.doorLockUserDetailData != null) |
| | | { |
| | |
| | | { |
| | | //门锁中没有,云端有用户ID,后台删除云端这些ID |
| | | var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) |
| | | { |
| | | deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | //deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | deleteDoorLockData.IsOtherAccountCtrl = true; |
| | | } |
| | | if (doorLock.DeviceAddr != null) |
| | |
| | | /// <summary> |
| | | /// 获取当前账户中门锁信息 |
| | | /// </summary> |
| | | public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLocklist(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj) |
| | | public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLocklist(ZigBee.Device.DoorLock doorLock, MemberInfoRes curAccountObj) |
| | | { |
| | | return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () => |
| | | { |
| | |
| | | var getDoorLockInfo = await doorLock.GetDoorlockUserInfoAsync(); |
| | | if (getDoorLockInfo == null) |
| | | { |
| | | doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = true; |
| | | //☆マーク☆ |
| | | //doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = true; |
| | | } |
| | | else |
| | | { |
| | | doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = false; |
| | | //☆マーク☆ |
| | | //doorLock.IsFailedToGetDoorLockInfo[curAccountObj.SubAccountDistributedMark] = false; |
| | | if (getDoorLockInfo != null && getDoorLockInfo.doorLockUserDetailData != null) |
| | | { |
| | | var dataList = getDoorLockInfo.doorLockUserDetailData.UserObjList; |
| | |
| | | } |
| | | } |
| | | |
| | | //☆マーク☆ |
| | | // 读取云端门锁设备中的信息 |
| | | var getDoorLockInfoAllList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllInfolist(doorLock, curAccountObj.SubAccountDistributedMark); |
| | | if (getDoorLockInfoAllList.Count != 0) |
| | | { |
| | | foreach (var getDoorLockInfoList in getDoorLockInfoAllList) |
| | | { |
| | | if (getDoorLockInfoList != null) |
| | | { |
| | | foreach (var curDoorLockUser in getDoorLockInfoList.PageData) |
| | | { |
| | | if (string.IsNullOrEmpty(curDoorLockUser.DoorLockLocalUserId)) |
| | | { |
| | | continue; |
| | | } |
| | | if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId))) |
| | | { |
| | | var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; |
| | | doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId); |
| | | doorLockObj.UnlockType = curDoorLockUser.OpenLockMode; |
| | | doorLockObj.PrimaryId = curDoorLockUser.Id; |
| | | doorLockObj.EntryTime = curDoorLockUser.EntryTime; |
| | | doorLockObj.UserName = curDoorLockUser.UserIdRemarks; |
| | | doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId; |
| | | doorLock.localDoorLockUserList[int.Parse(curDoorLockUser.DoorLockLocalUserId)] = doorLockObj; |
| | | } |
| | | else |
| | | { |
| | | if (curDoorLockUser.DoorLockLocalUserId != null) |
| | | { |
| | | //门锁中没有,云端有用户ID,后台删除云端这些ID |
| | | var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | { |
| | | deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | deleteDoorLockData.IsOtherAccountCtrl = true; |
| | | } |
| | | if (doorLock.DeviceAddr != null) |
| | | { |
| | | deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; |
| | | } |
| | | deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId; |
| | | deleteDoorLockData.PrimaryId = curDoorLockUser.Id; |
| | | deleteDoorLockData.DelDoorLockDelType = 2; |
| | | var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); |
| | | } |
| | | } |
| | | } |
| | | doorLock.ReSave(); |
| | | } |
| | | } |
| | | } |
| | | //var getDoorLockInfoAllList = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockAllInfolist(doorLock, curAccountObj.SubAccountDistributedMark); |
| | | //if (getDoorLockInfoAllList.Count != 0) |
| | | //{ |
| | | // foreach (var getDoorLockInfoList in getDoorLockInfoAllList) |
| | | // { |
| | | // if (getDoorLockInfoList != null) |
| | | // { |
| | | // foreach (var curDoorLockUser in getDoorLockInfoList.PageData) |
| | | // { |
| | | // if (string.IsNullOrEmpty(curDoorLockUser.DoorLockLocalUserId)) |
| | | // { |
| | | // continue; |
| | | // } |
| | | // if (doorLock.localDoorLockUserList.ContainsKey(int.Parse(curDoorLockUser.DoorLockLocalUserId))) |
| | | // { |
| | | // var doorLockObj = new ZigBee.Device.DoorLock.LocaDoorLockObj() { }; |
| | | // doorLockObj.UserID = int.Parse(curDoorLockUser.DoorLockLocalUserId); |
| | | // doorLockObj.UnlockType = curDoorLockUser.OpenLockMode; |
| | | // doorLockObj.PrimaryId = curDoorLockUser.Id; |
| | | // doorLockObj.EntryTime = curDoorLockUser.EntryTime; |
| | | // doorLockObj.UserName = curDoorLockUser.UserIdRemarks; |
| | | // doorLockObj.ConnectedAccount = curDoorLockUser.CloudAccountId; |
| | | // doorLock.localDoorLockUserList[int.Parse(curDoorLockUser.DoorLockLocalUserId)] = doorLockObj; |
| | | // } |
| | | // else |
| | | // { |
| | | // if (curDoorLockUser.DoorLockLocalUserId != null) |
| | | // { |
| | | // //门锁中没有,云端有用户ID,后台删除云端这些ID |
| | | // var deleteDoorLockData = new ZigBee.Device.DoorLock.DeleteDoorLockData(); |
| | | // if (UserCenterResourse.ResidenceOption.AuthorityNo != 1) |
| | | // { |
| | | // //deleteDoorLockData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | // deleteDoorLockData.IsOtherAccountCtrl = true; |
| | | // } |
| | | // if (doorLock.DeviceAddr != null) |
| | | // { |
| | | // deleteDoorLockData.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; |
| | | // } |
| | | // deleteDoorLockData.DoorLockLocalUserId = curDoorLockUser.DoorLockLocalUserId; |
| | | // deleteDoorLockData.PrimaryId = curDoorLockUser.Id; |
| | | // deleteDoorLockData.DelDoorLockDelType = 2; |
| | | // var result = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLock", deleteDoorLockData); |
| | | // } |
| | | // } |
| | | // } |
| | | // doorLock.ReSave(); |
| | | // } |
| | | // } |
| | | //} |
| | | } |
| | | return doorLock.localDoorLockUserList; |
| | | })); |
| | |
| | | // 读取云端门锁设备中的信息 |
| | | var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; |
| | | |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) |
| | | { |
| | | localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | //localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | localDoorLockObj.IsOtherAccountCtrl = true; |
| | | } |
| | | |
| | |
| | | // 读取云端门锁设备中的信息 |
| | | var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; |
| | | |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) |
| | | { |
| | | localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | //☆マーク☆ |
| | | //localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | localDoorLockObj.IsOtherAccountCtrl = true; |
| | | } |
| | | |
| | |
| | | // 读取云端门锁设备中的信息 |
| | | var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; |
| | | |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) |
| | | { |
| | | localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | //☆マーク☆ |
| | | //localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | localDoorLockObj.IsOtherAccountCtrl = true; |
| | | } |
| | | if (doorLock.DeviceAddr != null) |
| | |
| | | /// <summary> |
| | | /// 获取云端存储的门锁成员信息 |
| | | /// </summary> |
| | | public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLockAccountlist(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj, int curPage) |
| | | public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetLocaDoorLockAccountlist(ZigBee.Device.DoorLock doorLock, MemberInfoRes curAccountObj, int curPage) |
| | | { |
| | | return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () => |
| | | { |
| | | // 读取云端门锁设备中的信息 |
| | | var localDoorLockObj = new ZigBee.Device.DoorLock.GetDoorLockData() { }; |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | | if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) |
| | | { |
| | | localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | ////☆マーク☆ |
| | | //localDoorLockObj.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | localDoorLockObj.IsOtherAccountCtrl = true; |
| | | } |
| | | localDoorLockObj.CloudAccountId = curAccountObj.SubAccountDistributedMark; |
| | | //☆マーク☆ |
| | | //localDoorLockObj.CloudAccountId = curAccountObj.SubAccountDistributedMark; |
| | | { |
| | | localDoorLockObj.DoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; |
| | | } |
| | |
| | | /// <summary> |
| | | /// 获取本地匹配成员的门锁用户信息列表 |
| | | /// </summary> |
| | | public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetMatchDoorlockAccountList(ZigBee.Device.DoorLock doorLock, Shared.Phone.UserCenter.MemberInfoRes curAccountObj) |
| | | public static async System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>> GetMatchDoorlockAccountList(ZigBee.Device.DoorLock doorLock, MemberInfoRes curAccountObj) |
| | | { |
| | | return await System.Threading.Tasks.Task.Run((Func<System.Threading.Tasks.Task<Dictionary<int, LocaDoorLockObj>>>)(async () => |
| | | { |
| | |
| | | { |
| | | var curDoorLockUser = doorLock.localDoorLockAccountList[curUserId]; |
| | | |
| | | if (string.IsNullOrEmpty(curDoorLockUser.ConnectedAccount) || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) |
| | | { |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | curAccountDoorLockUserList.Add(curDoorLockUser.UserID, curDoorLockUser); |
| | | } |
| | | //☆マーク☆ |
| | | //if (string.IsNullOrEmpty(curDoorLockUser.ConnectedAccount) || curDoorLockUser.ConnectedAccount != curAccountObj.SubAccountDistributedMark) |
| | | //{ |
| | | // continue; |
| | | //} |
| | | //else |
| | | //{ |
| | | // curAccountDoorLockUserList.Add(curDoorLockUser.UserID, curDoorLockUser); |
| | | //} |
| | | } |
| | | return curAccountDoorLockUserList; |
| | | })); |
| | |
| | | { |
| | | /// <summary> |
| | | /// 用户id |
| | | /// <para>管理员10个,0~9,</para>
///<para>普通用户220个,10~234</para>
///<para>一次性用户10个,235~245</para>
///<para>临时密码密码10个,245~255,</para>
///<para>其中指纹100,密码100,卡56</para> |
| | | /// <para>管理员10个,0~9,</para> |
| | | ///<para>普通用户220个,10~234</para> |
| | | ///<para>一次性用户10个,235~245</para> |
| | | ///<para>临时密码密码10个,245~255,</para> |
| | | ///<para>其中指纹100,密码100,卡56</para> |
| | | ///<para>门锁本地录入的密码、指纹、感应卡都有唯一对应的用户Id</para> |
| | | /// </summary> |
| | | public int UserID = -1; |
| | |
| | | /// 门锁录入的时 |
| | | /// </summary> |
| | | public DateTime EntryTime = System.DateTime.MinValue; |
| | | /// <summary>
|
| | | /// PrimaryId 门锁云端主 键(非更新字段,以下均为更新字段) -->键名 : PrimaryId默认值: null
|
| | | /// </summary>
|
| | | /// <summary> |
| | | /// PrimaryId 门锁云端主 键(非更新字段,以下均为更新字段) -->键名 : PrimaryId默认值: null |
| | | /// </summary> |
| | | public string PrimaryId = ""; |
| | | } |
| | | |