Shuxia Ning
2025-01-13 8d141c03fc1e9f56dc13a8ea4b46278a66bba0fb
Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0
已修改14个文件
已添加6个文件
865 ■■■■■ 文件已修改
BLL/HStation.BLL.PhartRelation.Core/02-httpclient/09-dbfirst/PhartRelationDbFirstHelper.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.Designer.cs 314 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Login/SmsLoginCtrl.Designer.cs 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Login/SmsLoginCtrl.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Login/SystemLoginCtrl.Designer.cs 213 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Properties/Resources.Designer.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Properties/Resources.resx 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Resources/loginbg1.png 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Resources/loginbg2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Resources/loginbg3.jpg 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Resources/loginbg4.jpg 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/Resources/loginbg5.jpg 补丁 | 查看 | 原始文档 | blame | 历史
Entry/HStation.Entry.Xhs.Core/HStation.Entry.Xhs.Core.csproj 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Entry/HStation.Entry.Xhs.Core/Properties/PublishProfiles/FolderProfile.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkPathAnalyseExtensions.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/HStation.WebApi.Xhs.Core/HStation.WebApi.Xhs.Core.csproj 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/HStation.WebApi.Xhs.Core/Startup.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/18-loss/01-curve/HydroSingleWorkingLossCurveCtrl.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BLL/HStation.BLL.PhartRelation.Core/02-httpclient/09-dbfirst/PhartRelationDbFirstHelper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@

