using System;
|
using Shared;
|
using HDL_ON.UI.CSS;
|
using System.Threading;
|
using HDL_ON.DAL.Server;
|
|
namespace HDL_ON.UI
|
{
|
/// <summary>
|
/// 修改绑定或者解绑--发送验证码页面
|
/// </summary>
|
public partial class ChangeBindAccountPage : FrameLayout
|
{
|
/// <summary>
|
///
|
/// </summary>
|
FrameLayout bodyView;
|
/// <summary>
|
///
|
/// </summary>
|
Action<string> action;
|
/// <summary>
|
/// 操作目标类型 1:邮箱,2:手机
|
/// </summary>
|
int optionType;
|
/// <summary>
|
/// 是否为解绑验证
|
/// </summary>
|
public bool isUnbind;
|
|
/// <summary>
|
///
|
/// </summary>
|
Button btnTitle;
|
/// <summary>
|
///
|
/// </summary>
|
Button btnContent;
|
|
/// <summary>
|
/// ChangeBindAccountPage
|
/// </summary>
|
public ChangeBindAccountPage()
|
{
|
bodyView = this;
|
}
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="act"></param>
|
/// <param name="optionType">操作目标类型 1:邮箱,2:手机</param>
|
/// <param name="titleId"></param>
|
/// <param name="contentTitleId"></param>
|
public void LoadPage(Action<string> 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.GetRealHeight(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);
|
}
|
|
/// <summary>
|
/// 设置按钮提示文字
|
/// 修改绑定时提示:手机验证、邮箱验证
|
/// 解绑时提示:当前手机手机号码、当前邮箱地址
|
/// </summary>
|
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
|
{
|
/// <summary>
|
/// 更换想验证方式
|
/// </summary>
|
void LoadEvent_ChangeVerificationMethod(Button btn, Button btnTitle, Button btnContent)
|
{
|
btn.MouseUpEventHandler = (sender, e) =>
|
{
|
optionType = optionType == 1 ? 2 : 1;
|
SetContentTitleId();
|
};
|
}
|
|
int time = 0;
|
/// <summary>
|
/// 点击获取验证码
|
/// </summary>
|
void LoadEvent_GetVerification(Button button, int titleId)
|
{
|
button.MouseUpEventHandler = (sender, e) =>
|
{
|
if (button.Text == Language.StringByID(StringId.GetVerificationCode))
|
{
|
new Thread(() =>
|
{
|
//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;
|
});
|
}
|
|
})
|
{ IsBackground = true }.Start();
|
}
|
|
|
};
|
}
|
}
|
}
|