using DevExpress.XtraEditors;
|
using Yw.WinFrmUI;
|
|
namespace PBS.Desktop
|
{
|
public partial class LoginFrm : DevExpress.XtraEditors.XtraForm
|
{
|
public LoginFrm()
|
{
|
InitializeComponent();
|
this.layoutControl1.SetupLayoutControl();
|
this.layoutControl2.SetupLayoutControl();
|
this.Load += LoginBigFrm_Load;
|
}
|
|
private void LoginBigFrm_Load(object sender, EventArgs e)
|
{
|
try
|
{
|
var settings = new UserLoginSettings();
|
this.txtLoginName.EditValue = settings.LoginName;
|
if (settings.ExpireTime != null && settings.ExpireTime.Value > DateTime.Now)
|
{
|
this.txtPwd.EditValue = settings.Password;
|
this.ckRemember.Checked = true;
|
}
|
}
|
catch
|
{
|
}
|
}
|
|
private void labSysTitle_MouseDown(object sender, MouseEventArgs e)
|
{
|
//this.DragMove();
|
}
|
|
private void btnLogin_Click(object sender, EventArgs e)
|
{
|
Login();
|
}
|
|
/// <summary>
|
/// 新增绘制边框
|
/// </summary>
|
protected override void OnPaint(PaintEventArgs e)
|
{
|
base.OnPaint(e);
|
//using (var pen = new Pen(Color.FromArgb(0, 122, 204), 1f))
|
//{
|
// e.Graphics.DrawRectangle(pen, 0.5f, 0.5f, this.Width - 1, this.Height - 1);
|
//}
|
}
|
|
//验证
|
private bool Valid()
|
{
|
this.itemForProgress.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
|
if (string.IsNullOrEmpty(this.txtLoginName.Text.Trim()))
|
{
|
XtraMessageBox.Show("请输入用户名!");
|
this.itemForProgress.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
|
return default;
|
}
|
if (string.IsNullOrEmpty(this.txtPwd.Text.Trim()))
|
{
|
XtraMessageBox.Show("请输入密码!");
|
this.itemForProgress.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
|
return default;
|
}
|
return true;
|
}
|
|
//取消
|
private void btnCancel_Click(object sender, EventArgs e)
|
{
|
this.DialogResult = DialogResult.Cancel;
|
this.Close();
|
}
|
|
//用户名Enter
|
private void txtLoginName_KeyPress(object sender, KeyPressEventArgs e)
|
{
|
if (e.KeyChar == 13)
|
{
|
this.txtPwd.Focus();
|
}
|
}
|
|
//密码 Enter
|
private void txtPwd_KeyPress(object sender, KeyPressEventArgs e)
|
{
|
if (e.KeyChar == 13)
|
{
|
Login();
|
}
|
}
|
|
//登录
|
private async void Login()
|
{
|
if (!Valid())
|
return;
|
|
// 用户登录
|
var loginModel = new Yw.Dto.UserLoginSoftwareBySystemAccountStandardInput();
|
loginModel.Software = "HStation_XHS_DESKTOP";
|
loginModel.LoginName = this.txtLoginName.Text.Trim();
|
loginModel.LoginPwd = this.txtPwd.Text.Trim();
|
var bll = new Yw.BLL.UserLogin();
|
var result = await bll.LoginSoftwareStandardBySystemAccount(loginModel);
|
if (result.Status != Yw.Auth.eLoginStatus.Success)
|
{
|
XtraMessageBox.Show($"登录失败,信息:{(int)result.Status}");
|
this.itemForProgress.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
|
return;
|
}
|
|
Yw.JwtToken2Helper.Set(result.AccessToken, result.RefreshToken);
|
var settings = new UserLoginSettings();
|
settings.LoginName = this.txtLoginName.Text.Trim();
|
settings.Password = null;
|
settings.ExpireTime = DateTime.Now;
|
if (this.ckRemember.Checked)
|
{
|
settings.Password = this.txtPwd.Text.Trim();
|
settings.ExpireTime = DateTime.Now.AddMonths(1);
|
}
|
settings.Save();
|
|
// var login = new LoginUser(result);
|
this.DialogResult = DialogResult.OK;
|
this.Close();
|
}
|
}
|
}
|