using DevExpress.XtraEditors; using Yw.WinFrmUI; namespace HStation.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(); } /// /// 新增绘制边框 /// 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(); } } }