移除了version路由, 融合进config

This commit is contained in:
2026-08-10 22:07:38 +08:00
parent 33f7cff11c
commit 80a05ea20b
4 changed files with 49 additions and 23 deletions
+14
View File
@@ -1,11 +1,25 @@
using System; using System;
using System.Collections.Generic;
namespace SimApi.Configurations; namespace SimApi.Configurations;
public class SimApiOptions public class SimApiOptions
{ {
/// <summary>
/// Redis配置
/// </summary>
public string? RedisConfiguration { get; set; } public string? RedisConfiguration { get; set; }
/// <summary>
/// 原样返回给前端的配置信息
/// </summary>
public Dictionary<string, object>? WebConfig { get; set; }
/// <summary>
/// WebConfig返回是否包含版本信息
/// </summary>
public bool WebConfigIncludeVersion { get; set; } = true;
/// <summary> /// <summary>
/// 是否启用后台任务系统 *基于Hangfire /// 是否启用后台任务系统 *基于Hangfire
/// </summary> /// </summary>
+1 -1
View File
@@ -2,7 +2,7 @@
public class SimApiRouteOptions public class SimApiRouteOptions
{ {
public string? VersionRoute = "/versions";
public string? LogoutRoute = "/auth/logout"; public string? LogoutRoute = "/auth/logout";
public string? UserInfoRoute = "/user/info"; public string? UserInfoRoute = "/user/info";
public string? WebConfigRoute = "/config";
} }
+21 -9
View File
@@ -1,13 +1,16 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using SimApi.Attributes; using SimApi.Attributes;
using SimApi.Communications; using SimApi.Communications;
using SimApi.Configurations;
using SimApi.Helpers; using SimApi.Helpers;
using static SimApi.Helpers.SimApiError; using static SimApi.Helpers.SimApiError;
namespace SimApi.Controllers; namespace SimApi.Controllers;
public class SimApiCommonController : SimApiBaseController public class SimApiCommonController(SimApiOptions simApiOptions) : SimApiBaseController
{ {
/// <summary> /// <summary>
/// 错误回馈页面 /// 错误回馈页面
@@ -21,18 +24,27 @@ public class SimApiCommonController : SimApiBaseController
Error(code); Error(code);
} }
/// <summary>
/// 给前端的自定义信息
/// </summary>
/// <returns></returns>
[HttpPost, HttpGet] [HttpPost, HttpGet]
public Dictionary<string, string> Versions() public Dictionary<string, object> WebConfig()
{ {
return new Dictionary<string, string> var resp = simApiOptions.WebConfig!.ToDictionary();
if (simApiOptions.WebConfigIncludeVersion)
{ {
{ "SimApi", SimApiUtil.SimApiVersion }, resp.Add("Versions", new Dictionary<string, string>
{ "App", SimApiUtil.AppVersion } {
}; { "SimApi", SimApiUtil.SimApiVersion },
{ "App", SimApiUtil.AppVersion }
});
}
return resp;
} }
/// <summary> /// <summary>
/// 获取已登录用户信息 /// 获取已登录用户信息
/// </summary> /// </summary>
+13 -13
View File
@@ -36,6 +36,8 @@ public static class SimApiExtensions
{ {
var simApiOptions = new SimApiOptions(); var simApiOptions = new SimApiOptions();
options?.Invoke(simApiOptions); options?.Invoke(simApiOptions);
simApiOptions.WebConfig ??= new();
builder.AddSingleton(simApiOptions);
if (simApiOptions.RedisConfiguration != null) if (simApiOptions.RedisConfiguration != null)
{ {
@@ -350,7 +352,6 @@ public static class SimApiExtensions
} }
builder.AddSingleton(simApiOptions.SimApiRequestLogOptions); builder.AddSingleton(simApiOptions.SimApiRequestLogOptions);
builder.AddSingleton(simApiOptions);
return builder; return builder;
} }
@@ -461,18 +462,6 @@ public static class SimApiExtensions
builder.UseMiddleware<SimApiAuthMiddleware>(); builder.UseMiddleware<SimApiAuthMiddleware>();
} }
if (options.SimApiRouteOptions.VersionRoute != null)
{
logger.LogInformation("注册内置Route: Versions => {}", options.SimApiRouteOptions.VersionRoute);
builder.MapControllerRoute(name: "Versions", pattern: options.SimApiRouteOptions.VersionRoute,
defaults: new
{
controller = "SimApiCommon",
action = "Versions"
});
}
if (options.SimApiRouteOptions.UserInfoRoute != null) if (options.SimApiRouteOptions.UserInfoRoute != null)
{ {
logger.LogInformation("注册内置Route: UserInfo => {}", options.SimApiRouteOptions.UserInfoRoute); logger.LogInformation("注册内置Route: UserInfo => {}", options.SimApiRouteOptions.UserInfoRoute);
@@ -495,6 +484,17 @@ public static class SimApiExtensions
}); });
} }
if (options.SimApiRouteOptions.WebConfigRoute != null)
{
logger.LogInformation("注册内置Route: Logout => {}", options.SimApiRouteOptions.WebConfigRoute);
builder.MapControllerRoute(name: "WebConfig", pattern: options.SimApiRouteOptions.WebConfigRoute,
defaults: new
{
controller = "SimApiCommon",
action = "WebConfig"
});
}
if (options.EnableSimApiDoc) if (options.EnableSimApiDoc)
{ {
logger.LogInformation("开始配置SimApiDoc..."); logger.LogInformation("开始配置SimApiDoc...");