From b62971d2d58e39b7c938029116bc063eaf46b728 Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期一, 30 六月 2025 17:41:10 +0800 Subject: [PATCH] bug --- DevApp/Gs.DevApp/DevFrm/FrmLogin.cs | 260 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 260 insertions(+), 0 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs b/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs new file mode 100644 index 0000000..001f9b8 --- /dev/null +++ b/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs @@ -0,0 +1,260 @@ +锘縰sing AutoUpdaterDotNET; +using DevExpress.XtraEditors; +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.isWeight = ckWeight.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.ShowError("鎻愮ず锛�" + ex.Message); + } + } + + /// <summary> + /// 璇诲彇璁颁綇瀵嗙爜 + /// </summary> + private void _getRemember() + { + try + { + txtUser.Text = Settings.Default.userName; + txtPwd.Text = Settings.Default.userPwd; + ckRemember.Checked = Settings.Default.remember; + ckWeight.Checked = Settings.Default.isWeight; + } + catch (Exception ex) + { + MsgHelper.ShowError("鎻愮ず锛�" + 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 璁剧疆榛樿瀛椾綋銆佹棩鏈熸牸寮忋�佹眽鍖杁ev + 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 ex) + { + MsgHelper.ShowError("鎻愮ず锛�" + ex.Message); + } + } + + #region 鑷姩鏇存柊 + 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}鐗堟湰锛岃繖鏄繀闇�鐨勬洿鏂帮紝鎸夆�滄槸锛圷锛夆�濆紑濮嬫洿鏂板簲鐢ㄧ▼搴忋��"); + 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(); + } + } + + #endregion + + + /// <summary> + /// 璇诲彇mac + /// </summary> + /// <returns></returns> + private string GetMacAddress() + { + System.Text.StringBuilder sb = new System.Text.StringBuilder(); + try + { + sb.Append("涓绘満鍚�: "); + string hostName = Dns.GetHostName(); + sb.Append(hostName); + sb.Append("锛汭Pv4: "); + IPAddress[] addresses = Dns.GetHostAddresses(hostName); + int i = 0; + foreach (IPAddress address in addresses) + { + if (address.AddressFamily == AddressFamily.InterNetwork) // 杩囨护鍑篒Pv4鍦板潃 + { + if (i > 0) + sb.Append("锛�"); + sb.Append(address.ToString()); + } + } + i = 0; + sb.Append("锛汳AC: "); + 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(); + } + } +} \ No newline at end of file -- Gitblit v1.9.3