using Yw.CAL.HttpClient;
namespace HStation.CAL.HttpClient
{
    /// <summary>
    ///
    /// </summary>
    public class PhartRelationDbFirstHelper : BaseCAL, IPhartRelationDbFirstHelper
    {
        protected override string Prefix
        {
            get { return $"{HStation.BLL.PhartRelation.ConfigHelper.HttpUrl}/PhartRelation/DbFirst"; }
        }
        /// <summary>
        ///
        /// </summary>
        public async Task<bool> Initial()
        {
            return await GetUrl("Initial@V1.0").Get<bool>();
        }
    }
}
Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.Designer.cs
@@ -28,15 +28,8 @@
        /// </summary>
        private void InitializeComponent()
        {
            DevExpress.XtraLayout.ColumnDefinition columnDefinition1 = new DevExpress.XtraLayout.ColumnDefinition();
            DevExpress.XtraLayout.ColumnDefinition columnDefinition2 = new DevExpress.XtraLayout.ColumnDefinition();
            DevExpress.XtraLayout.ColumnDefinition columnDefinition3 = new DevExpress.XtraLayout.ColumnDefinition();
            DevExpress.XtraLayout.RowDefinition rowDefinition1 = new DevExpress.XtraLayout.RowDefinition();
            DevExpress.XtraLayout.RowDefinition rowDefinition2 = new DevExpress.XtraLayout.RowDefinition();
            DevExpress.XtraLayout.RowDefinition rowDefinition3 = new DevExpress.XtraLayout.RowDefinition();
            DevExpress.XtraLayout.RowDefinition rowDefinition4 = new DevExpress.XtraLayout.RowDefinition();
            DevExpress.XtraLayout.RowDefinition rowDefinition5 = new DevExpress.XtraLayout.RowDefinition();
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            marqueeProgressBarControl1 = new DevExpress.XtraEditors.MarqueeProgressBarControl();
            tabPane1 = new DevExpress.XtraBars.Navigation.TabPane();
            tabPageSystem = new DevExpress.XtraBars.Navigation.TabNavigationPage();
            systemLoginCtrl1 = new SystemLoginCtrl();
@@ -44,243 +37,255 @@
            smsLoginCtrl1 = new SmsLoginCtrl();
            tabPageWechat = new DevExpress.XtraBars.Navigation.TabNavigationPage();
            wechatLoginCtrl1 = new WechatLoginCtrl();
            pictureEdit1 = new DevExpress.XtraEditors.PictureEdit();
            marqueeProgressBarControl1 = new DevExpress.XtraEditors.MarqueeProgressBarControl();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            labSysTitle = new DevExpress.XtraLayout.SimpleLabelItem();
            itemForProgress = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem();
            emptySpaceItem4 = new DevExpress.XtraLayout.EmptySpaceItem();
            itemForProgress = new DevExpress.XtraLayout.LayoutControlItem();
            labDev = new DevExpress.XtraLayout.SimpleLabelItem();
            labCorp = new DevExpress.XtraLayout.SimpleLabelItem();
            labTitle = new DevExpress.XtraLayout.SimpleLabelItem();
            labLoginTitle = new DevExpress.XtraLayout.SimpleLabelItem();
            ((System.ComponentModel.ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)marqueeProgressBarControl1.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)tabPane1).BeginInit();
            tabPane1.SuspendLayout();
            tabPageSystem.SuspendLayout();
            tabPageSms.SuspendLayout();
            tabPageWechat.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)pictureEdit1.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)marqueeProgressBarControl1.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)Root).BeginInit();
            ((System.ComponentModel.ISupportInitialize)labSysTitle).BeginInit();
            ((System.ComponentModel.ISupportInitialize)itemForProgress).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem2).BeginInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem3).BeginInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem4).BeginInit();
            ((System.ComponentModel.ISupportInitialize)itemForProgress).BeginInit();
            ((System.ComponentModel.ISupportInitialize)labDev).BeginInit();
            ((System.ComponentModel.ISupportInitialize)labCorp).BeginInit();
            ((System.ComponentModel.ISupportInitialize)labTitle).BeginInit();
            ((System.ComponentModel.ISupportInitialize)labLoginTitle).BeginInit();
            SuspendLayout();
            // 
            // layoutControl1
            // 
            layoutControl1.Appearance.Control.BackColor = Color.Transparent;
            layoutControl1.Appearance.Control.Options.UseBackColor = true;
            layoutControl1.BackColor = Color.Transparent;
            layoutControl1.Controls.Add(tabPane1);
            layoutControl1.Controls.Add(pictureEdit1);
            layoutControl1.Controls.Add(marqueeProgressBarControl1);
            layoutControl1.Controls.Add(tabPane1);
            layoutControl1.Dock = DockStyle.Fill;
            layoutControl1.Location = new Point(0, 0);
            layoutControl1.Margin = new Padding(3, 2, 3, 2);
            layoutControl1.Name = "layoutControl1";
            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(771, 155, 650, 400);
            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(1182, 180, 650, 400);
            layoutControl1.Root = Root;
            layoutControl1.Size = new Size(1097, 565);
            layoutControl1.Size = new Size(927, 469);
            layoutControl1.TabIndex = 0;
            layoutControl1.Text = "layoutControl1";
            //
            // marqueeProgressBarControl1
            //
            marqueeProgressBarControl1.EditValue = 0;
            marqueeProgressBarControl1.Location = new Point(0, 451);
            marqueeProgressBarControl1.Name = "marqueeProgressBarControl1";
            marqueeProgressBarControl1.Size = new Size(927, 18);
            marqueeProgressBarControl1.StyleController = layoutControl1;
            marqueeProgressBarControl1.TabIndex = 3;
            // 
            // tabPane1
            // 
            tabPane1.Appearance.BackColor = Color.White;
            tabPane1.Appearance.Options.UseBackColor = true;
            tabPane1.AppearanceButton.Hovered.FontSizeDelta = 2;
            tabPane1.AppearanceButton.Hovered.Options.UseFont = true;
            tabPane1.AppearanceButton.Normal.Font = new Font("Tahoma", 10F, FontStyle.Regular, GraphicsUnit.Point);
            tabPane1.AppearanceButton.Normal.Options.UseFont = true;
            tabPane1.AppearanceButton.Pressed.BorderColor = Color.FromArgb(0, 122, 204);
            tabPane1.AppearanceButton.Pressed.FontSizeDelta = 3;
            tabPane1.AppearanceButton.Pressed.ForeColor = Color.FromArgb(0, 122, 204);
            tabPane1.AppearanceButton.Pressed.Options.UseBorderColor = true;
            tabPane1.AppearanceButton.Normal.ForeColor = Color.Gray;
            tabPane1.AppearanceButton.Normal.Options.UseForeColor = true;
            tabPane1.AppearanceButton.Pressed.FontSizeDelta = 2;
            tabPane1.AppearanceButton.Pressed.Options.UseFont = true;
            tabPane1.AppearanceButton.Pressed.Options.UseForeColor = true;
            tabPane1.Controls.Add(tabPageSystem);
            tabPane1.Controls.Add(tabPageSms);
            tabPane1.Controls.Add(tabPageWechat);
            tabPane1.Location = new Point(639, 121);
            tabPane1.Location = new Point(468, 93);
            tabPane1.Name = "tabPane1";
            tabPane1.Pages.AddRange(new DevExpress.XtraBars.Navigation.NavigationPageBase[] { tabPageSystem, tabPageSms, tabPageWechat });
            tabPane1.RegularSize = new Size(356, 353);
            tabPane1.RegularSize = new Size(324, 268);
            tabPane1.SelectedPage = tabPageSystem;
            tabPane1.Size = new Size(356, 353);
            tabPane1.TabIndex = 8;
            tabPane1.Size = new Size(324, 268);
            tabPane1.TabIndex = 0;
            tabPane1.Text = "tabPane1";
            tabPane1.SelectedPageChanged += tabPane1_SelectedPageChanged;
            // 
            // tabPageSystem
            // 
            tabPageSystem.Appearance.BackColor = Color.White;
            tabPageSystem.Appearance.Options.UseBackColor = true;
            tabPageSystem.Caption = "密码登录";
            tabPageSystem.Controls.Add(systemLoginCtrl1);
            tabPageSystem.Name = "tabPageSystem";
            tabPageSystem.Size = new Size(356, 315);
            tabPageSystem.Size = new Size(324, 231);
            // 
            // systemLoginCtrl1
            // 
            systemLoginCtrl1.Dock = DockStyle.Fill;
            systemLoginCtrl1.Location = new Point(0, 0);
            systemLoginCtrl1.Name = "systemLoginCtrl1";
            systemLoginCtrl1.Size = new Size(356, 315);
            systemLoginCtrl1.Size = new Size(324, 231);
            systemLoginCtrl1.TabIndex = 0;
            // 
            // tabPageSms
            // 
            tabPageSms.Appearance.BackColor = Color.White;
            tabPageSms.Appearance.Options.UseBackColor = true;
            tabPageSms.Caption = "短信登录";
            tabPageSms.Controls.Add(smsLoginCtrl1);
            tabPageSms.Name = "tabPageSms";
            tabPageSms.Size = new Size(356, 315);
            tabPageSms.Size = new Size(324, 231);
            // 
            // smsLoginCtrl1
            // 
            smsLoginCtrl1.Dock = DockStyle.Fill;
            smsLoginCtrl1.Location = new Point(0, 0);
            smsLoginCtrl1.Name = "smsLoginCtrl1";
            smsLoginCtrl1.Size = new Size(356, 315);
            smsLoginCtrl1.Size = new Size(324, 231);
            smsLoginCtrl1.TabIndex = 0;
            // 
            // tabPageWechat
            // 
            tabPageWechat.Appearance.BackColor = Color.White;
            tabPageWechat.Appearance.Options.UseBackColor = true;
            tabPageWechat.Caption = "微信登录";
            tabPageWechat.Controls.Add(wechatLoginCtrl1);
            tabPageWechat.Name = "tabPageWechat";
            tabPageWechat.Size = new Size(356, 315);
            tabPageWechat.Size = new Size(324, 231);
            // 
            // wechatLoginCtrl1
            // 
            wechatLoginCtrl1.Dock = DockStyle.Fill;
            wechatLoginCtrl1.Location = new Point(0, 0);
            wechatLoginCtrl1.Name = "wechatLoginCtrl1";
            wechatLoginCtrl1.Size = new Size(356, 315);
            wechatLoginCtrl1.Size = new Size(324, 231);
            wechatLoginCtrl1.TabIndex = 0;
            //
            // pictureEdit1
            //
            pictureEdit1.EditValue = Xhs.Core.Properties.Resources.loginbg;
            pictureEdit1.Location = new Point(0, 59);
            pictureEdit1.Name = "pictureEdit1";
            pictureEdit1.Properties.AllowFocused = false;
            pictureEdit1.Properties.Appearance.BackColor = Color.FromArgb(76, 132, 191);
            pictureEdit1.Properties.Appearance.Options.UseBackColor = true;
            pictureEdit1.Properties.ReadOnly = true;
            pictureEdit1.Properties.ShowMenu = false;
            pictureEdit1.Properties.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Stretch;
            pictureEdit1.Size = new Size(637, 491);
            pictureEdit1.StyleController = layoutControl1;
            pictureEdit1.TabIndex = 7;
            //
            // marqueeProgressBarControl1
            //
            marqueeProgressBarControl1.EditValue = 0;
            marqueeProgressBarControl1.Location = new Point(0, 550);
            marqueeProgressBarControl1.Margin = new Padding(3, 2, 3, 2);
            marqueeProgressBarControl1.Name = "marqueeProgressBarControl1";
            marqueeProgressBarControl1.Properties.MarqueeAnimationSpeed = 20;
            marqueeProgressBarControl1.Properties.ProgressViewStyle = DevExpress.XtraEditors.Controls.ProgressViewStyle.Solid;
            marqueeProgressBarControl1.Size = new Size(1097, 15);
            marqueeProgressBarControl1.StyleController = layoutControl1;
            marqueeProgressBarControl1.TabIndex = 6;
            // 
            // Root
            // 
            Root.BackgroundImageOptions.Layout = ImageLayout.Zoom;
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { labSysTitle, itemForProgress, layoutControlItem1, layoutControlItem2 });
            Root.LayoutMode = DevExpress.XtraLayout.Utils.LayoutMode.Table;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, emptySpaceItem1, emptySpaceItem3, emptySpaceItem4, itemForProgress, labDev, labCorp, labTitle, labLoginTitle });
            Root.Name = "Root";
            columnDefinition1.SizeType = SizeType.Percent;
            columnDefinition1.Width = 100D;
            columnDefinition2.SizeType = SizeType.Absolute;
            columnDefinition2.Width = 360D;
            columnDefinition3.SizeType = SizeType.Absolute;
            columnDefinition3.Width = 100D;
            Root.OptionsTableLayoutGroup.ColumnDefinitions.AddRange(new DevExpress.XtraLayout.ColumnDefinition[] { columnDefinition1, columnDefinition2, columnDefinition3 });
            rowDefinition1.Height = 59D;
            rowDefinition1.SizeType = SizeType.Absolute;
            rowDefinition2.Height = 60D;
            rowDefinition2.SizeType = SizeType.Absolute;
            rowDefinition3.Height = 100D;
            rowDefinition3.SizeType = SizeType.Percent;
            rowDefinition4.Height = 74D;
            rowDefinition4.SizeType = SizeType.Absolute;
            rowDefinition5.Height = 15D;
            rowDefinition5.SizeType = SizeType.Absolute;
            Root.OptionsTableLayoutGroup.RowDefinitions.AddRange(new DevExpress.XtraLayout.RowDefinition[] { rowDefinition1, rowDefinition2, rowDefinition3, rowDefinition4, rowDefinition5 });
            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
            Root.Size = new Size(1097, 565);
            Root.Size = new Size(927, 469);
            Root.TextVisible = false;
            // 
            // labSysTitle
            // layoutControlItem1
            // 
            labSysTitle.AllowHotTrack = false;
            labSysTitle.AppearanceItemCaption.FontSizeDelta = 15;
            labSysTitle.AppearanceItemCaption.ForeColor = Color.White;
            labSysTitle.AppearanceItemCaption.Options.UseFont = true;
            labSysTitle.AppearanceItemCaption.Options.UseForeColor = true;
            labSysTitle.CustomizationFormText = "循环水仿真模拟系统";
            labSysTitle.Location = new Point(0, 0);
            labSysTitle.Name = "labSysTitle";
            labSysTitle.OptionsTableLayoutItem.ColumnSpan = 3;
            labSysTitle.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
            labSysTitle.Size = new Size(1097, 59);
            labSysTitle.Text = "循环水仿真模拟系统";
            labSysTitle.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
            labSysTitle.TextSize = new Size(288, 39);
            labSysTitle.MouseDown += labSysTitle_MouseDown;
            layoutControlItem1.Control = tabPane1;
            layoutControlItem1.Location = new Point(466, 91);
            layoutControlItem1.MaxSize = new Size(328, 272);
            layoutControlItem1.MinSize = new Size(328, 272);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Size = new Size(328, 272);
            layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem1.Text = "登录界面";
            layoutControlItem1.TextSize = new Size(0, 0);
            layoutControlItem1.TextVisible = false;
            //
            // emptySpaceItem1
            //
            emptySpaceItem1.AllowHotTrack = false;
            emptySpaceItem1.Location = new Point(0, 46);
            emptySpaceItem1.Name = "emptySpaceItem1";
            emptySpaceItem1.Size = new Size(466, 387);
            emptySpaceItem1.TextSize = new Size(0, 0);
            //
            // emptySpaceItem3
            //
            emptySpaceItem3.AllowHotTrack = false;
            emptySpaceItem3.Location = new Point(466, 363);
            emptySpaceItem3.Name = "emptySpaceItem3";
            emptySpaceItem3.Size = new Size(328, 70);
            emptySpaceItem3.TextSize = new Size(0, 0);
            //
            // emptySpaceItem4
            //
            emptySpaceItem4.AllowHotTrack = false;
            emptySpaceItem4.Location = new Point(794, 46);
            emptySpaceItem4.Name = "emptySpaceItem4";
            emptySpaceItem4.Size = new Size(133, 387);
            emptySpaceItem4.TextSize = new Size(0, 0);
            // 
            // itemForProgress
            // 
            itemForProgress.Control = marqueeProgressBarControl1;
            itemForProgress.Location = new Point(0, 550);
            itemForProgress.MinSize = new Size(44, 7);
            itemForProgress.Location = new Point(0, 451);
            itemForProgress.Name = "itemForProgress";
            itemForProgress.OptionsTableLayoutItem.ColumnSpan = 3;
            itemForProgress.OptionsTableLayoutItem.RowIndex = 4;
            itemForProgress.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
            itemForProgress.Size = new Size(1097, 15);
            itemForProgress.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            itemForProgress.Size = new Size(927, 18);
            itemForProgress.TextSize = new Size(0, 0);
            itemForProgress.TextVisible = false;
            itemForProgress.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
            // 
            // layoutControlItem1
            // labDev
            // 
            layoutControlItem1.Control = pictureEdit1;
            layoutControlItem1.Location = new Point(0, 59);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.OptionsTableLayoutItem.RowIndex = 1;
            layoutControlItem1.OptionsTableLayoutItem.RowSpan = 3;
            layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
            layoutControlItem1.Size = new Size(637, 491);
            layoutControlItem1.TextSize = new Size(0, 0);
            layoutControlItem1.TextVisible = false;
            labDev.AllowHotTrack = false;
            labDev.AppearanceItemCaption.ForeColor = Color.White;
            labDev.AppearanceItemCaption.Options.UseForeColor = true;
            labDev.AppearanceItemCaption.Options.UseTextOptions = true;
            labDev.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            labDev.Location = new Point(466, 433);
            labDev.Name = "labDev";
            labDev.Size = new Size(461, 18);
            labDev.Text = "杭州科维节能技术股份有限公司";
            labDev.TextSize = new Size(230, 14);
            // 
            // layoutControlItem2
            // labCorp
            // 
            layoutControlItem2.Control = tabPane1;
            layoutControlItem2.Location = new Point(637, 119);
            layoutControlItem2.Name = "layoutControlItem2";
            layoutControlItem2.OptionsTableLayoutItem.ColumnIndex = 1;
            layoutControlItem2.OptionsTableLayoutItem.RowIndex = 2;
            layoutControlItem2.Size = new Size(360, 357);
            layoutControlItem2.TextSize = new Size(0, 0);
            layoutControlItem2.TextVisible = false;
            labCorp.AllowHotTrack = false;
            labCorp.AppearanceItemCaption.ForeColor = Color.White;
            labCorp.AppearanceItemCaption.Options.UseForeColor = true;
            labCorp.Location = new Point(0, 433);
            labCorp.Name = "labCorp";
            labCorp.Size = new Size(466, 18);
            labCorp.Text = " ";
            labCorp.TextSize = new Size(230, 14);
            //
            // labTitle
            //
            labTitle.AllowHotTrack = false;
            labTitle.AppearanceItemCaption.FontSizeDelta = 8;
            labTitle.AppearanceItemCaption.FontStyleDelta = FontStyle.Bold;
            labTitle.AppearanceItemCaption.ForeColor = Color.White;
            labTitle.AppearanceItemCaption.Options.UseFont = true;
            labTitle.AppearanceItemCaption.Options.UseForeColor = true;
            labTitle.Location = new Point(0, 0);
            labTitle.MaxSize = new Size(0, 46);
            labTitle.MinSize = new Size(176, 46);
            labTitle.Name = "labTitle";
            labTitle.Size = new Size(927, 46);
            labTitle.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            labTitle.Text = "  å¾ªçŽ¯æ°´æ¨¡æ‹Ÿä»¿çœŸç³»ç»Ÿ";
            labTitle.TextSize = new Size(230, 28);
            labTitle.MouseDown += labSysTitle_MouseDown;
            //
            // labLoginTitle
            //
            labLoginTitle.AllowHotTrack = false;
            labLoginTitle.AppearanceItemCaption.FontSizeDelta = 8;
            labLoginTitle.AppearanceItemCaption.FontStyleDelta = FontStyle.Bold;
            labLoginTitle.AppearanceItemCaption.ForeColor = Color.White;
            labLoginTitle.AppearanceItemCaption.Options.UseFont = true;
            labLoginTitle.AppearanceItemCaption.Options.UseForeColor = true;
            labLoginTitle.AppearanceItemCaption.Options.UseTextOptions = true;
            labLoginTitle.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            labLoginTitle.Location = new Point(466, 46);
            labLoginTitle.MaxSize = new Size(0, 45);
            labLoginTitle.MinSize = new Size(234, 45);
            labLoginTitle.Name = "labLoginTitle";
            labLoginTitle.Size = new Size(328, 45);
            labLoginTitle.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            labLoginTitle.Text = "用 æˆ· ç™» å½•";
            labLoginTitle.TextSize = new Size(230, 28);
            // 
            // LoginFrm
            // 
            Appearance.BackColor = Color.FromArgb(76, 132, 191);
            Appearance.BackColor = SystemColors.Control;
            Appearance.Options.UseBackColor = true;
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(1097, 565);
            BackgroundImageLayoutStore = ImageLayout.Stretch;
            BackgroundImageStore = Xhs.Core.Properties.Resources.loginbg5;
            ClientSize = new Size(927, 469);
            Controls.Add(layoutControl1);
            DoubleBuffered = true;
            FormBorderStyle = FormBorderStyle.None;
