using System; using System.Collections.Generic; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { /// /// 我的二维码页面 /// public class MyQRCodePage : FrameLayout { FrameLayout bodyView; public MyQRCodePage() { bodyView = this; } /// /// /// /// 是否开启住宅监听线程,没有住宅的时候别人扫码添加你为成员的时候调用 public void LoadPage(bool isStartCheckResidenceThread = false) { bodyView.BackgroundColor = CSS_Color.BackgroundColor; new TopViewDiv(bodyView, Language.StringByID(StringId.MyQRcode)).LoadTopView(); int backViewHeight = Application.GetRealHeight(132) + Application.GetRealWidth(266); FrameLayout backView = new FrameLayout() { Y = Application.GetRealHeight(144), X = Application.GetRealWidth(20), Height = backViewHeight, Width = Application.GetRealWidth(335), BackgroundColor = CSS_Color.MainBackgroundColor, Radius = (uint)Application.GetRealWidth(8), }; bodyView.AddChidren(backView); #region 头像、昵称、帐号 FrameLayout headView = new FrameLayout() { Y = Application.GetRealHeight(16), Height = Application.GetRealHeight(60), }; backView.AddChidren(headView); ImageView headImage = new ImageView() { X = Application.GetRealWidth(16), Width = Application.GetMinRealAverage(60), Height = Application.GetMinRealAverage(60), Radius = (uint)Application.GetMinRealAverage(30), ImagePath = UserInfo.Current.headImagePagePath, }; headView.AddChidren(headImage); //用户名称 var btnUserName = new Button() { X = headImage.Right + Application.GetRealWidth(12), Width = Application.GetRealWidth(200), Height = Application.GetRealHeight(30), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextID = StringId.UsersWhoNameIsEmpty, IsBold = true }; headView.AddChidren(btnUserName); if (!string.IsNullOrEmpty(UserInfo.Current.userName)) { btnUserName.Text = UserInfo.Current.userName; } //用户帐号 var btnEmail = new Button() { X = headImage.Right + Application.GetRealWidth(12), Y = btnUserName.Bottom, Height = Application.GetRealHeight(30), TextAlignment = TextAlignment.TopLeft, TextColor = CSS_Color.TextualColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, Text = UserInfo.Current.AccountString }; headView.AddChidren(btnEmail); #endregion //二维码 int codeWidth = Application.GetRealWidth(266); ImageView codeImage = new ImageView() { X = Application.GetRealWidth(35), Y = Application.GetRealHeight(104), Height = codeWidth, Width = 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), //}; //backView.AddChidren(headImage2); if (isStartCheckResidenceThread) { //开启检测住宅是否已经添加了的线程 this.StartCheckResidenceThread(); } } /// /// 开启检测住宅是否已经添加了的线程 /// 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>(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(); } } }