From f23d33d0cf77a73d449cd7c38effda9e50c8fda4 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期四, 06 三月 2025 08:13:37 +0800
Subject: [PATCH] 版面

---
 DevApp/Gs.DevApp/DevFrm/FrmLogin.cs |  227 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 227 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..43a3a63
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
@@ -0,0 +1,227 @@
+锘縰sing System;
+using System.Configuration;
+using System.Linq;
+using System.Management;
+using System.Net.Sockets;
+using System.Net;
+using System.Windows.Forms;
+using AutoUpdaterDotNET;
+using DevExpress.XtraEditors;
+using Gs.DevApp.Entity;
+using Gs.DevApp.Properties;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+
+namespace Gs.DevApp.DevFrm
+{
+    public partial class FrmLogin : XtraForm
+    {
+        public FrmLogin()
+        {
+            InitializeComponent();
+            if (ConfigurationManager.AppSettings["IsAutoUpdater"] == "1")
+                _autoUpdate();
+            _getRemember();
+            Text = lbVersion.Text = ConfigurationManager.AppSettings["ProductName"];
+            btnLogin.Click += BtnLogin_Click;
+            btnCancel.Click += BtnCancel_Click;
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134)));
+        }
+
+        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);
+            }
+        }
+
+        private void _autoUpdate()
+        {
+            var _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();
+            }
+        }
+
+
+        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