@@ -290,18 +295,22 @@
            Text = "LoginBigFrm";
            ((System.ComponentModel.ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((System.ComponentModel.ISupportInitialize)marqueeProgressBarControl1.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)tabPane1).EndInit();
            tabPane1.ResumeLayout(false);
            tabPageSystem.ResumeLayout(false);
            tabPageSms.ResumeLayout(false);
            tabPageWechat.ResumeLayout(false);
            ((System.ComponentModel.ISupportInitialize)pictureEdit1.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)marqueeProgressBarControl1.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)Root).EndInit();
            ((System.ComponentModel.ISupportInitialize)labSysTitle).EndInit();
            ((System.ComponentModel.ISupportInitialize)itemForProgress).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem2).EndInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem3).EndInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem4).EndInit();
            ((System.ComponentModel.ISupportInitialize)itemForProgress).EndInit();
            ((System.ComponentModel.ISupportInitialize)labDev).EndInit();
            ((System.ComponentModel.ISupportInitialize)labCorp).EndInit();
            ((System.ComponentModel.ISupportInitialize)labTitle).EndInit();
            ((System.ComponentModel.ISupportInitialize)labLoginTitle).EndInit();
            ResumeLayout(false);
        }
@@ -309,18 +318,23 @@
        private DevExpress.XtraLayout.LayoutControl layoutControl1;
        private DevExpress.XtraLayout.LayoutControlGroup Root;
        private DevExpress.XtraLayout.SimpleLabelItem labSysTitle;
        private DevExpress.XtraEditors.MarqueeProgressBarControl marqueeProgressBarControl1;
        private DevExpress.XtraLayout.LayoutControlItem itemForProgress;
        private DevExpress.XtraEditors.PictureEdit pictureEdit1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
        private DevExpress.XtraBars.Navigation.TabPane tabPane1;
        private DevExpress.XtraBars.Navigation.TabNavigationPage tabPageSystem;
        private DevExpress.XtraBars.Navigation.TabNavigationPage tabPageSms;
        private DevExpress.XtraBars.Navigation.TabNavigationPage tabPageWechat;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem3;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem4;
        private DevExpress.XtraLayout.LayoutControlItem itemForProgress;
        private DevExpress.XtraLayout.SimpleLabelItem labDev;
        private DevExpress.XtraLayout.SimpleLabelItem labCorp;
        private DevExpress.XtraLayout.SimpleLabelItem labTitle;
        private SystemLoginCtrl systemLoginCtrl1;
        private SmsLoginCtrl smsLoginCtrl1;
        private WechatLoginCtrl wechatLoginCtrl1;
        private DevExpress.XtraLayout.SimpleLabelItem labLoginTitle;
    }
}
Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.cs
@@ -32,7 +32,7 @@
        private void labSysTitle_MouseDown(object sender, MouseEventArgs e)
        {
            //this.DragMove();
            this.DragMove();
        }
        /// <summary>
