From 90cb645e2cc2a0befcb50fff0477b07a76b49e83 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期二, 01 七月 2025 10:46:42 +0800
Subject: [PATCH] 培讯

---
 DevApp/Gs.DevApp/DevFrm/FrmLogin.cs |  262 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 216 insertions(+), 46 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs b/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
index d02f0c4..001f9b8 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
+++ b/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
@@ -1,90 +1,260 @@
-锘縰sing Gs.DevApp.ToolBox;
+锘縰sing AutoUpdaterDotNET;
+using DevExpress.XtraEditors;
+using Gs.DevApp.Entity;
+using Gs.DevApp.Properties;
+using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
-using System;
-using System.Windows.Forms;
-using Gs.DevApp.Models;
 using Newtonsoft.Json.Linq;
-using System.Data;
+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 : DevExpress.XtraEditors.XtraForm
+    public partial class FrmLogin : XtraForm
     {
+        private string _productName = "";
+        private string _version = "鏈煡";
+        private string _strFont = "";
+        private string _webApiUrl = "";
         public FrmLogin()
         {
+
             InitializeComponent();
-            this.Text = lbVersion.Text = System.Configuration.ConfigurationSettings.AppSettings.Get("ProductName").ToString();
+            _productName = ConfigurationManager.AppSettings["ProductName"];
+            _webApiUrl = ConfigurationManager.AppSettings["WebApiUrl"];
+            if (ConfigurationManager.AppSettings["IsAutoUpdater"] == "1")
+                _autoUpdate();
+            _getFont();
+            _getRemember();
             btnLogin.Click += BtnLogin_Click;
             btnCancel.Click += BtnCancel_Click;
-            UtilityHelper.SetFont(panel1);
-            getTree();
+            lbVersion.Text = _productName + "锛岀増鏈�(" + _version + ")" + "锛屼娇鐢ㄥ瓧浣�(" + _strFont + ")" + "锛屾湇鍔″湴鍧�(" + _webApiUrl + ")";
         }
 
-        private void getTree()
-        {
-            Models.PageQueryModel pgq = new Models.PageQueryModel(1, 999999, "factory", "asc", "", "and upGuid is not null");
-            string json = JsonConvert.SerializeObject(pgq);
-            string strReturn = "";
-            try
-            {
-                strReturn = UtilityHelper.HttpPost("", "Organization/GetListPage", json);
-                ReturnModel<PageListModel> rtn = UtilityHelper.GetTableByJson(strReturn);
-                DataTable dt = rtn.rtnData.list;
-                DataRow newRow = dt.NewRow();
-                newRow["guid"] = "00000000-0000-0000-0000-000000000000";
-                newRow["name"] = "-璇烽�夋嫨-";
-                dt.Rows.Add(newRow);
-                comOrg.DataSource = dt;
-                comOrg.DisplayMember = "name";
-                comOrg.ValueMember = "guid";
-                comOrg.SelectedIndex = dt.Rows.Count - 1;
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-        }
         private void BtnCancel_Click(object sender, EventArgs e)
         {
-            if (MsgHelper.AskQuestion("纭畾瑕侀��鍑虹郴缁熷悧?"))
-            {
-                Application.Exit();
-            }
+            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(),
-                orgGuid = comOrg.SelectedValue
+                accountLog = strLog
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "User/UserLogin", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                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.LoginOrgGuid = _login["loginOrgGuid"].ToString();
                     LoginInfoModel.CurrentUser.LoginTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm");
-                    LoginInfoModel.CurrentUser.LoginFactory = _login["loginFactory"].ToString();
-                    this.DialogResult = DialogResult.OK;
+                    DialogResult = DialogResult.OK;
                 }
                 else
                 {
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-                    this.DialogResult = DialogResult.None;
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                    DialogResult = DialogResult.None;
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                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