New file |
| | |
| | | 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; |
| | | |
| | | public MyQRCodePage() |
| | | { |
| | | bodyView = this; |
| | | } |
| | | |
| | | /// <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(); |
| | | |
| | | 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(); |
| | | } |
| | | } |
| | | |
| | | /// <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(); |
| | | } |
| | | } |
| | | } |