@@ -87,5 +87,7 @@
                login.Initial();
            }
        }
    }
}
Desktop/HStation.Desktop.Xhs.Core/Login/SmsLoginCtrl.Designer.cs
@@ -30,18 +30,22 @@
        {
            components = new System.ComponentModel.Container();
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            labelCancel = new DevExpress.XtraEditors.LabelControl();
            btnLogin = new DevExpress.XtraEditors.SimpleButton();
            btnCancel = new DevExpress.XtraEditors.SimpleButton();
            btnSendCode = new DevExpress.XtraEditors.SimpleButton();
            labSendCode = new DevExpress.XtraEditors.LabelControl();
            txtCode = new DevExpress.XtraEditors.TextEdit();
            txtMobileNumber = new DevExpress.XtraEditors.TextEdit();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            simpleSeparator1 = new DevExpress.XtraLayout.SimpleSeparator();
            simpleSeparator2 = new DevExpress.XtraLayout.SimpleSeparator();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem();
            dxErrorProvider1 = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(components);
            ((System.ComponentModel.ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
@@ -51,79 +55,100 @@
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem2).BeginInit();
            ((System.ComponentModel.ISupportInitialize)simpleSeparator1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)simpleSeparator2).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem3).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem4).BeginInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem2).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem3).BeginInit();
            ((System.ComponentModel.ISupportInitialize)dxErrorProvider1).BeginInit();
            SuspendLayout();
            // 
            // layoutControl1
            // 
            layoutControl1.Controls.Add(labelCancel);
            layoutControl1.Controls.Add(btnLogin);
            layoutControl1.Controls.Add(btnCancel);
            layoutControl1.Controls.Add(btnSendCode);
            layoutControl1.Controls.Add(labSendCode);
            layoutControl1.Controls.Add(txtCode);
            layoutControl1.Controls.Add(txtMobileNumber);
            layoutControl1.Dock = DockStyle.Fill;
            layoutControl1.Location = new Point(0, 0);
            layoutControl1.Name = "layoutControl1";
            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(1034, 117, 650, 400);
            layoutControl1.Root = Root;
            layoutControl1.Size = new Size(323, 173);
            layoutControl1.Size = new Size(380, 279);
            layoutControl1.TabIndex = 0;
            layoutControl1.Text = "layoutControl1";
            //
            // labelCancel
            //
            labelCancel.Appearance.ForeColor = Color.Gray;
            labelCancel.Appearance.Options.UseForeColor = true;
            labelCancel.Appearance.Options.UseTextOptions = true;
            labelCancel.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            labelCancel.AppearanceHovered.ForeColor = Color.FromArgb(192, 192, 0);
            labelCancel.AppearanceHovered.Options.UseForeColor = true;
            labelCancel.LineLocation = DevExpress.XtraEditors.LineLocation.Bottom;
            labelCancel.Location = new Point(298, 169);
            labelCancel.Name = "labelCancel";
            labelCancel.Size = new Size(70, 22);
            labelCancel.StyleController = layoutControl1;
            labelCancel.TabIndex = 11;
            labelCancel.Text = "取  æ¶ˆ";
            labelCancel.Click += btnCancel_Click;
            // 
            // btnLogin
            // 
            btnLogin.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
            btnLogin.Appearance.Options.UseBackColor = true;
            btnLogin.Location = new Point(166, 84);
            btnLogin.Location = new Point(12, 135);
            btnLogin.Name = "btnLogin";
            btnLogin.Size = new Size(142, 22);
            btnLogin.Size = new Size(356, 30);
            btnLogin.StyleController = layoutControl1;
            btnLogin.TabIndex = 8;
            btnLogin.TabIndex = 10;
            btnLogin.Text = "登录";
            btnLogin.Click += btnLogin_Click;
            // 
            // btnCancel
            // labSendCode
            // 
            btnCancel.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Warning;
            btnCancel.Appearance.Options.UseBackColor = true;
            btnCancel.Location = new Point(15, 84);
            btnCancel.Name = "btnCancel";
            btnCancel.Size = new Size(141, 22);
            btnCancel.StyleController = layoutControl1;
            btnCancel.TabIndex = 7;
            btnCancel.Text = "取消";
            btnCancel.Click += btnCancel_Click;
            //
            // btnSendCode
            //
            btnSendCode.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Success;
            btnSendCode.Appearance.Options.UseBackColor = true;
            btnSendCode.Location = new Point(166, 47);
            btnSendCode.Name = "btnSendCode";
            btnSendCode.PaintStyle = DevExpress.XtraEditors.Controls.PaintStyles.Light;
            btnSendCode.Size = new Size(142, 22);
            btnSendCode.StyleController = layoutControl1;
            btnSendCode.TabIndex = 6;
            btnSendCode.Text = "发送验证码";
            btnSendCode.Click += btnSendCode_Click;
            labSendCode.Appearance.ForeColor = Color.FromArgb(0, 122, 204);
            labSendCode.Appearance.Options.UseForeColor = true;
            labSendCode.Appearance.Options.UseTextOptions = true;
            labSendCode.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            labSendCode.AppearanceDisabled.ForeColor = Color.Gray;
            labSendCode.AppearanceDisabled.Options.UseForeColor = true;
            labSendCode.AppearanceHovered.ForeColor = Color.FromArgb(255, 128, 0);
            labSendCode.AppearanceHovered.Options.UseForeColor = true;
            labSendCode.Location = new Point(279, 71);
            labSendCode.Name = "labSendCode";
            labSendCode.Size = new Size(89, 44);
            labSendCode.StyleController = layoutControl1;
            labSendCode.TabIndex = 9;
            labSendCode.Text = "发送验证码";
            labSendCode.Click += btnSendCode_Click;
            // 
            // txtCode
            // 
            txtCode.Location = new Point(15, 47);
            txtCode.Location = new Point(10, 79);
            txtCode.Name = "txtCode";
            txtCode.Properties.Appearance.Font = new Font("Tahoma", 12F, FontStyle.Regular, GraphicsUnit.Point);
            txtCode.Properties.Appearance.Options.UseFont = true;
            txtCode.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            txtCode.Properties.NullValuePrompt = "请输入验证码";
            txtCode.Size = new Size(141, 22);
            txtCode.Size = new Size(267, 28);
            txtCode.StyleController = layoutControl1;
            txtCode.TabIndex = 5;
            // 
            // txtMobileNumber
            // 
            txtMobileNumber.Location = new Point(15, 15);
            txtMobileNumber.Location = new Point(10, 30);
            txtMobileNumber.Name = "txtMobileNumber";
            txtMobileNumber.Properties.Appearance.Font = new Font("Tahoma", 12F, FontStyle.Regular, GraphicsUnit.Point);
            txtMobileNumber.Properties.Appearance.Options.UseFont = true;
            txtMobileNumber.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            txtMobileNumber.Properties.NullValuePrompt = "手机号码";
            txtMobileNumber.Size = new Size(293, 22);
            txtMobileNumber.Size = new Size(360, 28);
            txtMobileNumber.StyleController = layoutControl1;
            txtMobileNumber.TabIndex = 4;
            // 
@@ -131,9 +156,9 @@
            // 
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, emptySpaceItem1, layoutControlItem2, layoutControlItem3, layoutControlItem4, layoutControlItem5 });
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, emptySpaceItem1, layoutControlItem2, simpleSeparator1, simpleSeparator2, layoutControlItem3, layoutControlItem4, emptySpaceItem2, layoutControlItem5, emptySpaceItem3 });
            Root.Name = "Root";
            Root.Size = new Size(323, 173);
            Root.Size = new Size(380, 279);
            Root.TextVisible = false;
            // 
            // layoutControlItem1
@@ -143,8 +168,8 @@
            layoutControlItem1.Control = txtMobileNumber;
            layoutControlItem1.Location = new Point(0, 0);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5);
            layoutControlItem1.Size = new Size(303, 32);
            layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 20, 10);
            layoutControlItem1.Size = new Size(360, 58);
            layoutControlItem1.Text = "手机号码:";
            layoutControlItem1.TextSize = new Size(0, 0);
            layoutControlItem1.TextVisible = false;
@@ -152,10 +177,10 @@
            // emptySpaceItem1
            // 
            emptySpaceItem1.AllowHotTrack = false;
            emptySpaceItem1.Location = new Point(0, 101);
            emptySpaceItem1.Location = new Point(0, 183);
            emptySpaceItem1.MinSize = new Size(1, 1);
            emptySpaceItem1.Name = "emptySpaceItem1";
            emptySpaceItem1.Size = new Size(303, 52);
            emptySpaceItem1.Size = new Size(360, 76);
            emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            emptySpaceItem1.TextSize = new Size(0, 0);
            // 
@@ -164,49 +189,82 @@
            layoutControlItem2.ContentHorzAlignment = DevExpress.Utils.HorzAlignment.Center;
            layoutControlItem2.ContentVertAlignment = DevExpress.Utils.VertAlignment.Center;
            layoutControlItem2.Control = txtCode;
            layoutControlItem2.Location = new Point(0, 32);
            layoutControlItem2.Location = new Point(0, 59);
            layoutControlItem2.Name = "layoutControlItem2";
            layoutControlItem2.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5);
            layoutControlItem2.Size = new Size(151, 32);
            layoutControlItem2.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 10, 10);
            layoutControlItem2.Size = new Size(267, 48);
            layoutControlItem2.Text = "验证码:";
            layoutControlItem2.TextSize = new Size(0, 0);
            layoutControlItem2.TextVisible = false;
            // 
            // simpleSeparator1
            //
            simpleSeparator1.AllowHotTrack = false;
            simpleSeparator1.Location = new Point(0, 107);
            simpleSeparator1.Name = "simpleSeparator1";
            simpleSeparator1.Size = new Size(360, 1);
            //
            // simpleSeparator2
            //
            simpleSeparator2.AllowHotTrack = false;
            simpleSeparator2.Location = new Point(0, 58);
            simpleSeparator2.Name = "simpleSeparator2";
            simpleSeparator2.Size = new Size(360, 1);
            //
            // layoutControlItem3
            // 
            layoutControlItem3.ContentHorzAlignment = DevExpress.Utils.HorzAlignment.Center;
            layoutControlItem3.ContentVertAlignment = DevExpress.Utils.VertAlignment.Center;
            layoutControlItem3.Control = btnSendCode;
            layoutControlItem3.Location = new Point(151, 32);
            layoutControlItem3.Control = labSendCode;
            layoutControlItem3.Location = new Point(267, 59);
            layoutControlItem3.MaxSize = new Size(93, 0);
            layoutControlItem3.MinSize = new Size(93, 18);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5);
            layoutControlItem3.Size = new Size(152, 32);
            layoutControlItem3.Size = new Size(93, 48);
            layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem3.TextSize = new Size(0, 0);
            layoutControlItem3.TextVisible = false;
            // 
            // layoutControlItem4
            // 
            layoutControlItem4.ContentHorzAlignment = DevExpress.Utils.HorzAlignment.Center;
            layoutControlItem4.ContentVertAlignment = DevExpress.Utils.VertAlignment.Center;
            layoutControlItem4.Control = btnCancel;
            layoutControlItem4.Location = new Point(0, 64);
            layoutControlItem4.Control = btnLogin;
            layoutControlItem4.Location = new Point(0, 123);
            layoutControlItem4.MaxSize = new Size(0, 34);
            layoutControlItem4.MinSize = new Size(89, 34);
            layoutControlItem4.Name = "layoutControlItem4";
            layoutControlItem4.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 10, 5);
            layoutControlItem4.Size = new Size(151, 37);
            layoutControlItem4.Size = new Size(360, 34);
            layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem4.TextSize = new Size(0, 0);
            layoutControlItem4.TextVisible = false;
            // 
            // emptySpaceItem2
            //
            emptySpaceItem2.AllowHotTrack = false;
            emptySpaceItem2.Location = new Point(0, 108);
            emptySpaceItem2.MaxSize = new Size(0, 15);
            emptySpaceItem2.MinSize = new Size(10, 15);
            emptySpaceItem2.Name = "emptySpaceItem2";
            emptySpaceItem2.Size = new Size(360, 15);
            emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            emptySpaceItem2.TextSize = new Size(0, 0);
            //
            // layoutControlItem5
            // 
            layoutControlItem5.ContentHorzAlignment = DevExpress.Utils.HorzAlignment.Center;
            layoutControlItem5.ContentVertAlignment = DevExpress.Utils.VertAlignment.Center;
            layoutControlItem5.Control = btnLogin;
            layoutControlItem5.Location = new Point(151, 64);
            layoutControlItem5.Control = labelCancel;
            layoutControlItem5.Location = new Point(286, 157);
            layoutControlItem5.MaxSize = new Size(74, 26);
            layoutControlItem5.MinSize = new Size(74, 26);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 10, 5);
            layoutControlItem5.Size = new Size(152, 37);
            layoutControlItem5.Size = new Size(74, 26);
            layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem5.TextSize = new Size(0, 0);
            layoutControlItem5.TextVisible = false;
            //
            // emptySpaceItem3
            //
            emptySpaceItem3.AllowHotTrack = false;
            emptySpaceItem3.Location = new Point(0, 157);
            emptySpaceItem3.Name = "emptySpaceItem3";
            emptySpaceItem3.Size = new Size(286, 26);
            emptySpaceItem3.TextSize = new Size(0, 0);
            // 
            // dxErrorProvider1
            // 
