| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using LYFZ.OtherExpansion.SkinControl;
- namespace LYFZ.ERPCloudClient
- {
- public partial class frmLogin : LYFZ.ComponentLibrary.BaseForm360
- {
- public frmLogin()
- {
- InitializeComponent();
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
- this.stxtPwd.BaseText.PasswordChar = '*';
- this.stxtPwd.BaseText.UseSystemPasswordChar = true;
- this.spalHead.BackgroundImage = LYFZ.ComponentLibrary.Properties.UIBlueResources.LYFZHD;
- this.btnAppFormMenu.Click += btnAppFormMenu_Click;
- this.stxtPwd.KeyUp += stxtPwd_KeyUp;
- this.textBoxPwd.KeyUp += textBoxPwd_KeyUp;
- this.stxtUserName.KeyUp += stxtUserName_KeyUp;
- this.textBoxPwd.GotFocus += textBoxPwd_GotFocus;
- this.sMenuStripId.KeyUp += sMenuStripId_KeyUp;
- }
- void sMenuStripId_KeyUp(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.Delete)
- {
- if (CurrentToolStripMenuItem != null)
- {
- try
- {
- string[] userInfos = (string[])CurrentToolStripMenuItem.Tag;
- if (frmMain.ClientCon.HistoryUserList.Any(s => s.UserID.ToLower() == userInfos[0].ToLower()))
- {
- frmMain.ClientCon.HistoryUserList.Remove(frmMain.ClientCon.HistoryUserList.Find(s => s.UserID.ToLower() == userInfos[0].ToLower()));
- }
- this.sMenuStripId.Items.Remove(CurrentToolStripMenuItem);
- this.sMenuStripId.Items.RemoveByKey(CurrentToolStripMenuItem.Name + "SP");
- LYFZ.CloudServerData.SystemConfig.WriteCloudClientConfig(frmMain.ClientCon);
- }
- catch { }
- }
- }
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- protected void sBtnLogin_Click(object sender, EventArgs e)
- {
- isEnterBtnLogin = true;
- string userAccount = stxtUserName.Text.Trim();
- string userPwd = textBoxPwd.Text.Trim();
- if (userAccount.Trim() == "")
- {
- MessageBoxCustom.Show("用户名不能为空");
- this.stxtUserName.Focus();
- return;
- }
- else if (userPwd.Trim() == "")
- {
- MessageBoxCustom.Show("密码不能为空");
- this.textBoxPwd.Focus();
- return;
- }
- frmMain.LoginUser.UserID = userAccount;
- frmMain.LoginUser.Password = userPwd;
- ConnectServer();
- }
- /// <summary>
- /// 连接服务器
- /// </summary>
- void ConnectServer()
- {
- bool isSuccessfulLogin = false;
- string msg = "";
- LYFZ.ComponentLibrary.FrmLoadHandling.LoadDoWorkMethod(delegate(object obj, BackgroundWorker backgroundWorker)
- {
- try
- {
- backgroundWorker.ReportProgress(0, "正在连接服务器...");
- if (!frmMain.TcpClient.ConnectionServer(frmMain.ClientCon.ServerIP, frmMain.ClientCon.Port))
- {
- msg = "连接服务器失败,请检查网络环境";
- return;
- }
- else
- {
- try
- {
- backgroundWorker.ReportProgress(0, "正在验证用户登录信息...");
- if (VerifyUser(ref msg))
- {
- backgroundWorker.ReportProgress(0, "验证用户登录信息成功...");
- }
- else
- {
- backgroundWorker.ReportProgress(0, "验证用户登录信息失败...");
- return;
- }
- }
- catch (Exception ex)
- {
- msg = "验证用户时出错:" + ex.Message;
- return;
- }
- isSuccessfulLogin = true;
- }
- }
- catch (Exception ex)
- {
- msg = "连接服务器失败,请检查网络或确认服务器已启动!\r\n" + ex.Message;
- return;
- }
- });
- if (isSuccessfulLogin)
- {
- this.DialogResult = System.Windows.Forms.DialogResult.OK;
- }
- else
- {
- if (msg.Trim().Length > 0)
- {
- MessageBoxCustom.Show(msg);
- }
- return;
- }
- }
- /// <summary>
- /// 验证用户
- /// </summary>
- /// <returns></returns>
- bool VerifyUser(ref string msg)
- {
- bool bl = false;
- string userAccount =this.stxtUserName.Text.Trim();
- string userPwd = this.textBoxPwd.Text.Trim();
- try
- {
- //查询用户
- HPSocketCS.Extended.ReturnData returnData = LYFZ.CloudServerData.ClientDataRequestProcess.RequestQueryUser(frmMain.TcpClient.Client, userAccount);
- if (returnData.ReturnStatus)
- {
- frmMain.LoginUser =returnData.DataByteToModelObject<LYFZ.CloudServerData.Model.User>();
- }
- else
- {
- MessageBoxCustom.Show(returnData.ReturnMessage);
- }
- //usersModel.UserName = "管理员";
- //usersModel.Password = LYFZ.WinAPI.SDKSecurity.MD5Encrypt("123");
- //usersModel.UserID = userAccount;
- ////usersModel = null;
- //frmMain.LoginUser = usersModel;
- }
- catch (Exception ex)
- {
- msg = "获取用户信息出错:" + ex.Message;
- return false;
- }
- try
- {
- if (frmMain.LoginUser.ID > 0)
- {
- if (LYFZ.WinAPI.SDKSecurity.MD5Encrypt(userPwd).ToLower().Equals(frmMain.LoginUser.Password.Trim().ToLower()))
- {
- try
- {
- UpdateHistoryUsers();
- }
- catch { }
- bl = true;
- }
- else
- {
- msg = "用户名和密码不正确!";
- }
- }
- else
- {
- msg = "用户名不存在";
- }
- }
- catch (Exception ex)
- {
- msg = "用户验证时失败:" + ex.Message;
- }
- return bl;
- }
- /// <summary>
- /// 更新历史用户
- /// </summary>
- void UpdateHistoryUsers()
- {
- // LYFZ.WinAPI.SDKSecurity.Decode();
- string userPwd = textBoxPwd.Text.Trim();
- LYFZ.CloudServerData.Model.HistoryUser tempUser = null;
- if (frmMain.ClientCon.HistoryUserList.Any(s => s.UserID.ToLower() == frmMain.LoginUser.UserID.ToLower()))
- {
- tempUser = frmMain.ClientCon.HistoryUserList.Find(s => s.UserID.ToLower() == frmMain.LoginUser.UserID.ToLower());
- frmMain.ClientCon.HistoryUserList.Remove(tempUser);
- }
- else {
- tempUser = new CloudServerData.Model.HistoryUser();
- }
- tempUser.UserID = frmMain.LoginUser.UserID;
- tempUser.UserName = frmMain.LoginUser.UserName;
- tempUser.Sex = frmMain.LoginUser.Sex;
- if (this.schbRememberPwd.Checked)
- {
- tempUser.Password = LYFZ.WinAPI.SDKSecurity.Encode(userPwd);
- }
- else {
- tempUser.Password = "";
- }
- frmMain.ClientCon.HistoryUserList.Insert(0,tempUser);
- LYFZ.CloudServerData.SystemConfig.WriteCloudClientConfig(frmMain.ClientCon);
- }
- void btnAppFormMenu_Click(object sender, EventArgs e)
- {
- frmLoginSettings loginSet = new frmLoginSettings();
- loginSet.ClientCon = frmMain.ClientCon;
- loginSet.ShowDialog();
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- protected void stxtPwd_IconClick(object sender, EventArgs e)
- {
- PassKey pass = new PassKey(this.Left + stxtPwd.Left - 100, this.Top + stxtPwd.Bottom, this.textBoxPwd);
- pass.Show(this);
- }
- protected void sMenuStripId_Closing(object sender, ToolStripDropDownClosingEventArgs e)
- {
- this.stxtUserName.Icon = LYFZ.ERPCloudClient.Properties.Resources.login_inputbtn_normal;
- }
- protected void stxtUserName_IconClick(object sender, EventArgs e)
- {
- if (this.sMenuStripId.Items.Count > 0)
- {
- stxtUserName.Icon = LYFZ.ERPCloudClient.Properties.Resources.login_inputbtn_down;
- }
- this.sMenuStripId.Show(this.stxtUserName, 1, this.stxtUserName.Height + 1);
-
- }
- protected void frmLogin_Load(object sender, EventArgs e)
- {
- this.slblMsgInfo.Text = this.slblMsgInfo.Text.Replace("{$}","V"+Application.ProductVersion);
- this.stxtPwd.BaseText.PasswordChar = '*';
- this.stxtPwd.BaseText.UseSystemPasswordChar = true;
- this.sMenuStripId.Items.Clear();
- for (int i = 0; i < frmMain.ClientCon.HistoryUserList.Count; i++)
- {
- LYFZ.CloudServerData.Model.HistoryUser tempUser = frmMain.ClientCon.HistoryUserList[i];
- try
- {
- if (this.sMenuStripId.Height < 220)
- {
- this.sMenuStripId.Height += (i + 1) * 48;
- }
- string UserAccount = tempUser.UserID;
- string nickName = tempUser.UserName;
- Image nickImage = LYFZ.ComponentLibrary.Properties.UIBlueResources.LYFZHD;
- string password = tempUser.Password;
- ToolStripMenuItem item = new ToolStripMenuItem();
- item.Name = "mi" + UserAccount;
- item.AutoSize = false;
- item.Size = new System.Drawing.Size(182, 40);
- item.Text = nickName + "\r\n" + UserAccount;
- item.Tag = new string[] { UserAccount, nickName, password }; //Tag用于存储UserID 和 NickName
- item.Image = nickImage; //根据ID获取头像
- item.Click += new EventHandler(toolStripMenuItemID_Click);
- item.MouseEnter += item_MouseEnter;
- ToolStripSeparator spItem = new ToolStripSeparator();
- spItem.Name = item.Name + "SP";
- this.sMenuStripId.Items.Add(item);
- this.sMenuStripId.Items.Add(spItem);
- }
- catch { }
- }
- this.stxtUserName.Focus();
- if (this.sMenuStripId.Items.Count > 0)
- {
- toolStripMenuItemID_Click(this.sMenuStripId.Items[0], null);
- }
- }
- void textBoxPwd_KeyUp(object sender, KeyEventArgs e)
- {
- try
- {
- if (e != null && e.KeyCode == Keys.Enter && !isEnterBtnLogin)
- {
- this.sBtnLogin_Click(null, null);
- }
- else
- {
- isEnterBtnLogin = false;
- }
- }
- catch { }
- }
- void stxtPwd_KeyUp(object sender, KeyEventArgs e)
- {
- this.textBoxPwd_KeyUp(sender, e);
- }
- /// <summary>
- /// 当前历史用户项
- /// </summary>
- ToolStripMenuItem CurrentToolStripMenuItem = null;
- void item_MouseEnter(object sender, EventArgs e)
- {
- if (sender.GetType() == typeof(ToolStripMenuItem))
- {
- CurrentToolStripMenuItem = (ToolStripMenuItem)sender;
- }
- }
- #region toolStripMenuItemID_Click
- void textBoxPwd_GotFocus(object sender, EventArgs e)
- {
- stxtUserName_KeyUp(null, null);
- }
- /// <summary>
- /// 是否按过回车并尝试登录过
- /// </summary>
- bool isEnterBtnLogin = false;
- void stxtUserName_KeyUp(object sender, KeyEventArgs e)
- {
- try
- {
- if (e != null && e.KeyCode == Keys.Enter && !isEnterBtnLogin)
- {
- if (e.KeyCode == Keys.Enter)
- {
- this.sBtnLogin_Click(null, null);
- }
- }
- else
- {
- this.spalHead.BackgroundImage = LYFZ.ComponentLibrary.Properties.UIBlueResources.LYFZHD;
- if (sender != null)
- {
- isEnterBtnLogin = false;
- this.schbRememberPwd.Checked = false;
- this.textBoxPwd.Text = "";
- foreach (LYFZ.CloudServerData.Model.HistoryUser user in frmMain.ClientCon.HistoryUserList)
- {
- try
- {
- string UserAccount = user.UserID;
- if (this.stxtUserName.Text.Trim().ToLower() == UserAccount.Trim().ToLower())
- {
- this.textBoxPwd.Text = LYFZ.WinAPI.SDKSecurity.Decode(user.Password).Trim();
- if (this.textBoxPwd.Text.Trim().Length > 0)
- {
- this.schbRememberPwd.Checked = true;
- }
- }
- }
- catch
- {
- }
- }
- }
- }
- }
- catch
- {
- }
- }
- //从帐号下拉列表中 选中某个登录帐号
- protected void toolStripMenuItemID_Click(object sender, EventArgs e)
- {
- ToolStripMenuItem item = (ToolStripMenuItem)sender;
- string[] tag = (string[])item.Tag;
- this.stxtUserName.Text = tag[0];
- this.schbRememberPwd.Checked = false;
- this.textBoxPwd.Text = "";
- if (tag.Length == 3)
- {
- if (tag[2].Trim() != "")
- {
- this.textBoxPwd.Text = LYFZ.WinAPI.SDKSecurity.Decode(tag[2]);
- this.schbRememberPwd.Checked = true;
- }
- }
- this.spalHead.BackgroundImage = item.Image;
-
- this.textBoxPwd.Focus();
- }
- #endregion
- }
- }
|