using DevExpress.XtraEditors;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
using Yw;
|
using Yw.WinFrmUI;
|
|
namespace HStation.Desktop
|
{
|
public partial class SmsLoginCtrl : DevExpress.XtraEditors.XtraUserControl, ILogin
|
{
|
public SmsLoginCtrl()
|
{
|
InitializeComponent();
|
this.layoutControl1.SetupLayoutControl();
|
}
|
|
/// <summary>
|
/// 登录开始事件
|
/// </summary>
|
public event Action LoginStartEvent;
|
|
/// <summary>
|
/// 登录取消事件
|
/// </summary>
|
public event Action LoginCancelEvent;
|
|
/// <summary>
|
/// 登录完成事件
|
/// </summary>
|
public event Action<Yw.Dto.UserLoginOutput> LoginEndEvet;
|
|
|
private bool _isInitialized = false;//初始化
|
private const string _template = "hzkw_sms_template";//微信登录模板
|
private const string _software = "HStation_XHS_DESKTOP";//软件编码
|
|
/// <summary>
|
/// 初始化
|
/// </summary>
|
public void Initial()
|
{
|
if (_isInitialized)
|
{
|
return;
|
}
|
_isInitialized = true;
|
}
|
|
//发送验证码
|
private async void btnSendCode_Click(object sender, EventArgs e)
|
{
|
this.dxErrorProvider1.ClearErrors();
|
var mobile = this.txtMobileNumber.Text.Trim();
|
if (!Yw.Service.Auth.MobileNumberHelper.Verify(mobile))
|
{
|
this.dxErrorProvider1.SetError(this.txtMobileNumber, "请输入正确手机号码");
|
return;
|
}
|
this.labSendCode.Enabled = false;
|
var bol = await BLLFactory<Yw.BLL.ToolSms>.Instance.SendCode(_template, mobile, _software);
|
if (bol)
|
{
|
await Task.Delay(300);
|
this.labSendCode.Enabled = true;
|
}
|
else
|
{
|
this.dxErrorProvider1.SetError(this.txtMobileNumber, "发送失败");
|
this.labSendCode.Enabled = true;
|
}
|
}
|
|
//取消登录
|
private void btnCancel_Click(object sender, EventArgs e)
|
{
|
this.LoginCancelEvent?.Invoke();
|
}
|
|
//登录
|
private async void btnLogin_Click(object sender, EventArgs e)
|
{
|
this.dxErrorProvider1.ClearErrors();
|
var mobile = this.txtMobileNumber.Text.Trim();
|
if (!Yw.Service.Auth.MobileNumberHelper.Verify(mobile))
|
{
|
this.dxErrorProvider1.SetError(this.txtMobileNumber, "请输入正确手机号码");
|
return;
|
}
|
var validCode = this.txtCode.Text.Trim();
|
if (string.IsNullOrEmpty(validCode))
|
{
|
this.dxErrorProvider1.SetError(this.txtCode, "请输入验证码");
|
return;
|
}
|
this.LoginStartEvent?.Invoke();
|
var result = await BLLFactory<Yw.BLL.UserLogin>.Instance.LoginSoftwareStandardBySmsAccount(_template, mobile, _software, validCode, null);
|
this.LoginEndEvet?.Invoke(result);
|
}
|
|
|
}
|
}
|