using System;
using System.Threading;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI
{
public partial class ResetPasswordVerificationCodePage : FrameLayout
{
FrameLayout bodyView;
Button btnNum1;
Button btnNum1Line;
Button btnNum2;
Button btnNum2Line;
Button btnNum3;
Button btnNum3Line;
Button btnNum4;
Button btnNum4Line;
Button btnNum5;
Button btnNum5Line;
Button btnNum6;
Button btnNum6Line;
EditText et;
Button btnResend;
int titleId;
///
/// 操作类型 1:邮箱,2:手机
///
int optionType;
public ResetPasswordVerificationCodePage()
{
bodyView = this;
}
public void LoadPage(int tId,int ot)
{
titleId = tId;
optionType = ot;
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
new TopViewDiv(bodyView, Language.StringByID(tId)).LoadTopView();
Button btnTip = new Button()
{
Y = Application.GetRealHeight(64),
X = Application.GetRealWidth(16),
Height = Application.GetRealHeight(84),
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
TextAlignment = TextAlignment.CenterLeft,
TextID = StringId.VerificationCodePrompt,
};
bodyView.AddChidren(btnTip);
btnNum1 = new Button()
{
X = Application.GetRealWidth(24),
Y = Application.GetRealHeight(156),
Width = Application.GetRealWidth(48),
Height = Application.GetRealHeight(38),
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
TextAlignment = TextAlignment.Center,
IsBold = true,
};
bodyView.AddChidren(btnNum1);
btnNum1Line = new Button()
{
X = Application.GetRealWidth(24),
Y = btnNum1.Bottom,
Width = Application.GetRealWidth(48),
Height = Application.GetRealHeight(2),
BackgroundColor = CSS_Color.PromptingColor2,
SelectedBackgroundColor = CSS_Color.MainColor,
IsSelected = true,
};
bodyView.AddChidren(btnNum1Line);
btnNum2 = new Button()
{
X = Application.GetRealWidth(80),
Y = Application.GetRealHeight(156),
Width = Application.GetRealWidth(48),
Height = Application.GetRealHeight(38),
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
TextAlignment = TextAlignment.Center,
IsBold = true,
};
bodyView.AddChidren(btnNum2);
btnNum2Line = new Button()
{
X = Application.GetRealWidth(80),
Y = btnNum2.Bottom,
Width = Application.GetRealWidth(48),
Height = Application.GetRealHeight(1),
BackgroundColor = CSS_Color.PromptingColor2,
SelectedBackgroundColor = CSS_Color.MainColor,
};
bodyView.AddChidren(btnNum2Line);
btnNum3 = new Button()
{
X = Application.GetRealWidth(136),
Y = Application.GetRealHeight(156),
Width = Application.GetRealWidth(48),
Height = Application.GetRealHeight(38),
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
TextAlignment = TextAlignment.Center,
IsBold = true,
};
bodyView.AddChidren(btnNum3);
btnNum3Line = new Button()
{
X = Application.GetRealWidth(136),
Y = btnNum3.Bottom,
Width = Application.GetRealWidth(48),
Height = Application.GetRealHeight(1),
BackgroundColor = CSS_Color.PromptingColor2,
SelectedBackgroundColor = CSS_Color.MainColor,
};
bodyView.AddChidren(btnNum3Line);
btnNum4 = new Button()
{
X = Application.GetRealWidth(192),
Y = Application.GetRealHeight(156),
Width = Application.GetRealWidth(48),
Height = Application.GetRealHeight(38),
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
TextAlignment = TextAlignment.Center,
IsBold = true,
};
bodyView.AddChidren(btnNum4);
btnNum4Line = new Button()
{
X = Application.GetRealWidth(192),
Y = btnNum4.Bottom,
Width = Application.GetRealWidth(48),
Height = Application.GetRealHeight(1),
BackgroundColor = CSS_Color.PromptingColor2,
SelectedBackgroundColor = CSS_Color.MainColor,
};
bodyView.AddChidren(btnNum4Line);
btnNum5 = new Button()
{
X = Application.GetRealWidth(248),
Y = Application.GetRealHeight(156),
Width = Application.GetRealWidth(48),
Height = Application.GetRealHeight(38),
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
TextAlignment = TextAlignment.Center,
IsBold = true,
};
bodyView.AddChidren(btnNum5);
btnNum5Line = new Button()
{
X = Application.GetRealWidth(248),
Y = btnNum5.Bottom,
Width = Application.GetRealWidth(48),
Height = Application.GetRealHeight(1),
BackgroundColor = CSS_Color.PromptingColor2,
SelectedBackgroundColor = CSS_Color.MainColor,
};
bodyView.AddChidren(btnNum5Line);
btnNum6 = new Button()
{
X = Application.GetRealWidth(304),
Y = Application.GetRealHeight(156),
Width = Application.GetRealWidth(48),
Height = Application.GetRealHeight(38),
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
TextAlignment = TextAlignment.Center,
IsBold = true,
};
bodyView.AddChidren(btnNum6);
btnNum6Line = new Button()
{
X = Application.GetRealWidth(304),
Y = btnNum6.Bottom,
Width = Application.GetRealWidth(48),
Height = Application.GetRealHeight(1),
BackgroundColor = CSS_Color.PromptingColor2,
SelectedBackgroundColor = CSS_Color.MainColor,
};
bodyView.AddChidren(btnNum6Line);
et = new EditText()
{
Y = Application.GetRealHeight(276),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(100),
Height = Application.GetRealHeight(10),
IsNumberKeyboardType = true,
Foucs = true,
};
bodyView.AddChidren(et);
btnResend = new Button()
{
Y = Application.GetRealHeight(276),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(220),
Height = Application.GetRealHeight(44),
SelectedBackgroundColor = CSS_Color.MainColor,
BackgroundColor = CSS_Color.PromptingColor1,
TextAlignment = TextAlignment.Center,
TextColor = CSS_Color.MainBackgroundColor,
TextID = StringId.Resend,
TextSize = CSS_FontSize.SubheadingFontSize,
IsBold = true,
Radius = (uint)Application.GetRealWidth(22),
BorderColor = 0x00000000,
BorderWidth = 0,
};
bodyView.AddChidren(btnResend);
LoadThread_SendVerCode();
LoadEvent_Resend();
LoadEvent_VerificationEntryEvent();
}
}
//---------------------------------------------
public partial class ResetPasswordVerificationCodePage
{
///
/// 验证码输入变化事件
///
void LoadEvent_VerificationEntryEvent()
{
EventHandler clickEvent = (sender, e) => {
et.Foucs = true;
var etCode = et.Text;
switch (etCode.Length)
{
case 0:
btnNum1Line.IsSelected = true;
btnNum2Line.IsSelected = false;
btnNum3Line.IsSelected = false;
btnNum4Line.IsSelected = false;
btnNum5Line.IsSelected = false;
btnNum6Line.IsSelected = false;
btnNum1Line.Height = Application.GetRealHeight(2);
btnNum2Line.Height = Application.GetRealHeight(1);
btnNum3Line.Height = Application.GetRealHeight(1);
btnNum4Line.Height = Application.GetRealHeight(1);
btnNum5Line.Height = Application.GetRealHeight(1);
btnNum6Line.Height = Application.GetRealHeight(1);
break;
case 1:
btnNum2Line.IsSelected = true;
btnNum1Line.IsSelected = false;
btnNum3Line.IsSelected = false;
btnNum4Line.IsSelected = false;
btnNum5Line.IsSelected = false;
btnNum6Line.IsSelected = false;
btnNum1Line.Height = Application.GetRealHeight(1);
btnNum2Line.Height = Application.GetRealHeight(2);
btnNum3Line.Height = Application.GetRealHeight(1);
btnNum4Line.Height = Application.GetRealHeight(1);
btnNum5Line.Height = Application.GetRealHeight(1);
btnNum6Line.Height = Application.GetRealHeight(1);
break;
case 2:
btnNum3Line.IsSelected = true;
btnNum1Line.IsSelected = false;
btnNum2Line.IsSelected = false;
btnNum4Line.IsSelected = false;
btnNum5Line.IsSelected = false;
btnNum6Line.IsSelected = false;
btnNum1Line.Height = Application.GetRealHeight(1);
btnNum2Line.Height = Application.GetRealHeight(1);
btnNum3Line.Height = Application.GetRealHeight(3);
btnNum4Line.Height = Application.GetRealHeight(1);
btnNum5Line.Height = Application.GetRealHeight(1);
btnNum6Line.Height = Application.GetRealHeight(1);
break;
case 3:
btnNum4Line.IsSelected = true;
btnNum1Line.IsSelected = false;
btnNum2Line.IsSelected = false;
btnNum3Line.IsSelected = false;
btnNum5Line.IsSelected = false;
btnNum6Line.IsSelected = false;
btnNum1Line.Height = Application.GetRealHeight(1);
btnNum2Line.Height = Application.GetRealHeight(1);
btnNum3Line.Height = Application.GetRealHeight(1);
btnNum4Line.Height = Application.GetRealHeight(4);
btnNum5Line.Height = Application.GetRealHeight(1);
btnNum6Line.Height = Application.GetRealHeight(1);
break;
case 4:
btnNum5Line.IsSelected = true;
btnNum1Line.IsSelected = false;
btnNum2Line.IsSelected = false;
btnNum3Line.IsSelected = false;
btnNum4Line.IsSelected = false;
btnNum6Line.IsSelected = false;
btnNum1Line.Height = Application.GetRealHeight(1);
btnNum2Line.Height = Application.GetRealHeight(1);
btnNum3Line.Height = Application.GetRealHeight(1);
btnNum4Line.Height = Application.GetRealHeight(1);
btnNum5Line.Height = Application.GetRealHeight(5);
btnNum6Line.Height = Application.GetRealHeight(1);
break;
case 5:
btnNum6Line.IsSelected = true;
btnNum1Line.IsSelected = false;
btnNum2Line.IsSelected = false;
btnNum3Line.IsSelected = false;
btnNum4Line.IsSelected = false;
btnNum5Line.IsSelected = false;
btnNum1Line.Height = Application.GetRealHeight(1);
btnNum2Line.Height = Application.GetRealHeight(1);
btnNum3Line.Height = Application.GetRealHeight(1);
btnNum4Line.Height = Application.GetRealHeight(1);
btnNum5Line.Height = Application.GetRealHeight(1);
btnNum6Line.Height = Application.GetRealHeight(2);
break;
}
};
btnNum1.MouseUpEventHandler = clickEvent;
btnNum2.MouseUpEventHandler = clickEvent;
btnNum3.MouseUpEventHandler = clickEvent;
btnNum4.MouseUpEventHandler = clickEvent;
btnNum5.MouseUpEventHandler = clickEvent;
btnNum6.MouseUpEventHandler = clickEvent;
et.TextChangeEventHandler = (sender, e) => {
var etCode = et.Text;
switch (etCode.Length)
{
case 0:
btnNum1Line.IsSelected = true;
btnNum2Line.IsSelected = false;
btnNum3Line.IsSelected = false;
btnNum4Line.IsSelected = false;
btnNum5Line.IsSelected = false;
btnNum6Line.IsSelected = false;
btnNum1Line.Height = Application.GetRealHeight(2);
btnNum2Line.Height = Application.GetRealHeight(1);
btnNum3Line.Height = Application.GetRealHeight(1);
btnNum4Line.Height = Application.GetRealHeight(1);
btnNum5Line.Height = Application.GetRealHeight(1);
btnNum6Line.Height = Application.GetRealHeight(1);
btnNum1Line.Text = "";
btnNum2Line.Text = "";
btnNum3Line.Text = "";
btnNum4Line.Text = "";
btnNum5Line.Text = "";
btnNum6Line.Text = "";
break;
case 1:
btnNum2Line.IsSelected = true;
btnNum1Line.IsSelected = false;
btnNum3Line.IsSelected = false;
btnNum4Line.IsSelected = false;
btnNum5Line.IsSelected = false;
btnNum6Line.IsSelected = false;
btnNum1.Text = etCode.Substring(0, 1);
btnNum1Line.Height = Application.GetRealHeight(1);
btnNum2Line.Height = Application.GetRealHeight(2);
btnNum3Line.Height = Application.GetRealHeight(1);
btnNum4Line.Height = Application.GetRealHeight(1);
btnNum5Line.Height = Application.GetRealHeight(1);
btnNum6Line.Height = Application.GetRealHeight(1);
btnNum2Line.Text = "";
btnNum3Line.Text = "";
btnNum4Line.Text = "";
btnNum5Line.Text = "";
btnNum6Line.Text = "";
break;
case 2:
btnNum3Line.IsSelected = true;
btnNum1Line.IsSelected = false;
btnNum2Line.IsSelected = false;
btnNum4Line.IsSelected = false;
btnNum5Line.IsSelected = false;
btnNum6Line.IsSelected = false;
btnNum2.Text = etCode.Substring(1, 1);
btnNum1Line.Height = Application.GetRealHeight(1);
btnNum2Line.Height = Application.GetRealHeight(1);
btnNum3Line.Height = Application.GetRealHeight(2);
btnNum4Line.Height = Application.GetRealHeight(1);
btnNum5Line.Height = Application.GetRealHeight(1);
btnNum6Line.Height = Application.GetRealHeight(1);
btnNum3Line.Text = "";
btnNum4Line.Text = "";
btnNum5Line.Text = "";
btnNum6Line.Text = "";
break;
case 3:
btnNum4Line.IsSelected = true;
btnNum1Line.IsSelected = false;
btnNum2Line.IsSelected = false;
btnNum3Line.IsSelected = false;
btnNum5Line.IsSelected = false;
btnNum6Line.IsSelected = false;
btnNum3.Text = etCode.Substring(2, 1);
btnNum1Line.Height = Application.GetRealHeight(1);
btnNum2Line.Height = Application.GetRealHeight(1);
btnNum3Line.Height = Application.GetRealHeight(1);
btnNum4Line.Height = Application.GetRealHeight(2);
btnNum5Line.Height = Application.GetRealHeight(1);
btnNum6Line.Height = Application.GetRealHeight(1);
btnNum4Line.Text = "";
btnNum5Line.Text = "";
btnNum6Line.Text = "";
break;
case 4:
btnNum5Line.IsSelected = true;
btnNum1Line.IsSelected = false;
btnNum2Line.IsSelected = false;
btnNum3Line.IsSelected = false;
btnNum4Line.IsSelected = false;
btnNum6Line.IsSelected = false;
btnNum4.Text = etCode.Substring(3, 1);
btnNum1Line.Height = Application.GetRealHeight(1);
btnNum2Line.Height = Application.GetRealHeight(1);
btnNum3Line.Height = Application.GetRealHeight(1);
btnNum4Line.Height = Application.GetRealHeight(1);
btnNum5Line.Height = Application.GetRealHeight(2);
btnNum6Line.Height = Application.GetRealHeight(1);
btnNum5Line.Text = "";
btnNum6Line.Text = "";
break;
case 5:
btnNum6Line.IsSelected = true;
btnNum1Line.IsSelected = false;
btnNum2Line.IsSelected = false;
btnNum3Line.IsSelected = false;
btnNum4Line.IsSelected = false;
btnNum5Line.IsSelected = false;
btnNum5.Text = etCode.Substring(4, 1);
btnNum1Line.Height = Application.GetRealHeight(1);
btnNum2Line.Height = Application.GetRealHeight(1);
btnNum3Line.Height = Application.GetRealHeight(1);
btnNum4Line.Height = Application.GetRealHeight(1);
btnNum5Line.Height = Application.GetRealHeight(1);
btnNum6Line.Height = Application.GetRealHeight(2);
btnNum6Line.Text = "";
break;
case 6:
btnNum6.Text = etCode.Substring(5, 1);
et.Foucs = false;
new Thread(() =>
{
bool result = false;
Action act = () => { };
Application.RunOnMainThread(() =>
{
act = new PublicAssmebly().TipLoadingMsgDialog(Language.StringByID(StringId.SavingPleaseWait));
});
var response = new DAL.Server.HttpServerRequest().ValidatorCode(MainPage.LoginUser.userEmailInfo, etCode, MainPage.LoginUser.areaCode);
if (response.StateCode.ToUpper() == "SUCCESS")
{
result = true;
}
else
{
string erorrInfo = "";
switch (response.StateCode)
{
case "ValidCodeAndPhoneNoEqual"://验证码错误
erorrInfo = Language.StringByID(StringId.VerificationCodeWrong);
break;
case "NoRecord":
erorrInfo = Language.StringByID(StringId.PlsGetTheVerificationCode);
break;
default:
erorrInfo = "Server error";
break;
}
Application.RunOnMainThread(() =>
{
new Tip()
{
CloseTime = 3,
Direction = AMPopTipDirection.None,
Text = erorrInfo,
}.Show(bodyView);
});
}
Application.RunOnMainThread(() =>
{
act();
});
if (result)
{
Application.RunOnMainThread(() =>
{
new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.ValidationSuccessful), true);
});
Thread.Sleep(1600);
Application.RunOnMainThread(() =>
{
MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
if (titleId == StringId.EmailVerification)
{
}
else if (titleId == StringId.PhoneNumberVerification)
{
}
});
}
})
{ IsBackground = true }.Start();
break;
}
};
}
///
/// 重发验证码等待线程
///
void LoadThread_SendVerCode()
{
btnResend.IsSelected = false;
int time = 60;
new Thread(() =>
{
if (optionType == 1)
{
var result = new DAL.Server.HttpServerRequest().GetLoginVerCode(MainPage.LoginUser.userEmailInfo);
}
else if (optionType == 2)
{
var result = new DAL.Server.HttpServerRequest().GetLoginVerCode(MainPage.LoginUser.userMobileInfo);
}
})
{ IsBackground = true }.Start();
new Thread(() =>
{
while (time > 0)
{
time--;
Application.RunOnMainThread(() =>
{
btnResend.Text = time.ToString() + "s";
});
Thread.Sleep(1000);
}
Application.RunOnMainThread(() =>
{
btnResend.IsSelected = true;
btnResend.TextID = StringId.GetVerificationCode;
});
})
{ IsBackground = true }.Start();
}
///
/// 重发验证码事件
///
void LoadEvent_Resend()
{
btnResend.MouseUpEventHandler = (sender, e) => {
LoadThread_SendVerCode();
};
}
}
}