HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2020-12-14 e90209beae6a4e822cecb18e6889f8bda23f630e
ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs
@@ -111,7 +111,7 @@
            btnUserIcon.Height = this.GetPictrueRealSize(207);
            btnUserIcon.Width = this.GetPictrueRealSize(207);
            btnUserIcon.Radius = (uint)this.GetPictrueRealSize(207) / 2;
            btnUserIcon.ImagePath = HdlFileNameResourse.UserHeadIconFile;
            btnUserIcon.ImagePath = UserCenterResourse.UserInfo.UserIconFile;
            btnUserIcon.Y = Application.GetRealHeight(46);
            btnUserIcon.Gravity = Gravity.CenterHorizontal;
            frameBack.AddChidren(btnUserIcon);
@@ -121,7 +121,7 @@
            btnName.TextAlignment = TextAlignment.Center;
            btnName.Y = btnUserIcon.Bottom + Application.GetRealHeight(20);
            btnName.TextSize = 16;
            btnName.Text = HdlUserCenterResourse.UserInfo.NickName; ;
            btnName.Text = UserCenterResourse.UserInfo.UserName; ;
            frameBack.AddChidren(btnName);
            //身份
@@ -130,7 +130,7 @@
            btnAuthority.Y = btnName.Bottom + Application.GetRealHeight(10);
            btnAuthority.TextSize = 12;
            btnAuthority.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnAuthority.Text = HdlUserCenterResourse.ResidenceOption.AuthorityText;
            btnAuthority.Text = UserCenterResourse.UserInfo.AuthorityText;
            frameBack.AddChidren(btnAuthority);
        }
