lu
2025-04-19 b084bd77d01a94c8f0a2d20c86a1f45ba7c8a23c
DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
@@ -1,30 +1,41 @@
using System;
using System.Configuration;
using System.Linq;
using System.Windows.Forms;
using AutoUpdaterDotNET;
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();
            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)));
            lbVersion.Text = _productName+ ",版本(" + _version + ")" + ",使用字体(" + _strFont + ")"+",服务地址("+ _webApiUrl + ")";
        }
        private void BtnCancel_Click(object sender, EventArgs e)
@@ -47,10 +58,12 @@
                txtUser.Focus();
                return;
            }
            string strLog = GetMacAddress();
            var _obj = new
            {
                accountPwd = txtPwd.Text.Trim(),
                accountNo = txtUser.Text.Trim(),
                accountLog = strLog
            };
            try
            {
@@ -100,10 +113,35 @@
                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()
        {
            var _version = ConfigurationManager.AppSettings["Version"];
            _version = ConfigurationManager.AppSettings["Version"];
            AutoUpdater.InstalledVersion = new Version(_version);
            AutoUpdater.Start(ConfigurationManager.AppSettings["AutoUpdaterXml"]);
            AutoUpdater.CheckForUpdateEvent += AutoUpdater_CheckForUpdateEvent;
@@ -172,5 +210,50 @@
                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();
        }
    }
}