using System;
using Shared;
using HDL_ON.UI.CSS;
using System.Threading;
using HDL_ON.DAL.Server;
namespace HDL_ON.UI
{
///
/// 修改绑定或者解绑--发送验证码页面
///
public partial class ChangeBindAccountPage : FrameLayout
{
///
///
///
FrameLayout bodyView;
///
///
///
Button btnTitle;
///
///
///
Button btnContent;
///
///
///
Action action;
///
/// 操作目标类型 1:邮箱,2:手机
///
int optionType;
///
/// 是否为解绑验证
///
public bool IsUnbind;
///
/// ChangeBindAccountPage
///
public ChangeBindAccountPage()
{
bodyView = this;
}
///
///
///
///
/// 操作目标类型 1:邮箱,2:手机
///
///
public void LoadPage(Action act, int opt, int titleId)
{
action = act;
optionType = opt;
string account;
if (optionType == 0)
{
account = UserInfo.Current.userEmailInfo;
}
else
{
account = UserInfo.Current.userMobileInfo;
}
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
new TopViewDiv(bodyView, Language.StringByID(titleId)).LoadTopView();
FrameLayout rowView = new FrameLayout()
{
Y = Application.GetRealHeight(72),
Height = Application.GetRealHeight(50),
BackgroundColor = CSS_Color.MainBackgroundColor,
};
bodyView.AddChidren(rowView);
btnTitle = new Button()
{
X = Application.GetRealWidth(16),
Width = Application.GetRealWidth(180),
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.SubheadingFontSize,
TextAlignment = TextAlignment.CenterLeft,
//TextID = contentTitleId,
};
rowView.AddChidren(btnTitle);
btnContent = new Button()
{
Width = Application.GetRealWidth(359),
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.TextFontSize,
TextAlignment = TextAlignment.CenterRight,
//Text = optionType == 1 ? UserInfo.Current.userEmailInfo : UserInfo.Current.userMobileInfo,
};
rowView.AddChidren(btnContent);
Button btnChangeBind = new Button()
{
Y = Application.GetRealHeight(213),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(220),
Height = Application.GetRealWidth(44),
BackgroundColor = CSS_Color.MainColor,
TextAlignment = TextAlignment.Center,
TextColor = CSS_Color.MainBackgroundColor,
TextID = StringId.GetVerificationCode,
TextSize = CSS_FontSize.SubheadingFontSize,
IsBold = true,
Radius = (uint)Application.GetRealWidth(22),
BorderColor = 0x00000000,
BorderWidth = 0,
};
bodyView.AddChidren(btnChangeBind);
//同时绑定邮箱或者手机才显示"更换验证方式"
if (!string.IsNullOrEmpty( UserInfo.Current.userMobileInfo) && !string.IsNullOrEmpty( UserInfo.Current.userEmailInfo))
{
Button btnChangeGetVer = new Button()
{
Y = btnChangeBind.Bottom,
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(220),
Height = Application.GetRealHeight(64),
TextColor = CSS_Color.MainColor,
TextSize = CSS_FontSize.TextFontSize,
TextAlignment = TextAlignment.Center,
TextID = StringId.ChangeTheVerificationMethod,
};
bodyView.AddChidren(btnChangeGetVer);
LoadEvent_ChangeVerificationMethod(btnChangeGetVer, btnTitle, btnContent);
}
SetContentTitleId();
LoadEvent_GetVerification(btnChangeBind, titleId);
}
///
/// 设置按钮提示文字
/// 修改绑定时提示:手机验证、邮箱验证
/// 解绑时提示:当前手机手机号码、当前邮箱地址
///
void SetContentTitleId()
{
if (optionType == 2)
{
btnTitle.TextID = IsUnbind ? StringId.CurPhone : StringId.PhoneNumberVerification;
btnContent.Text = UserInfo.Current.userMobileInfo;
}
else
{
btnTitle.TextID = IsUnbind ? StringId.CurrentEmail : StringId.EmailVerification;
btnContent.Text = UserInfo.Current.userEmailInfo;
}
}
}
//---------------------------------------------------------
public partial class ChangeBindAccountPage
{
///
/// 更换想验证方式
///
void LoadEvent_ChangeVerificationMethod(Button btn, Button btnTitle, Button btnContent)
{
btn.MouseUpEventHandler = (sender, e) =>
{
optionType = optionType == 1 ? 2 : 1;
SetContentTitleId();
};
}
int time = 0;
///
/// 点击获取验证码
///
void LoadEvent_GetVerification(Button button, int titleId)
{
button.MouseUpEventHandler = (sender, e) =>
{
if (button.Text == Language.StringByID(StringId.GetVerificationCode))
{
//加载Loading效果
var waitPage = new Loading();
bodyView.AddChidren(waitPage);
waitPage.Start(Language.StringByID(StringId.PleaseWait));
new Thread(() =>
{
try
{
//1.获取验证码,采用敏感数据验证
ResponsePackNew resultObj;
if (optionType == 1)//邮箱
{
resultObj = new HttpServerRequest().VerificationCodeSend(VerifyType.SENSITIVE_DATA, UserInfo.Current.userEmailInfo);
}
else
{
resultObj = new HttpServerRequest().VerificationCodeSend(VerifyType.SENSITIVE_DATA, UserInfo.Current.userMobileInfo, true, UserInfo.Current.areaCode);
}
if (resultObj.Code != StateCode.SUCCESS)
{
// 提示错误
IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
}
else
{
if (time == 0)
{
time = 60;
new Thread(() =>
{
while (time > 0)
{
time--;
Application.RunOnMainThread(() =>
{
button.Text = time.ToString() + "s";
});
Thread.Sleep(1000);
}
Application.RunOnMainThread(() =>
{
button.IsSelected = true;
button.TextID = StringId.GetVerificationCode;
button.BackgroundColor = CSS_Color.MainColor;
time = 0;
});
})
{ IsBackground = true }.Start();
}
Application.RunOnMainThread(() =>
{
button.BackgroundColor = CSS_Color.PromptingColor1;
var vcp = new ChangeBindVerificationCodePage();
vcp.IsUnbind = IsUnbind;
MainPage.BasePageView.AddChidren(vcp);
vcp.LoadPage(action, titleId, optionType, time);
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
});
}
}
catch { }
finally
{
Application.RunOnMainThread(() =>
{
if (waitPage != null)
{
waitPage.RemoveFromParent();
waitPage = null;
}
});
}
})
{ IsBackground = true }.Start();
}
};
}
}
}