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();
}
}
}