HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2020-12-31 fe3b2466c68b5db70d38e78039703add3b8b1dfe
ZigbeeApp/Shared/Phone/Device/Logic/Send.cs
@@ -825,14 +825,14 @@
            var AllUserIfon = await ReadUserListIfon(doorlockMac);
            var currUserIfon = new MembershipIfon();
            currUserIfon.CloudAccountId = Config.Instance.Guid;
            if (string.IsNullOrEmpty(HdlUserCenterResourse.UserInfo.NickName))
            if (string.IsNullOrEmpty(UserCenter.UserCenterResourse.UserInfo.UserName))
            {
                ///如果昵称为空,此时,登陆账号为默认昵称;
                currUserIfon.UserName = HdlUserCenterResourse.UserInfo.Account;
                currUserIfon.UserName = UserCenter.UserCenterResourse.UserInfo.Account;
            }
            else
            {
                currUserIfon.UserName = HdlUserCenterResourse.UserInfo.NickName;
                currUserIfon.UserName = UserCenter.UserCenterResourse.UserInfo.UserName;
            }
            foreach (var o in AllUserIfon)
            {
@@ -860,15 +860,22 @@
                userlist.Add(currUserIfon);
            }
            if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 3)
            if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo != 3)
            {
                List<MemberInfoRes> listInfo = null;
                var pra = new UserCenter.MemberListInfoPra();
                string result = "";
                if (AllUserIfon.Count != 0)
                {
                    //服务返回来没有门锁成员信息,没有必要再去请求成员列表,
                    //原因:节约时间,体验效果好;
                    listInfo = HdlMemberLogic.Current.GetMemberListInfo();
                    result = UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
                }
                if (string.IsNullOrEmpty(result))
                {
                    //防止为空抛异常;
                    return userlist;
                }
                var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result);
                if (listInfo == null)
                {
                    //防止为空抛异常;
@@ -878,20 +885,19 @@
                {
                    var userIfon = new MembershipIfon();
                    //☆マーク☆
                    //var user = listInfo[i];
                    //userIfon.CloudAccountId = user.SubAccountDistributedMark;
                    //if (string.IsNullOrEmpty(user.UserName))
                    //{
                    //    ///如果昵称为空,此时,登陆账号为默认昵称;
                    //    userIfon.UserName = user.Account;
                    var user = listInfo[i];
                    userIfon.CloudAccountId = user.SubAccountDistributedMark;
                    if (string.IsNullOrEmpty(user.UserName))
                    {
                        ///如果昵称为空,此时,登陆账号为默认昵称;
                        userIfon.UserName = user.Account;
                    //}
                    //else
                    //{
                    //    userIfon.UserName = user.UserName;
                    }
                    else
                    {
                        userIfon.UserName = user.UserName;
                    //}
                    }
                    for (int j = 0; j < AllUserIfon.Count; j++)
                    {
                        if (AllUserIfon[j].IsFreezeUser || string.IsNullOrEmpty(AllUserIfon[j].UserId))
@@ -903,27 +909,25 @@
                        {
                            userIfon.DoorLockMacPort = AllUserIfon[j].DoorLockMacPort;
                        }
                        //☆マーク☆
                        ///查找成员以及成员门锁触发源(1按键/3卡/15指纹)
                        //if (user.SubAccountDistributedMark == AllUserIfon[j].CloudAccountId)
                        //{
                        //    UnlockingMode unlockingMode = new UnlockingMode();
                        //    unlockingMode.OpenMode = AllUserIfon[j].OpenMode;
                        //    unlockingMode.UserId = AllUserIfon[j].UserId;
                        //    unlockingMode.ModeName = AllUserIfon[j].ModeName;
                        //    userIfon.UserIdMode.Add(unlockingMode);
                        //}
                        if (user.SubAccountDistributedMark == AllUserIfon[j].CloudAccountId)
                        {
                            UnlockingMode unlockingMode = new UnlockingMode();
                            unlockingMode.OpenMode = AllUserIfon[j].OpenMode;
                            unlockingMode.UserId = AllUserIfon[j].UserId;
                            unlockingMode.ModeName = AllUserIfon[j].ModeName;
                            userIfon.UserIdMode.Add(unlockingMode);
                        }
                    }
                    if (userIfon.UserIdMode.Count != 0)
                    {
                        //☆マーク☆
                        ///过滤掉重复数据;
                        //var str = userlist.Find((c) => { return c.CloudAccountId == user.SubAccountDistributedMark; });
                        //if (str == null)
                        //{
                        //    userlist.Add(userIfon);
                        //}
                        var str = userlist.Find((c) => { return c.CloudAccountId == user.SubAccountDistributedMark; });
                        if (str == null)
                        {
                            userlist.Add(userIfon);
                        }
                    }
                }
@@ -965,7 +969,7 @@
        public static async System.Threading.Tasks.Task<string> ReadUserList(string doorlockMac)
        {
            string s = null;
            var str = await WebClientAsync(0, HdlHttpLogic.Current.RequestHttpsHost + "/App/GetHomePager");//不同区域域名前缀不一样
            var str = await WebClientAsync(0, CommonPage.RequestHttpsHost + "/App/GetHomePager");//不同区域域名前缀不一样
                                                                                               
            var jObject = JObject.Parse(str);
            if (jObject == null || jObject["StateCode"].ToString() != "Success")
@@ -990,12 +994,12 @@
                        residential.MainUserDistributedMark = data["MainUserDistributedMark"].ToString();
                        residential.IsOtherAccountCtrl = true;
                        residential.doorlockmac = doorlockMac;
                        residential.Url = HdlHttpLogic.Current.RequestHttpsHost + "/App/GetSharedHomeApiControl";
                        residential.Url = CommonPage.RequestHttpsHost + "/App/GetSharedHomeApiControl";
                        s = await ReadUserDoorLock(residential);
                    }
                    else
                    {
                        residential.Url = HdlHttpLogic.Current.RequestHttpsHost + "/DoorLock/GetDoorLockPager";
                        residential.Url = CommonPage.RequestHttpsHost + "/DoorLock/GetDoorLockPager";
                        residential.Token = Config.Instance.Token;
                        residential.Id = Config.Instance.HomeId;
                        residential.IsOtherAccountCtrl = false;
@@ -1134,7 +1138,7 @@
        /// <summary>
        /// 当前用户的信息
        /// </summary>
        public static MemberInfoRes UserMemberInfoRes = null;
        public static UserCenter.MemberInfoRes UserMemberInfoRes = null;
        #endregion
        /// <summary>
@@ -1185,19 +1189,17 @@
        {
            var getUrl = "";
            var jObject = new JObject();
            if (HdlUserCenterResourse.ResidenceOption.AuthorityNo == 1)
            if (UserCenter.UserCenterResourse.UserInfo.AuthorityNo == 1)
            {
                //☆マーク☆
                //getUrl = HdlHttpLogic.Current.RequestHttpsHost + url;//请求地址;
                getUrl = CommonPage.RequestHttpsHost + url;//请求地址;
                jObject.Add("IsOtherAccountCtrl", false);
                jObject.Add("LoginAccessToken", Config.Instance.Token);
            }
            else
            {
                //☆マーク☆
                //getUrl = Config.Instance.AdminRequestBaseUrl + url;//请求地址;
                getUrl = Config.Instance.AdminRequestBaseUrl + url;//请求地址;
                jObject.Add("IsOtherAccountCtrl", true);
                //jObject.Add("LoginAccessToken", Config.Instance.AdminRequestToken);
                jObject.Add("LoginAccessToken", Config.Instance.AdminRequestToken);
            }
            switch (command)
            {