HDL Home App 第二版本 旧平台金堂用 正在使用
hxb
2022-08-30 25429f085093d89d543a0b90e30d0d62d1b7dac9
ZigbeeApp/Shared/Phone/UserCenter/Member/MemberListForm.cs
@@ -54,7 +54,10 @@
                            return;
                        }
                        //搜索ID
                        this.SearchMemberInfo(qrCode);
                        HdlThreadLogic.Current.RunThread(() =>
                        {
                            this.SearchMemberInfo(qrCode);
                        });
                    }, 
                    Language.StringByID(R.MyInternationalizationString.uCancel),
                    Language.StringByID(R.MyInternationalizationString.uFlashlamp),
@@ -105,9 +108,9 @@
            //用户图标
            var btnUserIcon = new ImageView();
            btnUserIcon.Height = Application.GetMinRealAverage(207);
            btnUserIcon.Width = Application.GetMinRealAverage(207);
            btnUserIcon.Radius = (uint)Application.GetMinRealAverage(207) / 2;
            btnUserIcon.Height = this.GetPictrueRealSize(207);
            btnUserIcon.Width = this.GetPictrueRealSize(207);
            btnUserIcon.Radius = (uint)this.GetPictrueRealSize(207) / 2;
            btnUserIcon.ImagePath = UserCenterResourse.UserInfo.UserIconFile;
            btnUserIcon.Y = Application.GetRealHeight(46);
            btnUserIcon.Gravity = Gravity.CenterHorizontal;
@@ -174,14 +177,14 @@
        /// <summary>
        /// 初始化成员列表
        /// </summary>
        private async void InitMemberList()
        private void InitMemberList()
        {
            //开启进度条
            this.ShowProgressBar();
            var pra = new MemberListInfoPra();
            string result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
            if (result == null)
            string result = UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
            if (string.IsNullOrEmpty(result) == true)
            {
                //关闭进度条
                this.CloseProgressBar(ShowReLoadMode.YES);
@@ -204,10 +207,8 @@
            //关闭进度条
            this.CloseProgressBar();
            //先清空成员列表信息
            UserCenterResourse.ListMemberInfo.Clear();
            List<string> listCheck = new List<string>();
            List<MemberInfoRes> listShowInfo = new List<MemberInfoRes>();
            foreach (MemberInfoRes infoRes in listInfo)
            {
                if (listCheck.Contains(infoRes.DistributedMark) == true
@@ -225,32 +226,28 @@
                listCheck.Add(infoRes.DistributedMark);
                //添加成员信息的缓存
                UserCenterResourse.ListMemberInfo.Add(infoRes);
                listShowInfo.Add(infoRes);
            }
            listInfo.Clear();
            //保存成员信息的缓存到本地文件
            UserCenterLogic.SaveLocalMemberListInfo();
            if (UserCenterResourse.ListMemberInfo.Count == 0)
            if (listShowInfo.Count == 0)
            {
                return;
            }
            HdlThreadLogic.Current.RunMain(() =>
            {
                //添加成员列表
                this.AddMemberListRowByData();
                this.AddMemberListRowByData(listShowInfo);
            });
        }
        /// <summary>
        /// 添加成员列表
        /// </summary>
        private void AddMemberListRowByData()
        private void AddMemberListRowByData(List<MemberInfoRes> listNewInfo)
        {
            if (this.Parent == null)
            {
                return;
            }
            var listNewInfo = UserCenterResourse.ListMemberInfo;
            int count = listNewInfo.Count - 1;
            for (int i = 0; i < listNewInfo.Count; i++)
@@ -281,13 +278,13 @@
            listView.AddChidren(rowlayout);
            //成员头像图标
            string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, info.DistributedMark + ".png");
            string iconPath = System.IO.Path.Combine(UserCenterResourse.AccountOption.UserPictruePath, info.DistributedMark + ".png");
            var btnIcon = new ImageView();
            btnIcon.X = ControlCommonResourse.XXLeft;
            btnIcon.Gravity = Gravity.CenterVertical;
            btnIcon.Height = Application.GetMinRealAverage(115);
            btnIcon.Width = Application.GetMinRealAverage(115);
            btnIcon.Radius = (uint)Application.GetMinRealAverage(115) / 2;
            btnIcon.Height = this.GetPictrueRealSize(115);
            btnIcon.Width = this.GetPictrueRealSize(115);
            btnIcon.Radius = (uint)this.GetPictrueRealSize(115) / 2;
            if (System.IO.File.Exists(iconPath) == true)
            {
                btnIcon.ImagePath = iconPath;
@@ -351,7 +348,7 @@
            {
                return;
            }
            HdlThreadLogic.Current.RunThread(async () =>
            HdlThreadLogic.Current.RunThread(() =>
            {
                var pra = new AccountInfoPra();
                foreach (var keys in dicMemberAccount.Keys)
@@ -361,7 +358,7 @@
                        return;
                    }
                    pra.Account = dicMemberAccount[keys];
                    var result = await UserCenterLogic.GetByteResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountInfo", false, pra, new List<string>() { "NotSetAgain" });
                    var result = UserCenterLogic.GetByteResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountInfo", false, pra, new List<string> { "NotCheck" }, false);
                    if (result == null)
                    {
                        continue;
@@ -375,7 +372,7 @@
                    if (infoResult.HeadImage != null)
                    {
                        //写入头像内容
                        string iconPath = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, keys + ".png");
                        string iconPath = System.IO.Path.Combine(UserCenterResourse.AccountOption.UserPictruePath, keys + ".png");
                        Shared.IO.FileUtils.WriteFileByBytes(iconPath, infoResult.HeadImage);
                        HdlThreadLogic.Current.RunMain(() =>
                        {
@@ -423,28 +420,32 @@
        /// </summary>
        /// <param name="accountId">成员ID</param>
        /// <param name="txtMsg">信息控件</param>
        private async void SearchMemberInfo(string accountId)
        private void SearchMemberInfo(string accountId)
        {
            var pra = new AccountInfoPra();
            pra.Account = accountId;
            string result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountInfo", false, pra, new List<string>() { "AccountNoExists" });
            if (result == null)
            var byteData = UserCenterLogic.GetByteResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountInfo", false, pra, new List<string>() { "AccountNoExists" });
            if (byteData == null)
            {
                //异常
                return;
            }
            if (result == string.Empty)
            var revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.ResponseEntity.ResponsePack>(System.Text.Encoding.UTF8.GetString(byteData));
            if (revertObj.StateCode == "AccountNoExists")
            {
                //成员不存在
                var form = new MemberNotEsixtForm();
                form.AddForm();
                HdlThreadLogic.Current.RunMain(() =>
                {
                    //成员不存在
                    var form = new MemberNotEsixtForm();
                    form.AddForm(Language.StringByID(R.MyInternationalizationString.uMemberInformation));
                });
                return;
            }
            var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<AccountInfoResult>(result);
            var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<AccountInfoResult>(revertObj.ResponseData.ToString());
            infoResult.Account = accountId;
            Application.RunOnMainThread(() =>
            HdlThreadLogic.Current.RunMain(() =>
            {
                var form = new AddMemberInfoForm();
                form.AddForm(infoResult);