using System;
|
using System.Text.RegularExpressions;
|
using System.Threading;
|
using HDL_ON.DAL.Server;
|
using HDL_ON.UI.CSS;
|
using Shared;
|
|
namespace HDL_ON.UI.UI1Login
|
{
|
public partial class LoginPage : FrameLayout
|
{
|
public LoginPage()
|
{
|
//bodyView = new FrameLayout();
|
//AddChidren(bodyView);
|
bodyView = this;
|
pm = new HttpServerRequest();
|
}
|
|
public override void RemoveFromParent()
|
{
|
//如果当前界面存在正在等待数据的情况,先将该动作关掉
|
if (waitPage != null)
|
{
|
waitPage.RemoveFromParent();
|
waitPage = null;
|
}
|
else
|
{
|
base.RemoveFromParent();
|
}
|
}
|
|
#region 局部变量
|
/// <summary>
|
/// 登录类型
|
/// 0:手机
|
/// 1:邮箱
|
/// </summary>
|
int loginType = 0;
|
/// <summary>
|
/// 登录方式
|
/// 0:密码
|
/// 1:验证码
|
/// </summary>
|
int logintMode = 0;
|
string account = "";
|
string password = "";
|
#endregion
|
|
#region 控件列表
|
/// <summary>
|
/// 等待提示
|
/// </summary>
|
Loading waitPage;
|
/// <summary>
|
/// 当前界面
|
/// </summary>
|
FrameLayout bodyView;
|
/// <summary>
|
/// 选择手机登录按钮
|
/// </summary>
|
Button btnPhoneLogin;
|
/// <summary>
|
/// 选择邮箱登录按钮
|
/// </summary>
|
Button btnEmailLogin;
|
/// <summary>
|
/// 账号子区域
|
/// </summary>
|
FrameLayout accountView;
|
/// <summary>
|
/// 国际区号按钮
|
/// </summary>
|
Button btnGlobalRoaming;
|
/// <summary>
|
/// 账号子区域里面的分割线
|
/// </summary>
|
Button btnDividingLineVertical_AccountView;
|
/// <summary>
|
/// 账号文本框
|
/// </summary>
|
EditText etAccount;
|
/// <summary>
|
/// 账号Icon按钮
|
/// </summary>
|
Button btnAccountIcon;
|
/// <summary>
|
/// 密码子区域
|
/// </summary>
|
FrameLayout passwordView;
|
/// <summary>
|
/// 密码Icon按钮
|
/// </summary>
|
Button btnPasswordIcon;
|
/// <summary>
|
/// 密码文本框
|
/// </summary>
|
EditText etPassword;
|
/// <summary>
|
/// 密码子区域里面的分割线1
|
/// </summary>
|
Button btnDividingLineVertical_PasswordView1;
|
/// <summary>
|
/// 密码子区域里面的分割线2
|
/// </summary>
|
Button btnDividingLineVertical_PasswordView2;
|
/// <summary>
|
/// 忘记密码按钮
|
/// </summary>
|
Button btnForgetPassword;
|
/// <summary>
|
/// 获取手机验证码按钮
|
/// </summary>
|
Button btnGetVerificationCode;
|
/// <summary>
|
/// 密码是否可见按钮
|
/// </summary>
|
Button btnVisiblePassword;
|
/// <summary>
|
/// 账号子区域底部横线
|
/// </summary>
|
Button btnAccountViewBottomLine;
|
/// <summary>
|
/// 密码子区域底部横线
|
/// </summary>
|
Button btnPasswordViewBottomLine;
|
/// <summary>
|
/// 注册按钮
|
/// </summary>
|
Button btnRegister;
|
/// <summary>
|
/// 验证码登录按钮
|
/// </summary>
|
Button btnSwitchLoginMode;
|
/// <summary>
|
/// 登录按钮
|
/// </summary>
|
Button btnLogin;
|
/// <summary>
|
/// 服务器请求对象
|
/// </summary>
|
HttpServerRequest pm;
|
#endregion
|
|
string verAccount = "";
|
|
/// <summary>
|
///
|
/// </summary>
|
string registerPhone;
|
string registerEmail;
|
|
/// <summary>
|
/// 加载视图
|
/// </summary>
|
public void LoadView(UserInfo userInfo = null)
|
{
|
Language.CurrentLanguage = "Chinese";
|
|
var btnIcon = new Button()
|
{
|
X = Application.GetRealWidth(28),
|
Y = Application.GetRealHeight(73),
|
Width = Application.GetMinRealAverage(62),
|
Height = Application.GetMinRealAverage(62),
|
UnSelectedImagePath = "Public/Logo.png",
|
};
|
bodyView.AddChidren(btnIcon);
|
|
var btnIcon_bg = new Button()
|
{
|
X = Application.GetRealWidth(171),
|
Y = Application.GetRealHeight(69),
|
Width = Application.GetMinRealAverage(254),
|
Height = Application.GetMinRealAverage(156),
|
UnSelectedImagePath = "Public/Logo-bg.png"
|
};
|
bodyView.AddChidren(btnIcon_bg);
|
|
btnIcon.MouseUpEventHandler += (sender, e) =>
|
{
|
#if DEBUG
|
etAccount.Text = "464027401@qq.com";
|
etPassword.Text = "qqqqqq";
|
btnLogin.IsSelected = true;
|
#endif
|
};
|
|
#region 登录方式选择
|
btnPhoneLogin = new Button()
|
{
|
X = Application.GetRealWidth(28),
|
Y = Application.GetRealHeight(177),
|
Width = Application.GetRealWidth(120),
|
Height = Application.GetRealHeight(40),
|
TextID = StringId.LoginByPhone,
|
TextColor = CSS_Color.MainColor,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
|
};
|
bodyView.AddChidren(btnPhoneLogin);
|
|
btnEmailLogin = new Button()
|
{
|
X = btnPhoneLogin.Right + Application.GetRealWidth(20),
|
Y = Application.GetRealHeight(177),
|
Width = Application.GetRealWidth(100),
|
Height = Application.GetRealHeight(40),
|
TextID = StringId.LoginByEmail,
|
TextColor = CSS_Color.PromptingColor1,
|
TextAlignment = TextAlignment.Center,
|
TextSize = CSS_FontSize.TextFontSize,
|
};
|
bodyView.AddChidren(btnEmailLogin);
|
#endregion
|
|
#region 账号填写
|
accountView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(28),
|
Y = Application.GetRealHeight(232),
|
Width = Application.GetRealWidth(319),
|
Height = Application.GetRealHeight(44),
|
};
|
bodyView.AddChidren(accountView);
|
|
btnGlobalRoaming = new Button()
|
{
|
Width = Application.GetRealWidth(65),
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
Text = "+86",
|
TextSize = CSS_FontSize.TextFontSize,
|
};
|
if (loginType == 0)
|
accountView.AddChidren(btnGlobalRoaming);
|
|
btnDividingLineVertical_AccountView = new Button()
|
{
|
X = Application.GetRealWidth(65),
|
Gravity = Gravity.CenterVertical,
|
Width = 1,
|
Height = Application.GetRealHeight(20),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
};
|
accountView.AddChidren(btnDividingLineVertical_AccountView);
|
|
etAccount = new EditText()
|
{
|
X = Application.GetRealWidth(78),
|
Width = Application.GetRealWidth(319 - 78),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
PlaceholderTextColor = CSS_Color.PromptingColor1,
|
PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber),
|
TextAlignment = TextAlignment.CenterLeft,
|
};
|
accountView.AddChidren(etAccount);
|
|
if (userInfo != null)
|
{
|
registerEmail = userInfo.userEmailInfo;
|
etAccount.Text = registerPhone = userInfo.userMobileInfo;
|
}
|
|
btnAccountViewBottomLine = new Button()
|
{
|
Y = Application.GetRealHeight(42),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
Height = Application.GetRealHeight(1),
|
};
|
accountView.AddChidren(btnAccountViewBottomLine);
|
|
btnAccountIcon = new Button()
|
{
|
X = Application.GetRealWidth(21),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(20),
|
Height = Application.GetMinRealAverage(20),
|
UnSelectedImagePath = "LoginIcon/AccountIcon.png",
|
};
|
if (loginType == 1)
|
{
|
accountView.AddChidren(btnAccountIcon);
|
}
|
|
#endregion
|
|
#region 密码填写
|
passwordView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(28),
|
Y = Application.GetRealHeight(288),
|
Width = Application.GetRealWidth(319),
|
Height = Application.GetRealHeight(44),
|
};
|
bodyView.AddChidren(passwordView);
|
|
|
btnPasswordIcon = new Button()
|
{
|
X = Application.GetRealWidth(21),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(20),
|
Height = Application.GetMinRealAverage(20),
|
UnSelectedImagePath = "LoginIcon/PasswordIcon.png",
|
SelectedImagePath = "LoginIcon/VerificationCodeIcon.png",
|
};
|
passwordView.AddChidren(btnPasswordIcon);
|
btnDividingLineVertical_PasswordView1 = new Button()
|
{
|
X = Application.GetRealWidth(65),
|
Gravity = Gravity.CenterVertical,
|
Width = 1,
|
Height = Application.GetRealHeight(20),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
};
|
passwordView.AddChidren(btnDividingLineVertical_PasswordView1);
|
|
etPassword = new EditText()
|
{
|
X = Application.GetRealWidth(78),
|
Width = Application.GetRealWidth(61 + 84),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
PlaceholderTextColor = CSS_Color.PromptingColor1,
|
PlaceholderText = Language.StringByID(StringId.PlsEntryPassword),
|
SecureTextEntry = true,
|
TextAlignment = TextAlignment.CenterLeft,
|
};
|
passwordView.AddChidren(etPassword);
|
|
#region 密码登录-控件加载
|
btnVisiblePassword = new Button()
|
{
|
X = Application.GetRealWidth(223),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(20),
|
Height = Application.GetMinRealAverage(20),
|
UnSelectedImagePath = "LoginIcon/HidePasswordIcon.png",
|
SelectedImagePath = "LoginIcon/ShowPasswordIcon.png",
|
};
|
passwordView.AddChidren(btnVisiblePassword);
|
|
btnDividingLineVertical_PasswordView2 = new Button()
|
{
|
X = Application.GetRealWidth(253),
|
Gravity = Gravity.CenterVertical,
|
Width = 1,
|
Height = Application.GetRealHeight(20),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
};
|
passwordView.AddChidren(btnDividingLineVertical_PasswordView2);
|
|
btnForgetPassword = new Button()
|
{
|
X = Application.GetRealWidth(263),
|
Width = Application.GetRealWidth(56),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextID = StringId.ForgetPassword,
|
TextSize = 12,
|
};
|
passwordView.AddChidren(btnForgetPassword);
|
#endregion
|
|
#region 验证码登录-控件加载
|
btnGetVerificationCode = new Button()
|
{
|
X = Application.GetRealWidth(219),
|
Width = Application.GetRealWidth(100),
|
TextID = StringId.GetVerificationCode,
|
SelectedTextColor = CSS_Color.MainColor,
|
TextAlignment = TextAlignment.CenterRight,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextColor = CSS_Color.PromptingColor1,
|
Visible = false,
|
IsSelected = false,
|
};
|
passwordView.AddChidren(btnGetVerificationCode);
|
#endregion
|
|
btnPasswordViewBottomLine = new Button()
|
{
|
Y = Application.GetRealHeight(42),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
SelectedBackgroundColor = CSS_Color.MainColor,
|
Height = Application.GetRealHeight(1),
|
};
|
passwordView.AddChidren(btnPasswordViewBottomLine);
|
|
#endregion
|
|
#region 注册与快捷登录
|
btnRegister = new Button()
|
{
|
X = Application.GetRealWidth(28),
|
Y = passwordView.Bottom,
|
Width = Application.GetRealWidth(60),
|
Height = Application.GetRealHeight(17 + 12 + 12),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextID = StringId.SingUp,
|
TextAlignment = TextAlignment.CenterLeft,
|
};
|
bodyView.AddChidren(btnRegister);
|
|
btnSwitchLoginMode = new Button()
|
{
|
X = Application.GetRealWidth(223 + 28),
|
Y = passwordView.Bottom,
|
Width = Application.GetRealWidth(96),
|
Height = Application.GetRealHeight(51),
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextID = StringId.VerificationCodeLogin,
|
TextAlignment = TextAlignment.CenterRight,
|
};
|
bodyView.AddChidren(btnSwitchLoginMode);
|
|
#endregion
|
|
btnLogin = new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(403),
|
Width = Application.GetRealWidth(220),
|
Height = Application.GetRealHeight(44),
|
Radius = (uint)Application.GetRealHeight(22),
|
SelectedBackgroundColor = CSS_Color.MainColor,
|
BackgroundColor = CSS_Color.PromptingColor1,
|
TextID = StringId.Login,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextColor = CSS_Color.MainBackgroundColor,
|
TextAlignment = TextAlignment.Center,
|
};
|
bodyView.AddChidren(btnLogin);
|
|
LoadEventList();
|
account = etAccount.Text.Trim();
|
|
#if DEBUG1211
|
//本地模式
|
Button btnLocalMode = new Button()
|
{
|
Y = Application.GetRealHeight(600),
|
Height = Application.GetRealHeight(67),
|
Text = "Local Mode",
|
TextAlignment = TextAlignment.Center,
|
BackgroundColor = CSS_Color.MainColor,
|
TextColor = CSS_Color.TextualColor,
|
};
|
bodyView.AddChidren(btnLocalMode);
|
|
btnLocalMode.MouseUpEventHandler = (sender, e) =>
|
{
|
MainPage.LocalMode = true;
|
MainPage.LoginUser = new UserInfo();
|
MainPage.GoUserPage();
|
};
|
|
MainPage.Log("etAccount.TextAlignment : " + etAccount.TextAlignment.ToString());
|
|
#endif
|
|
}
|
}
|
}
|