|
@@ -22,11 +22,14 @@ using Microsoft.AspNetCore.ResponseCompression;
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
using Microsoft.Extensions.Hosting;
|
|
using Microsoft.Extensions.Hosting;
|
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json;
|
|
|
|
|
+using Newtonsoft.Json.Converters;
|
|
|
using OnceMi.AspNetCore.OSS;
|
|
using OnceMi.AspNetCore.OSS;
|
|
|
using SixLabors.ImageSharp.Web.DependencyInjection;
|
|
using SixLabors.ImageSharp.Web.DependencyInjection;
|
|
|
using System;
|
|
using System;
|
|
|
|
|
+using System.Globalization;
|
|
|
using System.Linq;
|
|
using System.Linq;
|
|
|
using System.Text.Encodings.Web;
|
|
using System.Text.Encodings.Web;
|
|
|
|
|
+using System.Text.Json;
|
|
|
using System.Text.Unicode;
|
|
using System.Text.Unicode;
|
|
|
using System.Threading.Tasks;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
@@ -84,7 +87,7 @@ public class Startup : AppStartup
|
|
|
{
|
|
{
|
|
|
setting.DateFormatHandling = DateFormatHandling.IsoDateFormat;
|
|
setting.DateFormatHandling = DateFormatHandling.IsoDateFormat;
|
|
|
setting.DateTimeZoneHandling = DateTimeZoneHandling.Local;
|
|
setting.DateTimeZoneHandling = DateTimeZoneHandling.Local;
|
|
|
- // setting.Converters.AddDateTimeTypeConverters(localized: true); // 时间本地化
|
|
|
|
|
|
|
+ setting.Converters.AddDateTimeTypeConverters(localized: true); // 时间本地化
|
|
|
setting.DateFormatString = "yyyy-MM-dd HH:mm:ss"; // 时间格式化
|
|
setting.DateFormatString = "yyyy-MM-dd HH:mm:ss"; // 时间格式化
|
|
|
setting.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; // 忽略循环引用
|
|
setting.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; // 忽略循环引用
|
|
|
// setting.ContractResolver = new CamelCasePropertyNamesContractResolver(); // 解决动态对象属性名大写
|
|
// setting.ContractResolver = new CamelCasePropertyNamesContractResolver(); // 解决动态对象属性名大写
|
|
@@ -92,8 +95,13 @@ public class Startup : AppStartup
|
|
|
// setting.Converters.AddLongTypeConverters(); // long转string(防止js精度溢出) 超过17位开启
|
|
// setting.Converters.AddLongTypeConverters(); // long转string(防止js精度溢出) 超过17位开启
|
|
|
// setting.MetadataPropertyHandling = MetadataPropertyHandling.Ignore; // 解决DateTimeOffset异常
|
|
// setting.MetadataPropertyHandling = MetadataPropertyHandling.Ignore; // 解决DateTimeOffset异常
|
|
|
// setting.DateParseHandling = DateParseHandling.None; // 解决DateTimeOffset异常
|
|
// setting.DateParseHandling = DateParseHandling.None; // 解决DateTimeOffset异常
|
|
|
- // setting.Converters.Add(new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }); // 解决DateTimeOffset异常
|
|
|
|
|
- };
|
|
|
|
|
|
|
+ setting.Converters.Add(new IsoDateTimeConverter
|
|
|
|
|
+ {
|
|
|
|
|
+ DateTimeFormat = "yyyy-MM-dd HH:mm:ss", // 自定义日期时间格式
|
|
|
|
|
+ DateTimeStyles = DateTimeStyles.AssumeLocal | DateTimeStyles.AdjustToUniversal
|
|
|
|
|
+ }); // 解决DateTimeOffset异常
|
|
|
|
|
+ }
|
|
|
|
|
+ ;
|
|
|
|
|
|
|
|
services.AddControllersWithViews()
|
|
services.AddControllersWithViews()
|
|
|
.AddAppLocalization()
|
|
.AddAppLocalization()
|
|
@@ -104,6 +112,7 @@ public class Startup : AppStartup
|
|
|
.AddJsonOptions(options =>
|
|
.AddJsonOptions(options =>
|
|
|
{
|
|
{
|
|
|
options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All); // 禁止Unicode转码
|
|
options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All); // 禁止Unicode转码
|
|
|
|
|
+ options.JsonSerializerOptions.Converters.AddDateTimeTypeConverters("yyyy-MM-dd HH:mm:ss",localized:true);
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
// 三方授权登录OAuth
|
|
// 三方授权登录OAuth
|
|
@@ -208,6 +217,16 @@ public class Startup : AppStartup
|
|
|
// 控制台logo
|
|
// 控制台logo
|
|
|
services.AddConsoleLogo();
|
|
services.AddConsoleLogo();
|
|
|
|
|
|
|
|
|
|
+ services.AddSwaggerGen(c =>
|
|
|
|
|
+ {
|
|
|
|
|
+ c.MapType<DateTime>(() => new Microsoft.OpenApi.Models.OpenApiSchema
|
|
|
|
|
+ {
|
|
|
|
|
+ Type = "string",
|
|
|
|
|
+ Format = "date-time",
|
|
|
|
|
+ Example = new Microsoft.OpenApi.Any.OpenApiString(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")) // 示例值
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
// 将IP地址数据库文件完全加载到内存,提升查询速度(以空间换时间,内存将会增加60-70M)
|
|
// 将IP地址数据库文件完全加载到内存,提升查询速度(以空间换时间,内存将会增加60-70M)
|
|
|
IpToolSettings.LoadInternationalDbToMemory = true;
|
|
IpToolSettings.LoadInternationalDbToMemory = true;
|
|
|
// 设置默认查询器China和International
|
|
// 设置默认查询器China和International
|