@@ -218,7 +276,7 @@
            AutoScaleMode = AutoScaleMode.Font;
            Controls.Add(layoutControl1);
            Name = "SmsLoginCtrl";
            Size = new Size(323, 173);
            Size = new Size(380, 279);
            ((System.ComponentModel.ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((System.ComponentModel.ISupportInitialize)txtCode.Properties).EndInit();
@@ -227,9 +285,13 @@
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem2).EndInit();
            ((System.ComponentModel.ISupportInitialize)simpleSeparator1).EndInit();
            ((System.ComponentModel.ISupportInitialize)simpleSeparator2).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem3).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem4).EndInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem2).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).EndInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem3).EndInit();
            ((System.ComponentModel.ISupportInitialize)dxErrorProvider1).EndInit();
            ResumeLayout(false);
        }
@@ -241,14 +303,18 @@
        private DevExpress.XtraLayout.LayoutControlGroup Root;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraEditors.SimpleButton btnSendCode;
        private DevExpress.XtraEditors.TextEdit txtCode;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
        private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider1;
        private DevExpress.XtraLayout.SimpleSeparator simpleSeparator1;
        private DevExpress.XtraLayout.SimpleSeparator simpleSeparator2;
        private DevExpress.XtraEditors.LabelControl labSendCode;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
        private DevExpress.XtraEditors.SimpleButton btnLogin;
        private DevExpress.XtraEditors.SimpleButton btnCancel;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
        private DevExpress.XtraEditors.LabelControl labelCancel;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider1;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem3;
    }
}
Desktop/HStation.Desktop.Xhs.Core/Login/SmsLoginCtrl.cs
@@ -63,17 +63,17 @@
                this.dxErrorProvider1.SetError(this.txtMobileNumber, "请输入正确手机号码");
                return;
            }
            this.btnSendCode.Enabled = false;
            this.labSendCode.Enabled = false;
            var bol = await BLLFactory<Yw.BLL.ToolSms>.Instance.SendCode(_template, mobile, _software);
            if (bol)
            {
                await Task.Delay(300);
                this.btnSendCode.Enabled = true;
                this.labSendCode.Enabled = true;
            }
            else
            {
                this.dxErrorProvider1.SetError(this.txtMobileNumber, "发送失败");
                this.btnSendCode.Enabled = true;
                this.labSendCode.Enabled = true;
            }
        }
Desktop/HStation.Desktop.Xhs.Core/Login/SystemLoginCtrl.Designer.cs
@@ -31,46 +31,52 @@
            components = new System.ComponentModel.Container();
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            btnLogin = new DevExpress.XtraEditors.SimpleButton();
            btnCancel = new DevExpress.XtraEditors.SimpleButton();
            labCancel = new DevExpress.XtraEditors.LabelControl();
            ckRemember = new DevExpress.XtraEditors.CheckEdit();
            txtLoginPwd = new DevExpress.XtraEditors.TextEdit();
            txtLoginName = new DevExpress.XtraEditors.TextEdit();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            dxErrorProvider1 = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(components);
            ckRemember = new DevExpress.XtraEditors.CheckEdit();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            simpleSeparator1 = new DevExpress.XtraLayout.SimpleSeparator();
            simpleSeparator2 = new DevExpress.XtraLayout.SimpleSeparator();
            dxErrorProvider1 = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(components);
            ((System.ComponentModel.ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)ckRemember.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)txtLoginPwd.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)txtLoginName.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)Root).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem2).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem4).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)dxErrorProvider1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)ckRemember.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem3).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem4).BeginInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem2).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)simpleSeparator1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)simpleSeparator2).BeginInit();
            ((System.ComponentModel.ISupportInitialize)dxErrorProvider1).BeginInit();
            SuspendLayout();
            // 
            // layoutControl1
            // 
            layoutControl1.Controls.Add(ckRemember);
            layoutControl1.Controls.Add(btnLogin);
            layoutControl1.Controls.Add(btnCancel);
            layoutControl1.Controls.Add(labCancel);
            layoutControl1.Controls.Add(ckRemember);
            layoutControl1.Controls.Add(txtLoginPwd);
            layoutControl1.Controls.Add(txtLoginName);
            layoutControl1.Dock = DockStyle.Fill;
            layoutControl1.Location = new Point(0, 0);
            layoutControl1.Name = "layoutControl1";
            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(578, 0, 650, 400);
            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(723, 130, 650, 400);
            layoutControl1.Root = Root;
            layoutControl1.Size = new Size(323, 173);
            layoutControl1.Size = new Size(360, 313);
            layoutControl1.TabIndex = 0;
            layoutControl1.Text = "layoutControl1";
            // 
@@ -78,43 +84,65 @@
            // 
            btnLogin.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
            btnLogin.Appearance.Options.UseBackColor = true;
            btnLogin.Location = new Point(166, 114);
            btnLogin.Location = new Point(12, 151);
            btnLogin.Name = "btnLogin";
            btnLogin.Size = new Size(142, 22);
            btnLogin.Size = new Size(336, 30);
            btnLogin.StyleController = layoutControl1;
            btnLogin.TabIndex = 5;
            btnLogin.TabIndex = 7;
            btnLogin.Text = "登录";
            btnLogin.Click += btnLogin_Click;
            // 
            // btnCancel
            // labCancel
            // 
            btnCancel.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Warning;
            btnCancel.Appearance.Options.UseBackColor = true;
            btnCancel.Location = new Point(15, 114);
            btnCancel.Name = "btnCancel";
            btnCancel.Size = new Size(141, 22);
            btnCancel.StyleController = layoutControl1;
            btnCancel.TabIndex = 4;
            btnCancel.Text = "取消";
            btnCancel.Click += btnCancel_Click;
            labCancel.Appearance.ForeColor = Color.Gray;
            labCancel.Appearance.Options.UseForeColor = true;
            labCancel.Appearance.Options.UseTextOptions = true;
            labCancel.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            labCancel.AppearanceHovered.ForeColor = Color.FromArgb(255, 128, 0);
            labCancel.AppearanceHovered.Options.UseForeColor = true;
            labCancel.Location = new Point(282, 185);
            labCancel.Name = "labCancel";
            labCancel.Size = new Size(66, 22);
            labCancel.StyleController = layoutControl1;
            labCancel.TabIndex = 6;
            labCancel.Text = "取  æ¶ˆ";
            labCancel.Click += btnCancel_Click;
            //
            // ckRemember
            //
            ckRemember.Location = new Point(15, 124);
            ckRemember.Name = "ckRemember";
            ckRemember.Properties.Appearance.ForeColor = Color.Gray;
            ckRemember.Properties.Appearance.Options.UseForeColor = true;
            ckRemember.Properties.AutoWidth = true;
            ckRemember.Properties.Caption = "记住密码";
            ckRemember.Size = new Size(72, 20);
            ckRemember.StyleController = layoutControl1;
            ckRemember.TabIndex = 3;
            // 
            // txtLoginPwd
            // 
            txtLoginPwd.Location = new Point(15, 47);
            txtLoginPwd.Location = new Point(10, 84);
            txtLoginPwd.Name = "txtLoginPwd";
            txtLoginPwd.Properties.NullValuePrompt = "请输入验证码";
            txtLoginPwd.Properties.Appearance.Font = new Font("Tahoma", 12F, FontStyle.Regular, GraphicsUnit.Point);
            txtLoginPwd.Properties.Appearance.Options.UseFont = true;
            txtLoginPwd.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            txtLoginPwd.Properties.NullValuePrompt = "请输入登录密码";
            txtLoginPwd.Properties.PasswordChar = '*';
            txtLoginPwd.Size = new Size(293, 22);
            txtLoginPwd.Size = new Size(340, 28);
            txtLoginPwd.StyleController = layoutControl1;
            txtLoginPwd.TabIndex = 2;
            txtLoginPwd.KeyPress += txtLoginPwd_KeyPress;
            // 
            // txtLoginName
            // 
            txtLoginName.Location = new Point(15, 15);
            txtLoginName.Location = new Point(10, 30);
            txtLoginName.Name = "txtLoginName";
            txtLoginName.Properties.NullValuePrompt = "手机号码";
            txtLoginName.Size = new Size(293, 22);
            txtLoginName.Properties.Appearance.Font = new Font("Tahoma", 12F, FontStyle.Regular, GraphicsUnit.Point);
            txtLoginName.Properties.Appearance.Options.UseFont = true;
            txtLoginName.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            txtLoginName.Properties.NullValuePrompt = "请输入用户名称";
            txtLoginName.Size = new Size(340, 28);
            txtLoginName.StyleController = layoutControl1;
            txtLoginName.TabIndex = 0;
            txtLoginName.KeyPress += txtLoginName_KeyPress;
@@ -123,9 +151,9 @@
            // 
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, emptySpaceItem1, layoutControlItem4, layoutControlItem5, layoutControlItem2, layoutControlItem3 });
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, emptySpaceItem1, layoutControlItem2, layoutControlItem3, layoutControlItem4, emptySpaceItem2, layoutControlItem5, simpleSeparator1, simpleSeparator2 });
            Root.Name = "Root";
            Root.Size = new Size(323, 173);
            Root.Size = new Size(360, 313);
            Root.TextVisible = false;
            // 
            // layoutControlItem1
