From ef1fc8b0eeea6972964d8c62dfef7819bea49d1a Mon Sep 17 00:00:00 2001
From: qin <a@163.com>
Date: 星期五, 14 三月 2025 11:01:34 +0800
Subject: [PATCH] 提交文件

---
 Desktop/HStation.Desktop.Xhs.Core/Program.cs |   91 ++++++++++++++++++++++++++++++++++++---------
 1 files changed, 73 insertions(+), 18 deletions(-)

diff --git a/Desktop/HStation.Desktop.Xhs.Core/Program.cs b/Desktop/HStation.Desktop.Xhs.Core/Program.cs
index 7c75e0d..c4b8535 100644
--- a/Desktop/HStation.Desktop.Xhs.Core/Program.cs
+++ b/Desktop/HStation.Desktop.Xhs.Core/Program.cs
@@ -1,6 +1,8 @@
 using DevExpress.LookAndFeel;
 using Mapster;
 using System.Reflection;
+using Yw;
+using Yw.WinFrmUI;
 
 namespace HStation.Desktop
 {
@@ -34,6 +36,8 @@
                 Application.ThreadException += Application_ThreadException;
                 //处理非UI线程异常
                 AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
+                //处理未被观察到的异常
+                TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException;
 
                 Application.EnableVisualStyles();
                 Application.SetCompatibleTextRenderingDefault(false);
@@ -55,22 +59,42 @@
                 // To customize application configuration such as set high DPI settings or default font,
                 // see https://aka.ms/applicationconfiguration.
                 ApplicationConfiguration.Initialize();
+                Yw.WinFrmUI.GlobalParas.AppIcon = HStation.Desktop.Xhs.Core.Properties.Resources.app;
 
-                //if (!LoginHelper.Login())
-                //{
-                //    return;
-                //}
+                #region 验证升级
 
-                // Yw.FileFolderZipHelper.Zip(@"C:\Users\ZKC\Desktop\循环水用例", @"C:\Users\ZKC\Desktop\循环水用例.ywrvt");
-                //Yw.FileFolderZipHelper.Zip(@"C:\Users\Eventech\Desktop\循环水用例", @"C:\Users\Eventech\Desktop\循环水用例.ywrvt");
-                // Yw.FileFolderZipHelper.Zip(@"C:\Users\admin\Desktop\居家办公工作\循环水用例", @"C:\Users\admin\Desktop\居家办公工作\循环水用例.ywrvt");
-                //Yw.FileFolderZipHelper.Zip(@"C:\Users\admin\Desktop\居家办公工作\简单用例", @"C:\Users\admin\Desktop\居家办公工作\简单用例.ywrvt");
+                try
+                {
 
-                //var json = RevitTestHelper.GenerateJson();
+                    if (AutoUpdateHelper.NeedExist())
+                        return;
+                }
+                catch (Exception ex)
+                {
+                    LogHelper.Error("验证升级错误", ex);
+                }
 
-                //var jsonFileName = @"C:\Users\admin\Desktop\居家办公工作\二开压缩文件\hydro.json";
-                //var jsonContent = File.ReadAllText(jsonFileName);
-                //var jsonModel = JsonHelper.Json2Object<HStation.Model.RevitModel>(jsonContent);
+                #endregion
+
+
+                if (!LoginHelper.Login())
+                {
+                    return;
+                }
+
+                Yw.Untity.UserRegister.Regist
+                       (
+                           Yw.WinFrmUI.LoginUserInfo.CorpID,
+                           Yw.WinFrmUI.LoginUserInfo.UserID,
+                           (int)Yw.WinFrmUI.LoginUserInfo.AdminType,
+                           Yw.WinFrmUI.LoginUserInfo.UserName,
+                           Yw.WinFrmUI.LoginUserInfo.UserTag,
+                           Yw.WinFrmUI.LoginUserInfo.LoginAccountID,
+                           Yw.WinFrmUI.LoginUserInfo.LoginTypeID,
+                           Yw.WinFrmUI.LoginUserInfo.ProjectID,
+                           Yw.WinFrmUI.LoginUserInfo.SoftwareID
+                       );
+
                 //扫描全局DTO映射
                 TypeAdapterConfig.GlobalSettings.Scan
                     (
@@ -81,30 +105,61 @@
                         Assembly.Load("HStation.BLL.Xhs.Core")
                     );
                 DbFirstHelper.Initial();
-                Yw.WinFrmUI.GlobalParas.AppIcon = HStation.Desktop.Xhs.Core.Properties.Resources.app;
                 Application.Run(new MainForm());
             }
         }
+
+
 
         ///<summary>
         ///  这就是我们要在发生未处理异常时处理的方法,我这是写出错详细信息到文本,如出错后弹出一个漂亮的出错提示窗体,给大家做个参考
         ///  做法很多,可以是把出错详细信息记录到文本、数据库,发送出错邮件到作者信箱或出错后重新初始化等等
         ///  这就是仁者见仁智者见智,大家自己做了。
-        ///</summary>
+        ///</summary>d
         ///<param name="sender"> </param>
         ///<param name="e"> </param>
         private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
         {
             var ex = e.Exception;
-            Yw.LogHelper.Error("系统出现未知异常,ERROR:249", ex);
-            MessageBox.Show($"系统出现未知异常,请重启系统!\r\n{ex.Message}");
+            if (ex is Yw.Vmo.VException vmoEx)
+            {
+                Yw.LogHelper.Error("系统出现内部异常,ERROR:249", vmoEx);
+                VmoExceptionTipFormHelper.Show(vmoEx);
+            }
+            else if (ex is Yw.Dto.InternalException internalEx)
+            {
+                Yw.LogHelper.Error("系统出现内部异常,ERROR:249", internalEx);
+
+            }
+            else
+            {
+                Yw.LogHelper.Error("系统出现未知异常,ERROR:249", ex);
+                MessageBoxHelper.ShowError($"系统出现未知异常,请重启系统!\r\n{ex.Message}");
+            }
         }
 
         private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
         {
             var ex = e.ExceptionObject as Exception;
-            Yw.LogHelper.Error("系统出现未知异常,ERROR:255", ex);
-            MessageBox.Show($"系统出现未知异常,请重启系统!\r\n{ex.Message}");
+            if (ex is Yw.Vmo.VException internalEx)
+            {
+                Yw.LogHelper.Error("系统出现内部异常,ERROR:249", internalEx);
+                var dlg = new Yw.WinFrmUI.VmoExceptionInfoDlg();
+                dlg.SetBindingData(internalEx);
+                dlg.ShowDialog();
+            }
+            else
+            {
+                Yw.LogHelper.Error("系统出现未知异常,ERROR:255", ex);
+                MessageBoxHelper.ShowError($"系统出现未知异常,请重启系统!\r\n{ex.Message}");
+            }
         }
+
+        //
+        private static void TaskScheduler_UnobservedTaskException(object sender, UnobservedTaskExceptionEventArgs e)
+        {
+            //throw new NotImplementedException();
+        }
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3