From e3034dbd4d96e244af376ba36842edf1f732a76c Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期二, 24 九月 2024 10:35:12 +0800
Subject: [PATCH] 优化API框架,分离项目业务逻辑

---
 Tiger.Api/Startup.cs |   29 +++++++++++++++++++++--------
 1 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/Tiger.Api/Startup.cs b/Tiger.Api/Startup.cs
index 1f25586..5a9aace 100644
--- a/Tiger.Api/Startup.cs
+++ b/Tiger.Api/Startup.cs
@@ -14,7 +14,9 @@
 using System.IO;
 using System.Linq;
 using System.Reflection;
+using Tiger.Api.Controllers;
 using Tiger.IBusiness;
+using Tiger.IBusiness.Utility;
 
 namespace Tiger.Api
 {
@@ -26,6 +28,7 @@
         public Startup(IConfiguration configuration)
         {
             Configuration = configuration;
+            //鍒濆鍖� ApiConfig
             ApiConfig.InitConfig(configuration);
 
             //娴嬭瘯浠g爜
@@ -53,11 +56,13 @@
         {
             //services.RegisterAssembly("Tiger.Service");
             //services.AddTransient(typeof(IBaseService<>), typeof(BaseService<>));
-            services.AddControllers().AddNewtonsoftJson(opt =>
+            services.AddControllersWithViews().AddNewtonsoftJson(opt =>
             {
                 opt.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver();
                 opt.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
             });
+            //services.AddControllers().AddApplicationPart(typeof(_WMSTestController).Assembly);
+            services.AddControllers().AddExtraControllers();
 
             //閰嶇疆璺ㄥ煙澶勭悊cors
 聽 聽 聽 聽 聽 聽 services.AddCors(options =>
@@ -73,7 +78,7 @@
             });
             services.AddSwaggerGen(c =>
             {
-                c.SwaggerDoc(version, new OpenApiInfo { Title = "Share API", Version = version });
+                c.SwaggerDoc(version, new OpenApiInfo { Title = "Tiger API", Version = version });
                 var basePath = AppDomain.CurrentDomain.BaseDirectory;
                 var xmlPath = Path.Combine(basePath, "Tiger.Api.xml");
                 c.IncludeXmlComments(xmlPath);
@@ -108,19 +113,20 @@
             app.UseSwagger();
             app.UseSwaggerUI(c =>
             {
-                c.SwaggerEndpoint($"/swagger/{version}/swagger.json", $"Share API {version}");
+                c.SwaggerEndpoint($"/swagger/{version}/swagger.json", $"Tiger API {version}");
             });
 
             app.UseRouting();
             app.UseCors(anyAllowSpecificOrigins);//鏀寔璺ㄥ煙锛氬厑璁哥壒瀹氭潵婧愮殑涓绘満璁块棶
 
             //app.UseHttpsRedirection();
+            app.UseStaticFiles();
 
             //app.UseAuthorization();
             app.UseEndpoints(endpoints =>
             {
+                endpoints.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}").RequireCors(anyAllowSpecificOrigins);
                 endpoints.MapControllers().RequireCors(anyAllowSpecificOrigins);
-                //endpoints.MapControllers();
             });
 
             ConsoleExt.Write($"Api Run as{((ApiConfig.IsDevVersion || ApiConfig.IsTestVersion) ? ((ApiConfig.IsDevVersion ? " Dev" : "") + (ApiConfig.IsTestVersion ? " Test" : "")) : " Release")} Edition", ConsoleColor.Cyan);
@@ -143,6 +149,7 @@
                     (BizConfig.Configuration[$"Databases:Main:ConnectionString"].Split(';').Any(q => q.Contains("port")) ? "锛�" : "") +
                     BizConfig.Configuration[$"Databases:Main:ConnectionString"].Split(';').Where(q => q.Contains("Data Source") || q.Contains("DataSource") || q.Contains("database")).FirstOrDefault(), ConsoleColor.Cyan);
             }
+
             //鍒濆鍖朆usiness鐨凙utoFacContainer
             DI.Resolve<IBiz>().SetContainer(AutoFacContainer.Instance);
             //寮�鍚疉pi鐩戞帶鎬荤嚎
@@ -151,6 +158,8 @@
             DI.Resolve<IServicesBus>().StartServices(app.ApplicationServices.GetService<ISchedulerFactory>());
             //寮�鍚疍B缂撳瓨鑷姩鏇存柊
             DI.Resolve<IDbCacheBus>().StartAutoUpdate();
+            //寮�鍚疢QTT鏈嶅姟
+            MQTTHelper.Start();
         }
 
         /// <summary>
@@ -159,14 +168,18 @@
         public void DeleteLogs()
         {
             DirectoryInfo di = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + "\\Logs");
-            var logFiles = di.GetFiles("*.log", SearchOption.AllDirectories);
-            foreach (var file in logFiles)
+            if(di.Exists) 
             {
-                if ((DateTime.Now - file.LastWriteTime).TotalDays > 30)
+                var logFiles = di.GetFiles("*.log", SearchOption.AllDirectories);
+                foreach (var file in logFiles)
                 {
-                    file.Delete();
+                    if ((DateTime.Now - file.LastWriteTime).TotalDays > 30)
+                    {
+                        file.Delete();
+                    }
                 }
             }
+            
         }
     }//endClass
 }
\ No newline at end of file

--
Gitblit v1.9.3