@@ -135,8 +163,8 @@
            layoutControlItem1.Control = txtLoginName;
            layoutControlItem1.Location = new Point(0, 0);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5);
            layoutControlItem1.Size = new Size(303, 32);
            layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 20, 10);
            layoutControlItem1.Size = new Size(340, 58);
            layoutControlItem1.Text = "手机号码:";
            layoutControlItem1.TextSize = new Size(0, 0);
            layoutControlItem1.TextVisible = false;
@@ -144,10 +172,10 @@
            // emptySpaceItem1
            // 
            emptySpaceItem1.AllowHotTrack = false;
            emptySpaceItem1.Location = new Point(0, 131);
            emptySpaceItem1.Location = new Point(0, 199);
            emptySpaceItem1.MinSize = new Size(1, 1);
            emptySpaceItem1.Name = "emptySpaceItem1";
            emptySpaceItem1.Size = new Size(303, 22);
            emptySpaceItem1.Size = new Size(340, 94);
            emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            emptySpaceItem1.TextSize = new Size(0, 0);
            // 
@@ -156,61 +184,78 @@
            layoutControlItem2.ContentHorzAlignment = DevExpress.Utils.HorzAlignment.Center;
            layoutControlItem2.ContentVertAlignment = DevExpress.Utils.VertAlignment.Center;
            layoutControlItem2.Control = txtLoginPwd;
            layoutControlItem2.Location = new Point(0, 32);
            layoutControlItem2.Location = new Point(0, 59);
            layoutControlItem2.MinSize = new Size(60, 32);
            layoutControlItem2.Name = "layoutControlItem2";
            layoutControlItem2.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5);
            layoutControlItem2.Size = new Size(303, 32);
            layoutControlItem2.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 10, 5);
            layoutControlItem2.Size = new Size(340, 49);
            layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem2.Text = "验证码:";
            layoutControlItem2.TextSize = new Size(0, 0);
            layoutControlItem2.TextVisible = false;
            // 
            // layoutControlItem3
            //
            layoutControlItem3.Control = ckRemember;
            layoutControlItem3.Location = new Point(0, 109);
            layoutControlItem3.MaxSize = new Size(0, 30);
            layoutControlItem3.MinSize = new Size(82, 30);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5);
            layoutControlItem3.Size = new Size(340, 30);
            layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem3.TextSize = new Size(0, 0);
            layoutControlItem3.TextVisible = false;
            //
            // layoutControlItem4
            // 
            layoutControlItem4.ContentHorzAlignment = DevExpress.Utils.HorzAlignment.Center;
            layoutControlItem4.ContentVertAlignment = DevExpress.Utils.VertAlignment.Center;
            layoutControlItem4.Control = btnCancel;
            layoutControlItem4.Location = new Point(0, 94);
            layoutControlItem4.Control = labCancel;
            layoutControlItem4.Location = new Point(270, 173);
            layoutControlItem4.MaxSize = new Size(70, 26);
            layoutControlItem4.MinSize = new Size(70, 26);
            layoutControlItem4.Name = "layoutControlItem4";
            layoutControlItem4.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 10, 5);
            layoutControlItem4.Size = new Size(151, 37);
            layoutControlItem4.Size = new Size(70, 26);
            layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem4.TextSize = new Size(0, 0);
            layoutControlItem4.TextVisible = false;
            // 
            // emptySpaceItem2
            //
            emptySpaceItem2.AllowHotTrack = false;
            emptySpaceItem2.Location = new Point(0, 173);
            emptySpaceItem2.Name = "emptySpaceItem2";
            emptySpaceItem2.Size = new Size(270, 26);
            emptySpaceItem2.TextSize = new Size(0, 0);
            //
            // layoutControlItem5
            // 
            layoutControlItem5.ContentHorzAlignment = DevExpress.Utils.HorzAlignment.Center;
            layoutControlItem5.ContentVertAlignment = DevExpress.Utils.VertAlignment.Center;
            layoutControlItem5.Control = btnLogin;
            layoutControlItem5.Location = new Point(151, 94);
            layoutControlItem5.Location = new Point(0, 139);
            layoutControlItem5.MaxSize = new Size(0, 34);
            layoutControlItem5.MinSize = new Size(89, 34);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 10, 5);
            layoutControlItem5.Size = new Size(152, 37);
            layoutControlItem5.Size = new Size(340, 34);
            layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem5.TextSize = new Size(0, 0);
            layoutControlItem5.TextVisible = false;
            //
            // simpleSeparator1
            //
            simpleSeparator1.AllowHotTrack = false;
            simpleSeparator1.Location = new Point(0, 108);
            simpleSeparator1.Name = "simpleSeparator1";
            simpleSeparator1.Size = new Size(340, 1);
            //
            // simpleSeparator2
            //
            simpleSeparator2.AllowHotTrack = false;
            simpleSeparator2.Location = new Point(0, 58);
            simpleSeparator2.Name = "simpleSeparator2";
            simpleSeparator2.Size = new Size(340, 1);
            // 
            // dxErrorProvider1
            // 
            dxErrorProvider1.ContainerControl = this;
            //
            // ckRemember
            //
            ckRemember.Location = new Point(15, 79);
            ckRemember.Name = "ckRemember";
            ckRemember.Properties.AutoWidth = true;
            ckRemember.Properties.Caption = "记住密码";
            ckRemember.Size = new Size(72, 20);
            ckRemember.StyleController = layoutControl1;
            ckRemember.TabIndex = 3;
            //
            // layoutControlItem3
            //
            layoutControlItem3.Control = ckRemember;
            layoutControlItem3.Location = new Point(0, 64);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5);
            layoutControlItem3.Size = new Size(303, 30);
            layoutControlItem3.TextSize = new Size(0, 0);
            layoutControlItem3.TextVisible = false;
            // 
            // SystemLoginCtrl
            // 
@@ -218,20 +263,23 @@
            AutoScaleMode = AutoScaleMode.Font;
            Controls.Add(layoutControl1);
            Name = "SystemLoginCtrl";
            Size = new Size(323, 173);
            Size = new Size(360, 313);
            ((System.ComponentModel.ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((System.ComponentModel.ISupportInitialize)ckRemember.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)txtLoginPwd.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)txtLoginName.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)Root).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem2).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem4).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).EndInit();
            ((System.ComponentModel.ISupportInitialize)dxErrorProvider1).EndInit();
            ((System.ComponentModel.ISupportInitialize)ckRemember.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem3).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem4).EndInit();
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem2).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).EndInit();
            ((System.ComponentModel.ISupportInitialize)simpleSeparator1).EndInit();
            ((System.ComponentModel.ISupportInitialize)simpleSeparator2).EndInit();
            ((System.ComponentModel.ISupportInitialize)dxErrorProvider1).EndInit();
            ResumeLayout(false);
        }
@@ -244,12 +292,15 @@
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraEditors.TextEdit txtLoginPwd;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
        private DevExpress.XtraEditors.SimpleButton btnLogin;
        private DevExpress.XtraEditors.SimpleButton btnCancel;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider1;
        private DevExpress.XtraEditors.CheckEdit ckRemember;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
        private DevExpress.XtraEditors.LabelControl labCancel;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
        private DevExpress.XtraEditors.SimpleButton btnLogin;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraLayout.SimpleSeparator simpleSeparator1;
        private DevExpress.XtraLayout.SimpleSeparator simpleSeparator2;
    }
}
Desktop/HStation.Desktop.Xhs.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,7 +4,7 @@
-->
<Project>
  <PropertyGroup>
    <History>True|2024-10-21T04:02:00.7754536Z;False|2024-10-21T11:51:29.4414327+08:00;False|2024-10-21T11:50:51.8640100+08:00;False|2024-10-21T11:49:14.9169777+08:00;</History>
    <History>True|2025-01-13T03:03:21.1732352Z;True|2024-10-21T12:02:00.7754536+08:00;False|2024-10-21T11:51:29.4414327+08:00;False|2024-10-21T11:50:51.8640100+08:00;False|2024-10-21T11:49:14.9169777+08:00;</History>
    <LastFailureDetails />
  </PropertyGroup>
</Project>
Desktop/HStation.Desktop.Xhs.Core/Properties/Resources.Designer.cs
@@ -79,5 +79,55 @@
                return ((System.Drawing.Bitmap)(obj));
            }
        }
        /// <summary>
        ///   æŸ¥æ‰¾ System.Drawing.Bitmap ç±»åž‹çš„æœ¬åœ°åŒ–资源。
        /// </summary>
        internal static System.Drawing.Bitmap loginbg1 {
            get {
                object obj = ResourceManager.GetObject("loginbg1", resourceCulture);
                return ((System.Drawing.Bitmap)(obj));
            }
        }
        /// <summary>
        ///   æŸ¥æ‰¾ System.Drawing.Bitmap ç±»åž‹çš„æœ¬åœ°åŒ–资源。
        /// </summary>
        internal static System.Drawing.Bitmap loginbg2 {
            get {
                object obj = ResourceManager.GetObject("loginbg2", resourceCulture);
                return ((System.Drawing.Bitmap)(obj));
            }
        }
        /// <summary>
        ///   æŸ¥æ‰¾ System.Drawing.Bitmap ç±»åž‹çš„æœ¬åœ°åŒ–资源。
        /// </summary>
        internal static System.Drawing.Bitmap loginbg3 {
            get {
                object obj = ResourceManager.GetObject("loginbg3", resourceCulture);
                return ((System.Drawing.Bitmap)(obj));
            }
        }
        /// <summary>
        ///   æŸ¥æ‰¾ System.Drawing.Bitmap ç±»åž‹çš„æœ¬åœ°åŒ–资源。
        /// </summary>
        internal static System.Drawing.Bitmap loginbg4 {
            get {
                object obj = ResourceManager.GetObject("loginbg4", resourceCulture);
                return ((System.Drawing.Bitmap)(obj));
            }
        }
        /// <summary>
        ///   æŸ¥æ‰¾ System.Drawing.Bitmap ç±»åž‹çš„æœ¬åœ°åŒ–资源。
        /// </summary>
        internal static System.Drawing.Bitmap loginbg5 {
            get {
                object obj = ResourceManager.GetObject("loginbg5", resourceCulture);
                return ((System.Drawing.Bitmap)(obj));
            }
        }
    }
}
Desktop/HStation.Desktop.Xhs.Core/Properties/Resources.resx
@@ -124,4 +124,19 @@
  <data name="loginbg" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\loginbg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="loginbg1" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\loginbg1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="loginbg2" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\loginbg2.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="loginbg3" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\loginbg3.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="loginbg4" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\loginbg4.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="loginbg5" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\loginbg5.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
