wxr
2021-07-01 adc150efb13a0506f45a3c344c3ee2ef2dba8e90
HDL_ON/UI/UI2/4-PersonalCenter/MyQRCodePage.cs
@@ -1,11 +1,13 @@
using System;
using System.Collections.Generic;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI
{
    /// <summary>
    /// 我的二维码页面
    /// </summary>
    public class MyQRCodePage : FrameLayout
    {
        FrameLayout bodyView;
@@ -15,7 +17,11 @@
            bodyView = this;
        }
        public void LoadPage()
        /// <summary>
        ///
        /// </summary>
        /// <param name="isStartCheckResidenceThread">是否开启住宅监听线程,没有住宅的时候别人扫码添加你为成员的时候调用</param>
        public void LoadPage(bool isStartCheckResidenceThread = false)
        {
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            new TopViewDiv(bodyView, Language.StringByID(StringId.MyQRcode)).LoadTopView();
@@ -78,7 +84,7 @@
                TextAlignment = TextAlignment.TopLeft,
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                Text = UserInfo.Current.accountString
                Text = UserInfo.Current.AccountString
            };
            headView.AddChidren(btnEmail);
            #endregion
@@ -91,26 +97,85 @@
                Y = Application.GetRealHeight(104),
                Height = codeWidth,
                Width = codeWidth,
                ImageBytes = Scan.BytesFromText(UserInfo.Current.accountString, codeWidth, codeWidth),
                ImageBytes = Scan.BytesFromText(UserInfo.Current.AccountString, codeWidth, codeWidth),
            };
            backView.AddChidren(codeImage);
            //二维码中心头像
            int imageWidth = Application.GetMinRealAverage(60);
            int imageX = codeImage.X + (codeWidth - imageWidth) / 2;
            int imageY = codeImage.Y + (codeWidth - imageWidth) / 2;
            ImageView headImage2 = new ImageView()
            {
                X = imageX,
                Y = imageY,
                Width = imageWidth,
                Height = imageWidth,
                ImagePath = UserInfo.Current.headImagePagePath,
                BorderColor = CSS_Color.MainBackgroundColor,
                BorderWidth = (uint)Application.GetRealWidth(2),
                Radius = (uint)Application.GetMinRealAverage(30),
            };
            ////二维码中心头像
            //int imageWidth = Application.GetMinRealAverage(60);
            //int imageX = codeImage.X + (codeWidth - imageWidth) / 2;
            //int imageY = codeImage.Y + (codeWidth - imageWidth) / 2;
            //ImageView headImage2 = new ImageView()
            //{
            //    X = imageX,
            //    Y = imageY,
            //    Width = imageWidth,
            //    Height = imageWidth,
            //    ImagePath = UserInfo.Current.headImagePagePath,
            //    BorderColor = CSS_Color.MainBackgroundColor,
            //    BorderWidth = (uint)Application.GetRealWidth(2),
            //    Radius = (uint)Application.GetMinRealAverage(30),
            //};
            //backView.AddChidren(headImage2);
            if (isStartCheckResidenceThread)
            {
                //开启检测住宅是否已经添加了的线程
                this.StartCheckResidenceThread();
            }
        }
        /// <summary>
        /// 开启检测住宅是否已经添加了的线程
        /// </summary>
        private void StartCheckResidenceThread()
        {
            //获取住宅列表的参数
            var requestJson = DAL.Server.HttpUtil.GetSignRequestJson(new DAL.Server.GetHomeListObj() { homeType = HomeTypeEnum.ALL.ToString() });
            new System.Threading.Thread(() =>
            {
                while (this.Parent != null)
                {
                    System.Threading.Thread.Sleep(4000);
                    if (this.Parent == null)
                    {
                        break;
                    }
                    //访问云端获取列表
                    var resultObj = DAL.Server.HttpUtil.RequestHttpsPost(DAL.Server.NewAPI.API_POST_Gethomepager, requestJson);
                    if (resultObj.Code == DAL.Server.StateCode.SUCCESS)
                    {
                        var homeList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoRes>>(resultObj.Data.ToString());
                        if (homeList == null || homeList.Count == 0)
                        {
                            //如果还没有住宅的话,继续下一次检测
                            continue;
                        }
                        //调用On原来的方法,刷新住宅列表及其缓存
                        var pm = new DAL.Server.HttpServerRequest();
                        pm.GetHomePager();
                        Application.RunOnMainThread(() =>
                        {
                            if (this.Parent == null)
                            {
                                return ;
                            }
                            //跳转页面----
                            MainPage.GoUserPage(true, false, () =>
                            {
                                //显示欢迎回家的弹窗界面
                                var form = new WellcomToHomeForm();
                                form.ShowForm();
                            });
                        });
                        break;
                    }
                }
            })
            { IsBackground = true }.Start();
        }
    }
}