diff --git a/src/BootstrapBlazor/Extensions/BootstrapBlazorServiceCollectionExtensions.cs b/src/BootstrapBlazor/Extensions/BootstrapBlazorServiceCollectionExtensions.cs index 682f2894cb788548ac4242626cc1e59907d1631f..a5654b3b55910019c68059b7ffdd67dbc27547ba 100644 --- a/src/BootstrapBlazor/Extensions/BootstrapBlazorServiceCollectionExtensions.cs +++ b/src/BootstrapBlazor/Extensions/BootstrapBlazorServiceCollectionExtensions.cs @@ -51,18 +51,7 @@ public static class BootstrapBlazorServiceCollectionExtensions services.TryAddScoped(); services.TryAddSingleton, ConfigureOptions>(); - services.Configure(options => - { - configureOptions?.Invoke(options); - - // 设置默认文化信息 - if (options.DefaultCultureInfo != null) - { - var culture = new CultureInfo(options.DefaultCultureInfo); - CultureInfo.DefaultThreadCurrentCulture = culture; - CultureInfo.DefaultThreadCurrentUICulture = culture; - } - }); + services.ConfigureBootstrapBlazorOption(configureOptions); services.TryAddSingleton(); services.TryAddSingleton, ConfigureOptions>(); @@ -75,17 +64,44 @@ public static class BootstrapBlazorServiceCollectionExtensions /// /// /// - public static IServiceCollection ConfigIPLocatorOption(this IServiceCollection services, Action locatorAction) + public static IServiceCollection ConfigureIPLocatorOption(this IServiceCollection services, Action locatorAction) + { + services.Configure(locatorAction); + return services; + } + + /// + /// + /// + /// + /// + /// + public static IServiceCollection ConfigureBootstrapBlazorOption(this IServiceCollection services, Action? options = null) { - services.Configure(options => + services.Configure(op => { - locatorAction(options); + options?.Invoke(op); - if (options.LocatorFactory == null) + // 设置默认文化信息 + if (op.DefaultCultureInfo != null) { - options.LocatorFactory = provider => new BaiDuIPLocator(); + var culture = new CultureInfo(op.DefaultCultureInfo); + CultureInfo.DefaultThreadCurrentCulture = culture; + CultureInfo.DefaultThreadCurrentUICulture = culture; } }); return services; } + + /// + /// + /// + /// + /// + /// + public static IServiceCollection ConfigureJsonLocalizationOptions(this IServiceCollection services, Action localizationAction) + { + services.Configure(localizationAction); + return services; + } }