using System;
using System.Text;
using Shared.Common;
using Shared.Phone.UserCenter;
using Shared.Phone.UserView;
namespace Shared.Phone.Login
{
///
/// 账号注册成功的提示界面
///
public class AccountRegisterResultForm : FrameLayout
{
#region ■ 初始化_____________________________
///
/// 初始化
///
/// 账号
/// 密码
/// 第三方绑定的id
public void ShowForm(string account, string password, string OpenID = "")
{
//整个背景
var frameBack = new FrameLayout();
frameBack.BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor;
this.AddChidren(frameBack);
//上部黑色部分
var frameBlack = new FrameLayout();
frameBlack.Y = Application.GetRealHeight(527);
frameBlack.Width = Application.GetRealWidth(688);
frameBlack.Height = Application.GetRealHeight(274);
frameBlack.Gravity = Gravity.CenterHorizontal;
frameBlack.BackgroundColor = ZigbeeColor.Current.GXCBlackBackgroundColor;
frameBlack.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
this.AddChidren(frameBlack);
//下部白色部分
var frameWhite = new FrameLayout();
frameWhite.Y = frameBlack.Bottom;
frameWhite.Width = Application.GetRealWidth(688);
frameWhite.Height = Application.GetRealHeight(579);
frameWhite.Gravity = Gravity.CenterHorizontal;
frameWhite.BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor;
frameWhite.SetCornerWithSameRadius(Application.GetRealHeight(17), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight);
this.AddChidren(frameWhite);
//账号头像
var btnAccountIcon = new PicViewControl(294, 316);
btnAccountIcon.Y = Application.GetRealHeight(648);
btnAccountIcon.Gravity = Gravity.CenterHorizontal;
btnAccountIcon.UnSelectedImagePath = "Account/Cat.png";
this.AddChidren(btnAccountIcon);
//账号
var btnAccount = new NormalViewControl(500, 80, true);
btnAccount.Y = btnAccountIcon.Bottom;
btnAccount.Gravity = Gravity.CenterHorizontal;
btnAccount.Text = account;
btnAccount.TextColor = ZigbeeColor.Current.GXCTextGrayColor2;
btnAccount.TextAlignment = TextAlignment.Center;
this.AddChidren(btnAccount);
//恭喜注册成功!
var btnTip = new NormalViewControl(500, 80, true);
btnTip.Y = Application.GetRealHeight(1143);
btnTip.Gravity = Gravity.CenterHorizontal;
btnTip.TextID = R.MyInternationalizationString.RegisterSuccessTip;
btnTip.TextColor = ZigbeeColor.Current.GXCTextBlackColor2;
btnTip.TextAlignment = TextAlignment.Center;
btnTip.TextSize = 16;
btnTip.IsBold = true;
this.AddChidren(btnTip);
//即将自动登录
var btnWillLogin = new NormalViewControl(500, 80, true);
btnWillLogin.Y = btnTip.Bottom + Application.GetRealHeight(15);
btnWillLogin.Gravity = Gravity.CenterHorizontal;
btnWillLogin.TextID = R.MyInternationalizationString.WillAutoLogin;
btnWillLogin.TextColor = ZigbeeColor.Current.GXCTextGrayColor;
btnWillLogin.TextAlignment = TextAlignment.Center;
AddChidren(btnWillLogin);
HdlThreadLogic.Current.RunThread(() =>
{
System.Threading.Thread.Sleep(2000);
//2秒后自动登录
this.LoginByAccountAndPsw(account, password, OpenID);
});
}
#endregion
#region ■ 自动登录___________________________
///
/// AutoLogin
///
///
///
private void LoginByAccountAndPsw(string account, string password, string OpenID = "")
{
HdlThreadLogic.Current.RunMain(() =>
{
//打开启动页
HdlControlLogic.Current.ShowLoginLoadView();
CommonPage.Loading.Start(Language.StringByID(R.MyInternationalizationString.Logining));
HdlThreadLogic.Current.RunThread(() =>
{
//账号密码登陆
var result = HdlAccountLogic.Current.LoginByPassword(account, password);
if (result != null && result.Code == HttpMessageEnum.A成功)
{
if (string.IsNullOrEmpty(OpenID) == false)
{
//绑定第三方
BindAuthUser(Config.Instance.Guid, OpenID);
}
//刷新个人中心的内存及线程
bool result2 = HdlUserCenterLogic.Current.InitUserCenterMenmoryAndThread(true);
//启动ZigBee
ZigBee.Common.Application.Init();
HdlThreadLogic.Current.RunMain(() =>
{
CommonPage.Loading.Hide();
this.RemoveFromParent();
CommonPage.Instance.RemoveViewByTag("Register");
CommonPage.Instance.RemoveViewByTag("Login");
if (result2 == true)
{
//false:开启了调试功能
UserPage.Instance.ReFreshControl();
}
});
}
else
{
HdlThreadLogic.Current.RunMain(() =>
{
//未登录成功弹出登录界面 同时需要标记为未登录状态
Config.Instance.LoginDateTime = new DateTime(1970, 1, 1);
Config.Instance.Save();
var login = new AccountLoginForm();
CommonPage.Instance.AddChidren(login);
login.ShowForm(account);
});
}
});
});
}
#endregion
#region ■ 绑定第三方_________________________
///
/// 绑定
///
///
///
private void BindAuthUser(string guid, string openId)
{
//☆マーク☆ 绑定微信
//var auth = new SendDataToServer.BindAuthUser();
//auth.AccountGuid = guid;
//auth.OpenID = openId;
//HdlHttpLogic.Current.RequestHttpsZigbeeAsync("ZigbeeUsers/BindAuthUserToAccount", RestSharp.Method.POST, auth, null, null);
}
#endregion
}
}