From 53ee0a68605433db362abae3ed1af03fd23a7832 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 08 八月 2025 15:57:33 +0800
Subject: [PATCH] pref:优化

---
 FlexJobApi.Core/FlexJobApiCoreStartup.cs |   48 +++++++++++++++++++++++++++++++++++-------------
 1 files changed, 35 insertions(+), 13 deletions(-)

diff --git a/FlexJobApi.Core/FlexJobApiCoreStartup.cs b/FlexJobApi.Core/FlexJobApiCoreStartup.cs
index 2c53b2d..dcc3bed 100644
--- a/FlexJobApi.Core/FlexJobApiCoreStartup.cs
+++ b/FlexJobApi.Core/FlexJobApiCoreStartup.cs
@@ -1,4 +1,5 @@
-锘縰sing Furion;
+锘縰sing Consul;
+using Furion;
 using Furion.EventBus;
 using MediatR;
 using Microsoft.AspNetCore.Builder;
@@ -19,31 +20,39 @@
     {
         public void ConfigureServices(IServiceCollection services)
         {
+            services.AddHealthChecks();
+
             services.AddConsoleFormatter(options =>
             {
                 options.WithTraceId = true;
-                options.WithStackFrame = true;
             });
 
             services.AddFileLogging(options =>
             {
                 options.WithTraceId = true;
-                options.WithStackFrame = true;
                 options.FileNameRule = fileName =>
                 {
-                    return string.Format(fileName, DateTime.UtcNow);    // 濡傛灉鏄湰鍦版椂闂翠娇鐢� DateTime.Now
+                    return string.Format(fileName, DateTime.Now);
                 };
             });
 
-            services.AddDatabaseLogging<DatabaseLoggingWriter>(options =>
-            {
-                options.WithTraceId = true;
-                options.WithStackFrame = true;
-            });
+            //services.AddDatabaseLogging<DatabaseLoggingWriter>(options =>
+            //{
+            //    options.WithTraceId = true;
+            //});
+
+            services.AddConfigurableOptions<AliyunOptions>();
+
+            services.AddComponent<ConsulServiceComponent>();
 
             services.AddComponent<EventBusServiceComponent>();
 
             services.AddComponent<DistributedCacheServiceComponent>();
+
+            services.AddHttpRemote();
+            services.AddSingleton<ResourceHttpUtils>();
+            services.AddSingleton<AliyunSmsUtils>();
+            services.AddScoped<SmsUtils>();
 
             services.AddMediatR(cfg => cfg.RegisterServicesFromAssemblies(App.Assemblies.ToArray()));
 
@@ -53,22 +62,27 @@
 
             services.AddCorsAccessor();
 
+            services.AddHostedService<BuildDynamicControllersHostedService>();
+
             services.AddSpecificationDocuments(options =>
             {
-                options.OperationFilter<FurionCustomOperationIdFilter>();
+                options.OperationFilter<CustomOperationIdFilter>();
+                options.SchemaFilter<EnumSchemaFilter>();
             });
 
             services.AddControllers()
                     .AddNewtonsoftJson(options =>
                     {
-                        options.SerializerSettings.Converters.Add(new StringEnumConverter());
+                        //options.SerializerSettings.Converters.Add(new StringEnumConverter());
                     })
                     .AddFriendlyException()
                     .AddDataValidation()
                     .AddInjectWithUnifyResult<FriendlyResultProvider>();
+
+            services.AddMvcFilter<ResourceActionFilter>();
         }
 
-        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
+        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime lifetime)
         {
             // 瑙f瀽浜嬩欢鎬荤嚎鍙戝竷鏈嶅姟
             var eventPublisher = app.ApplicationServices.GetRequiredService<IEventPublisher>();
@@ -86,7 +100,7 @@
 
             app.UseUnifyResultStatusCodes();
 
-            app.UseHttpsRedirection();
+            //app.UseHttpsRedirection();
 
             app.UseRouting();
 
@@ -102,7 +116,15 @@
             app.UseEndpoints(endpoints =>
             {
                 endpoints.MapControllers();
+                endpoints.MapHealthChecks("/healthz");
             });
+
+            app.UseComponent<ConsulApplicationComponent>(env);
+
+            //lifetime.ApplicationStarted.Register(async () =>
+            //{
+            //    await ResourceUtils.BuildDynamicControllersAsync();
+            //});
         }
     }
 }

--
Gitblit v1.9.1