</root>
Desktop/HStation.Desktop.Xhs.Core/Resources/loginbg1.png
Desktop/HStation.Desktop.Xhs.Core/Resources/loginbg2.jpg
Desktop/HStation.Desktop.Xhs.Core/Resources/loginbg3.jpg
Desktop/HStation.Desktop.Xhs.Core/Resources/loginbg4.jpg
Desktop/HStation.Desktop.Xhs.Core/Resources/loginbg5.jpg
Entry/HStation.Entry.Xhs.Core/HStation.Entry.Xhs.Core.csproj
@@ -17,11 +17,13 @@
    </ProjectExtensions>
    <ItemGroup>
      <PackageReference Include="Yw.Application.Basic.Core" Version="3.2.6" />
      <PackageReference Include="Yw.Application.Basic.Core" Version="3.3.0" />
    </ItemGroup>
    <ItemGroup>
        <ProjectReference Include="..\..\Application\HStation.Application.Assets.Core\HStation.Application.Assets.Core.csproj" />
        <ProjectReference Include="..\..\Application\HStation.Application.Core\HStation.Application.Core.csproj" />
        <ProjectReference Include="..\..\Application\HStation.Application.PhartRelation.Core\HStation.Application.PhartRelation.Core.csproj" />
        <ProjectReference Include="..\..\Application\HStation.Application.Xhs.Core\HStation.Application.Xhs.Core.csproj" />
        <ProjectReference Include="..\..\WebApi\HStation.WebApi.Xhs.Core\HStation.WebApi.Xhs.Core.csproj" />
    </ItemGroup>
Entry/HStation.Entry.Xhs.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,7 +5,7 @@
<Project>
  <PropertyGroup>
    <_PublishTargetUrl>D:\WorkData\git\HStation\XHS\Entry\HStation.Entry.Xhs.Core\bin\Release\net6.0\publish\</_PublishTargetUrl>
    <History>True|2025-01-08T01:44:09.5132234Z;True|2024-09-03T11:22:43.3813050+08:00;True|2024-09-03T11:06:18.0799295+08:00;True|2024-09-03T10:52:25.3198740+08:00;True|2024-09-02T09:16:17.5197059+08:00;False|2024-09-02T09:08:02.4504522+08:00;True|2024-06-20T12:16:07.3854116+08:00;True|2024-06-18T09:13:21.8960491+08:00;True|2024-06-12T18:55:43.2697624+08:00;True|2024-06-12T18:54:42.2191664+08:00;True|2024-06-12T18:37:39.2735086+08:00;True|2024-06-12T18:32:59.2340941+08:00;True|2024-06-12T18:18:57.9018714+08:00;True|2024-06-12T18:13:13.4471521+08:00;True|2024-06-12T18:11:38.4803257+08:00;True|2024-06-12T18:10:00.3753638+08:00;True|2024-06-12T18:03:08.9521607+08:00;True|2024-06-12T17:59:46.2755740+08:00;True|2024-06-12T17:58:01.8017051+08:00;True|2024-06-12T17:56:20.6946001+08:00;True|2024-06-12T17:32:53.8291604+08:00;True|2024-06-12T17:32:38.6492118+08:00;False|2024-06-12T17:32:17.0260105+08:00;True|2024-06-12T17:08:59.9367775+08:00;True|2024-06-12T16:32:42.3320305+08:00;True|2024-06-07T13:34:17.3014803+08:00;True|2024-06-07T13:20:33.5124438+08:00;True|2024-06-07T10:24:47.0351087+08:00;True|2024-06-05T17:04:55.4017239+08:00;True|2024-06-05T16:05:35.1432805+08:00;True|2024-06-05T15:18:06.1797165+08:00;True|2024-06-05T13:53:59.9366676+08:00;True|2024-06-05T13:43:45.7009774+08:00;True|2024-06-05T13:38:18.1415782+08:00;True|2024-06-05T12:14:05.4745826+08:00;True|2024-06-05T12:10:02.8443283+08:00;True|2024-06-02T18:41:28.5233205+08:00;True|2024-06-02T18:21:27.5679625+08:00;True|2024-06-02T17:34:02.6234679+08:00;True|2024-06-02T16:58:23.9422671+08:00;True|2024-06-02T16:16:43.6949096+08:00;True|2024-06-02T14:44:06.8963915+08:00;True|2024-06-02T11:10:51.5587482+08:00;True|2024-06-01T11:30:39.5033584+08:00;True|2024-05-30T16:29:38.0730664+08:00;True|2024-05-30T15:16:14.5429969+08:00;True|2024-05-29T17:31:27.5349115+08:00;True|2024-05-29T16:49:44.3085849+08:00;True|2024-05-29T10:46:15.3071701+08:00;True|2024-05-28T16:21:22.2987178+08:00;True|2024-05-28T11:55:02.0680294+08:00;True|2024-05-24T09:27:50.0479340+08:00;True|2024-05-23T14:16:32.3824342+08:00;True|2024-05-23T10:51:43.4383910+08:00;True|2024-05-22T11:19:10.1709647+08:00;True|2024-05-22T11:12:47.8835237+08:00;True|2024-05-22T10:43:34.7720709+08:00;True|2024-05-21T17:25:46.9831973+08:00;True|2024-05-21T12:11:55.2774332+08:00;True|2024-05-13T10:32:18.9951394+08:00;True|2024-05-09T09:53:09.1673089+08:00;True|2024-05-08T17:18:58.3017566+08:00;True|2024-05-08T11:15:08.3734126+08:00;True|2024-05-07T10:59:04.2016283+08:00;True|2024-05-07T10:58:56.6254107+08:00;True|2024-05-07T10:56:03.7274034+08:00;True|2024-05-07T10:55:53.5496684+08:00;True|2024-05-07T10:55:41.1246352+08:00;True|2024-05-07T09:57:18.3908307+08:00;True|2024-05-06T18:17:15.0427456+08:00;True|2024-05-06T17:38:00.0855585+08:00;True|2024-05-06T14:04:15.4665470+08:00;True|2024-05-06T09:38:06.9447096+08:00;False|2024-05-06T09:37:21.4257032+08:00;True|2024-04-30T10:27:11.6268274+08:00;True|2024-04-29T17:32:47.8657162+08:00;True|2024-04-29T17:26:03.4222331+08:00;True|2024-04-29T15:01:02.7501034+08:00;True|2024-04-29T14:40:23.2902896+08:00;True|2024-04-29T14:15:48.2534191+08:00;True|2024-04-29T13:50:31.8486861+08:00;True|2024-04-29T13:50:13.0369014+08:00;True|2024-04-29T11:57:41.6418088+08:00;True|2024-04-28T16:09:30.7968764+08:00;True|2024-04-28T09:35:40.6700676+08:00;True|2024-04-28T09:35:15.2841524+08:00;True|2024-04-26T15:21:07.2254684+08:00;True|2024-04-26T14:32:01.8070422+08:00;True|2024-04-25T10:44:33.7676650+08:00;True|2024-04-17T13:45:22.6768684+08:00;True|2024-04-16T17:47:19.0227884+08:00;True|2024-04-16T09:57:22.1921072+08:00;True|2024-04-15T11:05:36.4066643+08:00;True|2024-04-11T17:34:38.8235829+08:00;True|2024-04-11T16:35:57.9302909+08:00;True|2024-04-10T18:02:19.9441944+08:00;True|2024-04-10T17:21:38.1350878+08:00;True|2024-04-10T16:35:04.6259912+08:00;True|2024-04-10T15:56:11.9687705+08:00;True|2024-04-10T15:53:05.4535113+08:00;</History>
    <History>True|2025-01-13T03:53:47.1828627Z;True|2025-01-13T11:38:53.6150404+08:00;True|2025-01-13T11:37:14.9075336+08:00;True|2025-01-13T11:35:23.3939940+08:00;True|2025-01-13T11:33:41.6199459+08:00;True|2025-01-13T11:32:15.2734783+08:00;True|2025-01-13T11:30:39.9296756+08:00;True|2025-01-13T11:25:02.3605923+08:00;True|2025-01-13T11:21:03.0110309+08:00;True|2025-01-13T11:17:46.3662069+08:00;True|2025-01-08T09:44:09.5132234+08:00;True|2024-09-03T11:22:43.3813050+08:00;True|2024-09-03T11:06:18.0799295+08:00;True|2024-09-03T10:52:25.3198740+08:00;True|2024-09-02T09:16:17.5197059+08:00;False|2024-09-02T09:08:02.4504522+08:00;True|2024-06-20T12:16:07.3854116+08:00;True|2024-06-18T09:13:21.8960491+08:00;True|2024-06-12T18:55:43.2697624+08:00;True|2024-06-12T18:54:42.2191664+08:00;True|2024-06-12T18:37:39.2735086+08:00;True|2024-06-12T18:32:59.2340941+08:00;True|2024-06-12T18:18:57.9018714+08:00;True|2024-06-12T18:13:13.4471521+08:00;True|2024-06-12T18:11:38.4803257+08:00;True|2024-06-12T18:10:00.3753638+08:00;True|2024-06-12T18:03:08.9521607+08:00;True|2024-06-12T17:59:46.2755740+08:00;True|2024-06-12T17:58:01.8017051+08:00;True|2024-06-12T17:56:20.6946001+08:00;True|2024-06-12T17:32:53.8291604+08:00;True|2024-06-12T17:32:38.6492118+08:00;False|2024-06-12T17:32:17.0260105+08:00;True|2024-06-12T17:08:59.9367775+08:00;True|2024-06-12T16:32:42.3320305+08:00;True|2024-06-07T13:34:17.3014803+08:00;True|2024-06-07T13:20:33.5124438+08:00;True|2024-06-07T10:24:47.0351087+08:00;True|2024-06-05T17:04:55.4017239+08:00;True|2024-06-05T16:05:35.1432805+08:00;True|2024-06-05T15:18:06.1797165+08:00;True|2024-06-05T13:53:59.9366676+08:00;True|2024-06-05T13:43:45.7009774+08:00;True|2024-06-05T13:38:18.1415782+08:00;True|2024-06-05T12:14:05.4745826+08:00;True|2024-06-05T12:10:02.8443283+08:00;True|2024-06-02T18:41:28.5233205+08:00;True|2024-06-02T18:21:27.5679625+08:00;True|2024-06-02T17:34:02.6234679+08:00;True|2024-06-02T16:58:23.9422671+08:00;True|2024-06-02T16:16:43.6949096+08:00;True|2024-06-02T14:44:06.8963915+08:00;True|2024-06-02T11:10:51.5587482+08:00;True|2024-06-01T11:30:39.5033584+08:00;True|2024-05-30T16:29:38.0730664+08:00;True|2024-05-30T15:16:14.5429969+08:00;True|2024-05-29T17:31:27.5349115+08:00;True|2024-05-29T16:49:44.3085849+08:00;True|2024-05-29T10:46:15.3071701+08:00;True|2024-05-28T16:21:22.2987178+08:00;True|2024-05-28T11:55:02.0680294+08:00;True|2024-05-24T09:27:50.0479340+08:00;True|2024-05-23T14:16:32.3824342+08:00;True|2024-05-23T10:51:43.4383910+08:00;True|2024-05-22T11:19:10.1709647+08:00;True|2024-05-22T11:12:47.8835237+08:00;True|2024-05-22T10:43:34.7720709+08:00;True|2024-05-21T17:25:46.9831973+08:00;True|2024-05-21T12:11:55.2774332+08:00;True|2024-05-13T10:32:18.9951394+08:00;True|2024-05-09T09:53:09.1673089+08:00;True|2024-05-08T17:18:58.3017566+08:00;True|2024-05-08T11:15:08.3734126+08:00;True|2024-05-07T10:59:04.2016283+08:00;True|2024-05-07T10:58:56.6254107+08:00;True|2024-05-07T10:56:03.7274034+08:00;True|2024-05-07T10:55:53.5496684+08:00;True|2024-05-07T10:55:41.1246352+08:00;True|2024-05-07T09:57:18.3908307+08:00;True|2024-05-06T18:17:15.0427456+08:00;True|2024-05-06T17:38:00.0855585+08:00;True|2024-05-06T14:04:15.4665470+08:00;True|2024-05-06T09:38:06.9447096+08:00;False|2024-05-06T09:37:21.4257032+08:00;True|2024-04-30T10:27:11.6268274+08:00;True|2024-04-29T17:32:47.8657162+08:00;True|2024-04-29T17:26:03.4222331+08:00;True|2024-04-29T15:01:02.7501034+08:00;True|2024-04-29T14:40:23.2902896+08:00;True|2024-04-29T14:15:48.2534191+08:00;True|2024-04-29T13:50:31.8486861+08:00;True|2024-04-29T13:50:13.0369014+08:00;True|2024-04-29T11:57:41.6418088+08:00;True|2024-04-28T16:09:30.7968764+08:00;True|2024-04-28T09:35:40.6700676+08:00;True|2024-04-28T09:35:15.2841524+08:00;True|2024-04-26T15:21:07.2254684+08:00;True|2024-04-26T14:32:01.8070422+08:00;True|2024-04-25T10:44:33.7676650+08:00;True|2024-04-17T13:45:22.6768684+08:00;</History>
    <LastFailureDetails />
  </PropertyGroup>
