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