using System;
|
using System.Text;
|
using Shared.Common;
|
using Shared.Phone.UserCenter;
|
using Shared.Phone.UserView;
|
|
namespace Shared.Phone.Login
|
{
|
/// <summary>
|
/// 账号注册成功的提示界面
|
/// </summary>
|
public class AccountRegisterResultForm : FrameLayout
|
{
|
#region ■ 初始化_____________________________
|
|
/// <summary>
|
/// 初始化
|
/// </summary>
|
/// <param name="account">账号</param>
|
/// <param name="password">密码</param>
|
/// <param name="OpenID">第三方绑定的id</param>
|
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 ■ 自动登录___________________________
|
|
/// <summary>
|
/// AutoLogin
|
/// </summary>
|
/// <param name="account"></param>
|
/// <param name="password"></param>
|
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 ■ 绑定第三方_________________________
|
|
/// <summary>
|
/// 绑定
|
/// </summary>
|
/// <param name="guid"></param>
|
/// <param name="openId"></param>
|
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
|
}
|
}
|