</Project>
Hydro/Yw.EPAnet.Calcu.Core/03-calcu/NetworkPathAnalyseExtensions.cs
@@ -178,12 +178,16 @@
        /// <param name="network"></param>
        /// <param name="startJunc"></param>
        /// <returns></returns>
        public static List<Link> AnalyzeUpstreamPath(this Network network, Junction startJunc, CalcuResult calcuResult)
        public static List<Link> AnalyzeUpstreamPath(this Network network, Node startJunc, CalcuResult calcuResult)
        {
            var dictLinks = calcuResult.LinkList.ToDictionary(p => p.Id);
            var dictNodes = calcuResult.NodeList.ToDictionary(p => p.Id);
            var visitedNodes = new HashSet<Node>();
            var maxlink = startJunc.GetPrevLinks(calcuResult.LinkList).OrderByDescending(o => Math.Abs(dictLinks[o.Id].Flow)).ToList()[0];
            visitedNodes.Add(startJunc);
            var prevLinks = startJunc.GetPrevLinks(calcuResult.LinkList);
            if (prevLinks == null || prevLinks.Count <= 0) return prevLinks;
            var maxlink = prevLinks.OrderByDescending(o => Math.Abs(dictLinks[o.Id].Flow)).ToList()[0];
            return network.TraversePipeNetworkALL(maxlink, visitedNodes, -1, true, calcuResult);
        }
        /// <summary>
@@ -249,6 +253,10 @@
                }
            }
            if (direction <0)
            {
                _links主要路径.Reverse();
            }
            return _links主要路径;
WebApi/HStation.WebApi.Xhs.Core/HStation.WebApi.Xhs.Core.csproj
@@ -23,11 +23,10 @@
  <ItemGroup>
    <PackageReference Include="Yw.Knife4jUI.Core" Version="3.0.0" />
    <PackageReference Include="Yw.Service.Auth.Core" Version="3.0.2" />
    <PackageReference Include="Yw.Service.Auth.Core" Version="3.2.8" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\..\Application\HStation.Application.PhartRelation.Core\HStation.Application.PhartRelation.Core.csproj" />
    <ProjectReference Include="..\..\Application\HStation.Application.Xhs.Core\HStation.Application.Xhs.Core.csproj" />
  </ItemGroup>
WebApi/HStation.WebApi.Xhs.Core/Startup.cs
@@ -11,6 +11,7 @@
using Microsoft.Extensions.Hosting;
using SqlSugar;
using System.Text.Json.Serialization;
using Yw;
using Yw.Application;
namespace HStation.WebApi
@@ -26,26 +27,30 @@
        /// </summary>
        public void ConfigureServices(IServiceCollection services)
        {
            LogHelper.Debug("1");
            services.AddConfigurableOptions<Yw.JWT.JWTSettingsOptions>();
            LogHelper.Debug("2");
            services.Configure<KestrelServerOptions>(options =>
            {
                options.Limits.MaxRequestBodySize = int.MaxValue;
                options.Limits.MaxRequestBufferSize = int.MaxValue;
                options.Limits.MaxResponseBufferSize = int.MaxValue;
            });
            LogHelper.Debug("3");
            services.Configure<IISServerOptions>(options =>
            {
                options.MaxRequestBodySize = int.MaxValue;
                options.MaxRequestBodyBufferSize = int.MaxValue;
            });
            // services.AddJwt<JwtHandler>(enableGlobalAuthorize: true);
            LogHelper.Debug("4");
            services.AddJwt<JwtHandler>(enableGlobalAuthorize: true);
            LogHelper.Debug("5");
            //// æ‹¦æˆªå™¨
            services.AddMvcFilter<AuthorizationFilter>();
            services.AddMvcFilter<ActionFilter>();
            services.AddMvcFilter<ResultFilter>();
            LogHelper.Debug("6");
            //需在 services.AddControllers() ä¹‹å‰æ³¨å†Œ
            services.AddCorsAccessor();
@@ -80,7 +85,9 @@
            });
            // æ·»åŠ å³æ—¶é€šè®¯
            services.AddSignalR();
            LogHelper.Debug("7");
            SnowFlakeSingle.WorkId = Yw.Settings.SqlSugarParasHelper.SqlSugar.SnowFlakeWorkId;
            LogHelper.Debug("测试service");
        }
        /// <summary>
@@ -88,6 +95,7 @@
        /// </summary>
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            LogHelper.Debug("0");
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
WinFrmUI/Yw.WinFrmUI.Hydro.Core/18-loss/01-curve/HydroSingleWorkingLossCurveCtrl.cs
@@ -43,7 +43,9 @@
            {
                return;
            }
            var allPathList = network.AnalyzeDownstreamPath(node, calcuResult.EPAnetCalcuResult);
            var allPathList1 = network.AnalyzeUpstreamPath(node, calcuResult.EPAnetCalcuResult);
            var allPathList2 = network.AnalyzeDownstreamPath(node, calcuResult.EPAnetCalcuResult);
            var allPathList= allPathList1.Concat(allPathList2).ToList();
            var allEpaLossList = network.GetChartNodeByPathLinks(allPathList, calcuResult.EPAnetCalcuResult);
            var allNodeLossList = new List<HydroNodeLossViewModel>();
            allEpaLossList?.ForEach(x =>