@@ -145,7 +145,7 @@
        {
            //标题:成员列表
            var btnMenberTile = new NormalViewControl(800, 60, true);
            btnMenberTile.X = HdlControlResourse.XXLeft;
            btnMenberTile.X = ControlCommonResourse.XXLeft;
            btnMenberTile.Y = Application.GetRealHeight(480);
            btnMenberTile.TextColor = UserCenterColor.Current.TextColor1;
            btnMenberTile.TextID = R.MyInternationalizationString.MenberList;
@@ -182,8 +182,23 @@
            //开启进度条
            this.ShowProgressBar();
            var listShowInfo = HdlMemberLogic.Current.GetMemberListInfo();
            if (listShowInfo == null)
            var pra = new MemberListInfoPra();
            string result = UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
            if (string.IsNullOrEmpty(result) == true)
            {
                //关闭进度条
                this.CloseProgressBar(ShowReLoadMode.YES);
                return;
            }
            if (this.Parent == null)
            {
                //关闭进度条
                this.CloseProgressBar();
                return;
            }
            List<MemberInfoRes> listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<MemberInfoRes>>(result);
            if (listInfo == null)
            {
                //关闭进度条
                this.CloseProgressBar(ShowReLoadMode.YES);
@@ -192,6 +207,27 @@
            //关闭进度条
            this.CloseProgressBar();
            List<string> listCheck = new List<string>();
            List<MemberInfoRes> listShowInfo = new List<MemberInfoRes>();
            foreach (MemberInfoRes infoRes in listInfo)
            {
                if (listCheck.Contains(infoRes.DistributedMark) == true
                    || infoRes.Account == UserCenterResourse.UserInfo.Phone
                    || infoRes.Account == UserCenterResourse.UserInfo.Email)
                {
                    //如果是它自己的话,不显示
                    continue;
                }
                if (UserCenterResourse.UserInfo.AuthorityNo != 1 && infoRes.AccountType != 0)
                {
                    //不能够获取权限等级比他高的(主人自己可以无视这个判断)
                    continue;
                }
                listCheck.Add(infoRes.DistributedMark);
                //添加成员信息的缓存
                listShowInfo.Add(infoRes);
            }
            if (listShowInfo.Count == 0)
            {
                return;
@@ -242,9 +278,9 @@
            listView.AddChidren(rowlayout);
            //成员头像图标
            string iconPath = System.IO.Path.Combine(HdlFileNameResourse.UserPictrueDirectory, info.ChildAccountId + ".png");
            string iconPath = System.IO.Path.Combine(UserCenterResourse.AccountOption.UserPictruePath, info.DistributedMark + ".png");
            var btnIcon = new ImageView();
            btnIcon.X = HdlControlResourse.XXLeft;
            btnIcon.X = ControlCommonResourse.XXLeft;
            btnIcon.Gravity = Gravity.CenterVertical;
            btnIcon.Height = this.GetPictrueRealSize(115);
            btnIcon.Width = this.GetPictrueRealSize(115);
@@ -256,15 +292,15 @@
            else
            {
                btnIcon.ImagePath = "Center/Admin.png";
                this.dicIconControl[info.ChildAccountId] = btnIcon;
                this.dicMemberAccount[info.ChildAccountId] = info.Account;
                this.dicIconControl[info.DistributedMark] = btnIcon;
                this.dicMemberAccount[info.DistributedMark] = info.Account;
            }
            rowlayout.AddChidren(btnIcon);
            //成员昵称
            string memberName = info.ShowName;
            string memberName = string.IsNullOrEmpty(info.UserName) == true ? info.Account : info.UserName;
            var btnName = rowlayout.AddLeftCaption(memberName, 600, true);
            btnName.X = HdlControlResourse.XXLeft + btnIcon.Height + Application.GetRealWidth(35);
            btnName.X = ControlCommonResourse.XXLeft + btnIcon.Height + Application.GetRealWidth(35);
            btnName.TextSize = 15;
            rowlayout.AddChidren(btnName);
@@ -314,18 +350,30 @@
            }
            HdlThreadLogic.Current.RunThread(() =>
            {
                var pra = new AccountInfoPra();
                foreach (var keys in dicMemberAccount.Keys)
                {
                    if (this.Parent == null)
                    {
                        return;
                    }
                    var imageData = HdlAccountLogic.Current.DownLoadAccountPictrue(dicMemberAccount[keys]);
                    if (imageData != null && imageData.Length > 0)
                    pra.Account = dicMemberAccount[keys];
                    var result = UserCenterLogic.GetByteResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountInfo", false, pra, new List<string> { "NotCheck" }, false);
                    if (result == null)
                    {
                        continue;
                    }
                    var revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResponsePack>(System.Text.Encoding.UTF8.GetString(result));
                    if (revertObj == null || revertObj.ResponseData == null)
                    {
                        continue;
                    }
                    var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<AccountInfoResult>(revertObj.ResponseData.ToString());
                    if (infoResult.HeadImage != null)
                    {
                        //写入头像内容
                        string iconPath = System.IO.Path.Combine(HdlFileNameResourse.UserPictrueDirectory, keys + ".png");
                        Shared.IO.FileUtils.WriteFileByBytes(iconPath, imageData);
                        string iconPath = System.IO.Path.Combine(UserCenterResourse.AccountOption.UserPictruePath, keys + ".png");
                        Shared.IO.FileUtils.WriteFileByBytes(iconPath, infoResult.HeadImage);
                        HdlThreadLogic.Current.RunMain(() =>
                        {
                            dicIconControl[keys].ImageBytes = Shared.IO.FileUtils.ReadFile(iconPath);
@@ -374,18 +422,16 @@
        /// <param name="txtMsg">信息控件</param>
        private void SearchMemberInfo(string accountId)
        {
            //开启进度条
            this.ShowProgressBar();
            var result = HdlMemberLogic.Current.SearchNormalInfoByAccount(accountId);
            //关闭进度条
            this.CloseProgressBar();
            if (result == null)
            var pra = new AccountInfoPra();
            pra.Account = accountId;
            var byteData = UserCenterLogic.GetByteResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountInfo", false, pra, new List<string>() { "AccountNoExists" });
            if (byteData == null)
            {
                //异常
                return;
            }
            if (result.Account == string.Empty)
            var revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResponsePack>(System.Text.Encoding.UTF8.GetString(byteData));
            if (revertObj.StateCode == "AccountNoExists")
            {
                HdlThreadLogic.Current.RunMain(() =>
                {
@@ -396,10 +442,13 @@
                return;
            }
            var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<AccountInfoResult>(revertObj.ResponseData.ToString());
            infoResult.Account = accountId;
            HdlThreadLogic.Current.RunMain(() =>
            {
                var form = new AddMemberInfoForm();
                form.AddForm(result);
                form.AddForm(infoResult);
            });
        }