¶Ô±ÈÐÂÎļþ |
| | |
| | | using AutoUpdaterDotNET; |
| | | using DevExpress.XtraEditors; |
| | | using DevExpress.XtraRichEdit.Export.Rtf; |
| | | using Gs.DevApp.Entity; |
| | | using Gs.DevApp.Properties; |
| | | using Gs.DevApp.ToolBox; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using System; |
| | | using System.Configuration; |
| | | using System.Linq; |
| | | using System.Management; |
| | | using System.Net; |
| | | using System.Net.Sockets; |
| | | using System.Windows.Forms; |
| | | |
| | | |
| | | namespace Gs.DevApp.DevFrm |
| | | { |
| | | public partial class FrmLogin : XtraForm |
| | | { |
| | | private string _productName = ""; |
| | | private string _version = "æªç¥"; |
| | | private string _strFont = ""; |
| | | private string _webApiUrl = ""; |
| | | public FrmLogin() |
| | | { |
| | | |
| | | InitializeComponent(); |
| | | _productName = ConfigurationManager.AppSettings["ProductName"]; |
| | | _webApiUrl = ConfigurationManager.AppSettings["WebApiUrl"]; |
| | | if (ConfigurationManager.AppSettings["IsAutoUpdater"] == "1") |
| | | _autoUpdate(); |
| | | _getFont(); |
| | | _getRemember(); |
| | | btnLogin.Click += BtnLogin_Click; |
| | | btnCancel.Click += BtnCancel_Click; |
| | | lbVersion.Text = _productName+ "ï¼çæ¬(" + _version + ")" + "ï¼ä½¿ç¨åä½(" + _strFont + ")"+"ï¼æå¡å°å("+ _webApiUrl + ")"; |
| | | } |
| | | |
| | | private void BtnCancel_Click(object sender, EventArgs e) |
| | | { |
| | | if (MsgHelper.AskQuestion("ç¡®å®è¦éåºç³»ç»å?")) Application.Exit(); |
| | | } |
| | | |
| | | private void BtnLogin_Click(object sender, EventArgs e) |
| | | { |
| | | if (string.IsNullOrEmpty(txtUser.Text.Trim())) |
| | | { |
| | | MsgHelper.Warning("ç»å½è´¦å·ä¸è½ä¸ºç©ºï¼"); |
| | | txtUser.Focus(); |
| | | return; |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(txtPwd.Text.Trim())) |
| | | { |
| | | MsgHelper.Warning("å¯ç ä¸è½ä¸ºç©ºï¼"); |
| | | txtUser.Focus(); |
| | | return; |
| | | } |
| | | string strLog = GetMacAddress(); |
| | | var _obj = new |
| | | { |
| | | accountPwd = txtPwd.Text.Trim(), |
| | | accountNo = txtUser.Text.Trim(), |
| | | accountLog = strLog |
| | | }; |
| | | try |
| | | { |
| | | var strJson = UtilityHelper.HttpPost("", "User/UserLogin", |
| | | JsonConvert.SerializeObject(_obj)); |
| | | var _rtn = UtilityHelper.ReturnToDynamic(strJson); |
| | | JObject _login = _rtn.rtnData; |
| | | if (_rtn.rtnCode > 0) |
| | | { |
| | | Settings.Default.userName = ckRemember.Checked ? txtUser.Text.Trim() : ""; |
| | | Settings.Default.userPwd = ckRemember.Checked ? txtPwd.Text.Trim() : ""; |
| | | Settings.Default.remember = ckRemember.Checked; |
| | | Settings.Default.Save(); |
| | | LoginInfoModel.CurrentUser.LoginUserGuid = _login["loginGuid"].ToString(); |
| | | LoginInfoModel.CurrentUser.LoginTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm"); |
| | | DialogResult = DialogResult.OK; |
| | | } |
| | | else |
| | | { |
| | | MsgHelper.Warning("æç¤ºï¼" + _rtn.rtnMsg); |
| | | DialogResult = DialogResult.None; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | DialogResult = DialogResult.Cancel; |
| | | MsgHelper.Warning("æç¤ºï¼" + ex.Message); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读åè®°ä½å¯ç |
| | | /// </summary> |
| | | private void _getRemember() |
| | | { |
| | | try |
| | | { |
| | | if (Settings.Default.remember) |
| | | { |
| | | txtUser.Text = Settings.Default.userName; |
| | | txtPwd.Text = Settings.Default.userPwd; |
| | | ckRemember.Checked = true; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MessageBox.Show(ex.Message); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 读ååä½ |
| | | /// </summary> |
| | | private void _getFont() |
| | | { |
| | | try |
| | | { |
| | | _strFont = Settings.Default.fontSizeName; |
| | | if (string.IsNullOrEmpty(_strFont)) |
| | | return; |
| | | string[] ary = _strFont.Split(','); |
| | | if (ary.Length < 2) |
| | | return; |
| | | float _ft = float.Parse(ary[1]); |
| | | #region 设置é»è®¤åä½ãæ¥ææ ¼å¼ãæ±ådev |
| | | DevExpress.Utils.AppearanceObject.DefaultFont = new System.Drawing.Font(ary[0], _ft); |
| | | DevExpress.XtraEditors.WindowsFormsSettings.DefaultFont = new System.Drawing.Font(ary[0], _ft); |
| | | DevExpress.XtraEditors.WindowsFormsSettings.DefaultMenuFont = new System.Drawing.Font(ary[0], _ft); |
| | | DevExpress.XtraEditors.WindowsFormsSettings.DefaultPrintFont = new System.Drawing.Font(ary[0], _ft); |
| | | #endregion |
| | | |
| | | } |
| | | catch (Exception) |
| | | { |
| | | } |
| | | } |
| | | private void _autoUpdate() |
| | | { |
| | | _version = ConfigurationManager.AppSettings["Version"]; |
| | | AutoUpdater.InstalledVersion = new Version(_version); |
| | | AutoUpdater.Start(ConfigurationManager.AppSettings["AutoUpdaterXml"]); |
| | | AutoUpdater.CheckForUpdateEvent += AutoUpdater_CheckForUpdateEvent; |
| | | } |
| | | |
| | | private void AutoUpdater_CheckForUpdateEvent(UpdateInfoEventArgs args) |
| | | { |
| | | if (args == null || string.IsNullOrEmpty(args.DownloadURL)) |
| | | { |
| | | MsgHelper.ShowError("读åèªå¨æ´æ°å¤±è´¥ï¼æ æ³ç»å½ï¼è¯·è系管çåï¼"); |
| | | Close(); |
| | | Application.Exit(); |
| | | return; |
| | | } |
| | | |
| | | if (!args.IsUpdateAvailable) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | var _strMsg = |
| | | string.Format( |
| | | $@"ææ°çæ¬ {args.CurrentVersion} å¯ç¨ï¼æ¨ä½¿ç¨çæ¯ {args.InstalledVersion}çæ¬ï¼è¿æ¯å¿
éçæ´æ°ï¼æâæ¯ï¼Yï¼âå¼å§æ´æ°åºç¨ç¨åºã"); |
| | | if (!MsgHelper.AskQuestion(_strMsg)) |
| | | { |
| | | Close(); |
| | | Application.Exit(); |
| | | return; |
| | | } |
| | | |
| | | try |
| | | { |
| | | if (AutoUpdater.DownloadUpdate(args)) |
| | | { |
| | | var config = |
| | | ConfigurationManager.OpenExeConfiguration( |
| | | ConfigurationUserLevel.None); |
| | | if (config != null) |
| | | { |
| | | var appSettings = |
| | | (AppSettingsSection)config.GetSection( |
| | | "appSettings"); |
| | | if (appSettings.Settings.AllKeys.Contains("Version")) |
| | | appSettings.Settings["Version"].Value = |
| | | args.CurrentVersion; |
| | | else |
| | | appSettings.Settings.Add("Version", |
| | | args.CurrentVersion); |
| | | config.Save(ConfigurationSaveMode.Modified); |
| | | ConfigurationManager.RefreshSection("appSettings"); |
| | | } |
| | | |
| | | Application.Exit(); |
| | | } |
| | | else |
| | | { |
| | | MsgHelper.ShowError("读åèªå¨æ´æ°å¤±è´¥ï¼æ æ³ç»å½ï¼è¯·è系管çåï¼"); |
| | | Close(); |
| | | Application.Exit(); |
| | | } |
| | | } |
| | | catch (Exception exception) |
| | | { |
| | | MsgHelper.ShowError(exception.Message + "ï¼" + exception.GetType()); |
| | | Close(); |
| | | Application.Exit(); |
| | | } |
| | | } |
| | | |
| | | private string GetMacAddress() |
| | | { |
| | | System.Text.StringBuilder sb = new System.Text.StringBuilder(); |
| | | try |
| | | { |
| | | sb.Append("主æºå: "); |
| | | string hostName = Dns.GetHostName(); |
| | | sb.Append(hostName); |
| | | sb.Append("ï¼IPv4: "); |
| | | IPAddress[] addresses = Dns.GetHostAddresses(hostName); |
| | | int i = 0; |
| | | foreach (IPAddress address in addresses) |
| | | { |
| | | if (address.AddressFamily == AddressFamily.InterNetwork) // è¿æ»¤åºIPv4å°å |
| | | { |
| | | if (i > 0) |
| | | sb.Append("ï¼"); |
| | | sb.Append(address.ToString()); |
| | | } |
| | | } |
| | | i = 0; |
| | | sb.Append("ï¼MAC: "); |
| | | ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); |
| | | ManagementObjectCollection moc = mc.GetInstances(); |
| | | string macAddress = string.Empty; |
| | | foreach (ManagementObject mo in moc) |
| | | { |
| | | if ((bool)mo["IPEnabled"]) |
| | | { |
| | | if (i > 0) |
| | | sb.Append("ï¼"); |
| | | macAddress = mo["MacAddress"].ToString(); |
| | | sb.Append(macAddress); |
| | | break; |
| | | } |
| | | } |
| | | return sb.ToString(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | sb.Append(ex.Message); |
| | | } |
| | | return sb.ToString(); |
| | | } |
| | | } |
| | | } |