VueWebCoreApi/Startup.cs
@@ -17,9 +17,11 @@
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.OpenApi.Models;
using Newtonsoft.Json.Serialization;
using Quartz;
using Quartz.Impl;
using Quartz.Spi;
using Swashbuckle.AspNetCore.SwaggerUI;
using System;
using System.Collections.Generic;
using System.IO;
@@ -54,25 +56,34 @@
            {
                op.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
                op.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
                // 返回数据首字母不小写,CamelCasePropertyNamesContractResolver是小写
                op.SerializerSettings.ContractResolver = new DefaultContractResolver();
            });
            //解决文档中首字母被小写的问题
            services.AddControllers().AddJsonOptions(config =>
            {
                config.JsonSerializerOptions.PropertyNamingPolicy = null;
            });
            #region Swagger 第二种方式
            services.AddSwaggerGen(c =>
            {
                typeof(OpenApiGroup).GetEnumNames().ToList().ForEach(version =>
                {
                    c.SwaggerDoc(version, new OpenApiInfo()
                    {
                        Title = $"新凯迪MesApi文档:{version}",
                        Version = version,
                        Description = $"Panda.Sewerage :  {version}  "
                        Description = $"Panda.Sewerage :  {version}  ",
                    });
                });
                string basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
                string xmlPath = Path.Combine(basePath, "VueWebCoreApi.xml");
                c.IncludeXmlComments(xmlPath, true);
            });
            #endregion
            // 设置配置
            AppSetting.SetAppSetting(Configuration.GetSection("ConnectionStrings"));
            //log4net配置
@@ -87,6 +98,7 @@
            services.AddTransient<HttpResultfulJob>();
            services.AddSingleton<ISchedulerFactory, StdSchedulerFactory>();
            services.AddSingleton<IJobFactory, IOCJobFactory>();
            //跨域设置
            services.AddCors(options =>
@@ -134,6 +146,7 @@
                {
                    c.SwaggerEndpoint($"/swagger/{version}/swagger.json", $"{version}");
                });
            });
            #endregion
            app.UseHttpsRedirection();
@@ -144,12 +157,13 @@
            //添加静态文件中间件
            app.UseDefaultFiles();
            //添加授权文件
            app.UseStaticFiles(new StaticFileOptions()
            {
                ContentTypeProvider = new FileExtensionContentTypeProvider()
                {
                    Mappings = { [".xls"] = "application/vnd.ms-excel" }
                }
            app.UseStaticFiles(new StaticFileOptions() {
                ContentTypeProvider = new FileExtensionContentTypeProvider() {
                    Mappings = {
                        [".xls"] = "application/vnd.ms-excel",
                        [".apk"] = "application/vnd.android.package-archive"
                    }
                }
            });
            app.UseStaticFiles();
            //跨域
@@ -176,15 +190,15 @@
            //        Mappings = { [".exe"] = "application/octect-stream" }
            //    }
            //});
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
                endpoints.MapHub<ChatHub>("/ChatHub", options =>
                {
                        options.Transports =
                        HttpTransportType.WebSockets |
                        HttpTransportType.LongPolling;
                    options.Transports =
                    HttpTransportType.WebSockets |
                    HttpTransportType.LongPolling;
                });
            });
            loggerFactory.AddLog4Net("Config/log4net.config");