using System;
using System.Collections.Generic;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI
{
///
/// 我的二维码页面
///
public class DeliveryQrCodePage : FrameLayout
{
FrameLayout bodyView;
public DeliveryQrCodePage()
{
bodyView = this;
}
///
///
///
/// 是否开启住宅监听线程,没有住宅的时候别人扫码添加你为成员的时候调用
public void LoadPage()
{
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
new TopViewDiv(bodyView, Language.StringByID(StringId.ResidentialDelivery)).LoadTopView();
int backViewHeight = Application.GetRealHeight(132) + Application.GetRealWidth(266);
FrameLayout backView = new FrameLayout()
{
Y = Application.GetRealHeight(144),
Gravity = Gravity.CenterHorizontal,
Height = Application.GetRealWidth(288),
Width = Application.GetRealWidth(288),
BackgroundColor = CSS_Color.MainBackgroundColor,
Radius = (uint)Application.GetRealWidth(8),
};
bodyView.AddChidren(backView);
var btnHomeName = new Button()
{
Gravity = Gravity.CenterHorizontal,
Y = backView.Bottom + Application.GetRealWidth(12),
Width = Application.GetRealWidth(300),
Height = Application.GetRealHeight(60),
TextAlignment = TextAlignment.Center,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
Text = Entity.DB_ResidenceData.Instance.CurrentRegion.homeName,
IsBold = true,
IsMoreLines = true,
};
bodyView.AddChidren(btnHomeName);
//二维码
int codeWidth = Application.GetRealWidth(266);
ImageView codeImage = new ImageView()
{
Gravity = Gravity.Center,
Height = codeWidth,
Width = codeWidth,
ImageBytes = Scan.BytesFromText(Entity.DB_ResidenceData.Instance.CurrentRegion.deliverUrl,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);
}
///
/// 开启检测住宅是否已经添加了的线程
///
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();
}
}
}