diff --git a/Configurations/SimApiOptions.cs b/Configurations/SimApiOptions.cs index 4f10fa2..27993b0 100644 --- a/Configurations/SimApiOptions.cs +++ b/Configurations/SimApiOptions.cs @@ -56,7 +56,6 @@ public class SimApiOptions /// public bool EnableSimApiResponseFilter { get; set; } = true; - /// /// 开启ForwardHeaders,开启后可以透传负载均衡的Headers /// default: true @@ -69,24 +68,17 @@ public class SimApiOptions /// public bool EnableLowerUrl { get; set; } = true; - - /// - /// 应用可以通过 /versions 显示出应用版本和SimApi包版本 - /// default: true - /// - public bool EnableVersionUrl { get; set; } = true; - - /// /// 启用格式化的 Console Logger /// default: false /// public bool EnableLogger { get; set; } = true; - + /// + /// 是否启用SimApiHttpClient + /// public bool EnableSimApiHttpClient { get; set; } = false; - /// /// 配置Job /// @@ -110,6 +102,13 @@ public class SimApiOptions public SimApiExceptionOptions SimApiExceptionOptions { get; set; } = new(); + public SimApiRouteOptions SimApiRouteOptions { get; set; } = new(); + + public void ConfigureSimApiRoute(Action? options = null) + { + options?.Invoke(SimApiRouteOptions); + } + public void ConfigureSimApiException(Action? options = null) { options?.Invoke(SimApiExceptionOptions); diff --git a/Configurations/SimApiRouteOptions.cs b/Configurations/SimApiRouteOptions.cs new file mode 100644 index 0000000..847c643 --- /dev/null +++ b/Configurations/SimApiRouteOptions.cs @@ -0,0 +1,8 @@ +namespace SimApi.Configurations; + +public class SimApiRouteOptions +{ + public string? VersionRoute = "/versions"; + public string? LogoutRoute = "/auth/logout"; + public string? UserInfoRoute = "/user/info"; +} \ No newline at end of file diff --git a/Controllers/SimApiAuthController.cs b/Controllers/SimApiAuthController.cs index 9bb52e5..fb7e6f7 100644 --- a/Controllers/SimApiAuthController.cs +++ b/Controllers/SimApiAuthController.cs @@ -5,8 +5,6 @@ using SimApi.Helpers; namespace SimApi.Controllers; -using static SimApiError; - public class SimApiAuthController(SimApiAuth auth) : SimApiBaseController { /// @@ -21,5 +19,11 @@ public class SimApiAuthController(SimApiAuth auth) : SimApiBaseController auth.Logout(value!); } } - + + /// + /// 获取已登录用户信息 + /// + /// + [HttpPost, SimApiAuth, SimApiDoc("认证", "获取已登录用户信息")] + public SimApiLoginItem UserInfo() => LoginInfo; } \ No newline at end of file diff --git a/Controllers/SimApiCommonController.cs b/Controllers/SimApiCommonController.cs index 9390363..24b95ab 100644 --- a/Controllers/SimApiCommonController.cs +++ b/Controllers/SimApiCommonController.cs @@ -31,11 +31,4 @@ public class SimApiCommonController : SimApiBaseController { "App", SimApiUtil.AppVersion } }; } - - /// - /// 获取已登录用户信息 - /// - /// - [HttpPost("/user/info"), SimApiAuth, SimApiDoc("认证", "获取已登录用户信息")] - public SimApiLoginItem UserInfo() => LoginInfo; } \ No newline at end of file diff --git a/SimApiExtensions.cs b/SimApiExtensions.cs index e0988f7..03515b8 100644 --- a/SimApiExtensions.cs +++ b/SimApiExtensions.cs @@ -443,17 +443,13 @@ public static class SimApiExtensions { logger.LogInformation("开始配置SimApiAuth..."); builder.UseMiddleware(); - builder.MapControllerRoute(name: "Logout", pattern: "/auth/logout", - defaults: new - { - controller = "SimApiAuth", - action = "Logout" - }); } - if (options.EnableVersionUrl) + + if (options.SimApiRouteOptions.VersionRoute != null) { - builder.MapControllerRoute(name: "Versions", pattern: "/versions", + logger.LogInformation("注册内置Route: Versions => {}", options.SimApiRouteOptions.LogoutRoute); + builder.MapControllerRoute(name: "Versions", pattern: options.SimApiRouteOptions.VersionRoute, defaults: new { controller = "SimApiCommon", @@ -461,6 +457,28 @@ public static class SimApiExtensions }); } + if (options.SimApiRouteOptions.UserInfoRoute != null) + { + logger.LogInformation("注册内置Route: UserInfo => {}", options.SimApiRouteOptions.UserInfoRoute); + builder.MapControllerRoute(name: "UserInfo", pattern: options.SimApiRouteOptions.UserInfoRoute, + defaults: new + { + controller = "SimApiAuth", + action = "UserInfo" + }); + } + + if (options.SimApiRouteOptions.LogoutRoute != null) + { + logger.LogInformation("注册内置Route: Logout => {}", options.SimApiRouteOptions.LogoutRoute); + builder.MapControllerRoute(name: "Logout", pattern: options.SimApiRouteOptions.LogoutRoute, + defaults: new + { + controller = "SimApiAuth", + action = "Logout" + }); + } + if (options.EnableSimApiDoc) { logger.LogInformation("开始配置SimApiDoc...");