/* * Copyright (c) 2025 SimcuTeam. All rights reserved. * 移植自 C# 项目 SimApi(E:\simcu\simapi-net),遵循 MIT 许可证。 * 对齐 C# 的 Configurations/SimApiOptions.cs。 */ package simcu::simapi.configurations import std.collection.* /** * SimApi 全局配置:对应 C# 的 SimApi.Configurations.SimApiOptions。 */ public class SimApiOptions { /** * Redis 配置;配置则使用 Redis,不配则自动使用 InMemory。 */ public var redisConfiguration: String = "" /** * 原样返回给前端的配置信息。 */ public var webConfig: HashMap = HashMap() /** * WebConfig 返回是否包含版本信息。 */ public var webConfigIncludeVersion: Bool = true /** * 是否启用后台任务系统(占位,未实现)。 */ public var enableJob: Bool = false /** * 启用 Token 认证。 */ public var enableSimApiAuth: Bool = false /** * 启用缓存功能(默认 true)。 */ public var enableSimApiCache: Bool = true /** * 启用网关授权(占位,未实现)。 */ public var enableSimApiAuthGate: Bool = false /** * 开启 S3 兼容存储(占位,未实现)。 */ public var enableSimApiStorage: Bool = false /** * 启用在线文档(占位,未实现)。 */ public var enableSimApiDoc: Bool = false /** * 是否启用 Synapse(占位,未实现)。 */ public var enableSynapse: Bool = false /** * 启用全部 CORS(默认 true)。 */ public var enableCors: Bool = true /** * 启用异常拦截(默认 true)。 */ public var enableSimApiException: Bool = true /** * 启用返回结果拦截(默认 true)。 */ public var enableSimApiResponseFilter: Bool = true /** * 启用请求日志中间件。 */ public var enableRequestLog: Bool = false /** * 开启 ForwardHeaders(默认 true)。 */ public var enableForwardHeaders: Bool = true /** * 将 url 格式化为小写(默认 true)。 */ public var enableLowerUrl: Bool = true /** * 启用格式化 Console Logger(默认 true)。 */ public var enableLogger: Bool = true /** * 是否启用 SimApiHttpClient。 */ public var enableSimApiHttpClient: Bool = false public var simApiJobOptions = SimApiJobOptions() public var simApiDocOptions = SimApiDocOptions() public var simApiStorageOptions = SimApiStorageOptions() public var simApiSynapseOptions = SimApiSynapseOptions() public var simApiAuthCenterOptions = SimApiAuthCenterOptions() public var simApiHttpClientOptions = SimApiHttpClientOptions() public var simApiExceptionOptions = SimApiExceptionOptions() public var simApiRouteOptions = SimApiRouteOptions() public var simApiRequestLogOptions = SimApiRequestLogOptions() // ===== .NET 风格配置回调(对齐 C# ConfigureSimApiXxx(opt => ...)) ===== /** * 配置路由选项。 * @param configure 路由配置回调。 */ public func configureSimApiRoute(configure: (SimApiRouteOptions) -> Unit): Unit { configure(simApiRouteOptions) } /** * 配置异常处理选项。 * @param configure 异常配置回调。 */ public func configureSimApiException(configure: (SimApiExceptionOptions) -> Unit): Unit { configure(simApiExceptionOptions) } /** * 配置 HTTP 客户端选项。 * @param configure 客户端配置回调。 */ public func configureSimApiHttpClient(configure: (SimApiHttpClientOptions) -> Unit): Unit { configure(simApiHttpClientOptions) } /** * 配置文档选项(占位)。 * @param configure 文档配置回调。 */ public func configureSimApiDoc(configure: (SimApiDocOptions) -> Unit): Unit { configure(simApiDocOptions) } /** * 配置存储选项(占位)。 * @param configure 存储配置回调。 */ public func configureSimApiStorage(configure: (SimApiStorageOptions) -> Unit): Unit { configure(simApiStorageOptions) } /** * 配置任务调度选项(占位)。 * @param configure 任务配置回调。 */ public func configureSimApiJob(configure: (SimApiJobOptions) -> Unit): Unit { configure(simApiJobOptions) } /** * 配置 Synapse 选项(占位)。 * @param configure Synapse 配置回调。 */ public func configureSimApiSynapse(configure: (SimApiSynapseOptions) -> Unit): Unit { configure(simApiSynapseOptions) } /** * 配置请求日志选项(对齐 C# ConfigureSimApiRequestLog)。 * @param configure 请求日志配置回调。 */ public func configureSimApiRequestLog(configure: (SimApiRequestLogOptions) -> Unit): Unit { configure(simApiRequestLogOptions) } /** * 配置认证中心选项(对齐 C# ConfigureSimApiAuthCenter)。 * @param configure 认证中心配置回调。 */ public func configureSimApiAuthCenter(configure: (SimApiAuthCenterOptions) -> Unit): Unit { configure(simApiAuthCenterOptions) } }