lu
2025-04-18 57838c8b507ee91c982f49b89feee3c0654435d8
DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
@@ -1,58 +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();
            else
                getTree();
            Text = lbVersion.Text =
                ConfigurationManager.AppSettings["ProductName"];
            _getFont();
            _getRemember();
            btnLogin.Click += BtnLogin_Click;
            btnCancel.Click += BtnCancel_Click;
        }
        /// <summary>
        ///     读取组织
        /// </summary>
        private void getTree()
        {
            var pgq = new PageQueryModel(1, 999999, "FID", "asc", "",
                " and IS_STATUS=1");
            var json = JsonConvert.SerializeObject(pgq);
            try
            {
                var strReturn = UtilityHelper.HttpPost("",
                    "Organization/GetListPage", json);
                var rtn = UtilityHelper.ReturnToTablePage(strReturn);
                var dt = rtn.rtnData.list;
                comOrg.DataSource = dt;
                comOrg.DisplayMember = "name";
                comOrg.ValueMember = "guid";
                comOrg.SelectedIndex = 0;
                _getRemember();
            }
            catch (Exception ex)
            {
                MsgHelper.Warning("提示:" + ex.Message);
                Close();
                Application.Exit();
            }
            lbVersion.Text = _productName+ ",版本(" + _version + ")" + ",使用字体(" + _strFont + ")"+",服务地址("+ _webApiUrl + ")";
        }
        private void BtnCancel_Click(object sender, EventArgs e)
@@ -75,20 +58,12 @@
                txtUser.Focus();
                return;
            }
            if (comOrg.SelectedValue == null ||
                string.IsNullOrEmpty(comOrg.SelectedValue.ToString().Trim()))
            {
                MsgHelper.Warning("组织机构不能为空!");
                txtUser.Focus();
                return;
            }
            string strLog = GetMacAddress();
            var _obj = new
            {
                accountPwd = txtPwd.Text.Trim(),
                accountNo = txtUser.Text.Trim(),
                orgGuid = comOrg.SelectedValue.ToString().Trim()
                accountLog = strLog
            };
            try
            {
@@ -98,23 +73,12 @@
                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.orgGuid = ckRemember.Checked
                        ? comOrg.SelectedValue.ToString()
                        : "";
                    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.LoginOrgGuid =
                        _login["loginOrgGuid"].ToString();
                    LoginInfoModel.CurrentUser.LoginTime =
                        DateTime.Now.ToString("yyyy-MM-dd hh:mm");
                    LoginInfoModel.CurrentUser.LoginUserGuid = _login["loginGuid"].ToString();
                    LoginInfoModel.CurrentUser.LoginTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm");
                    DialogResult = DialogResult.OK;
                }
                else
@@ -131,7 +95,7 @@
        }
        /// <summary>
        ///     读取记住密码
        ///  读取记住密码
        /// </summary>
        private void _getRemember()
        {
@@ -141,7 +105,6 @@
                {
                    txtUser.Text = Settings.Default.userName;
                    txtPwd.Text = Settings.Default.userPwd;
                    comOrg.SelectedValue = Settings.Default.orgGuid;
                    ckRemember.Checked = true;
                }
            }
@@ -150,13 +113,37 @@
                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.Start(ConfigurationManager.AppSettings["AutoUpdaterXml"]);
            AutoUpdater.CheckForUpdateEvent += AutoUpdater_CheckForUpdateEvent;
        }
@@ -172,7 +159,6 @@
            if (!args.IsUpdateAvailable)
            {
                getTree();
                return;
            }
@@ -219,11 +205,55 @@
            }
            catch (Exception exception)
            {
                MsgHelper.ShowError(exception.Message + ":" +
                                    exception.GetType());
                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(";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();
        }
    }
}