diff --git a/BootstrapAdmin-Blazor.slnf b/BootstrapAdmin-Blazor.slnf index 94ec6aaa..5f6d75ed 100644 --- a/BootstrapAdmin-Blazor.slnf +++ b/BootstrapAdmin-Blazor.slnf @@ -2,7 +2,6 @@ "solution": { "path": "BootstrapAdmin.sln", "projects": [ - "src\\blazor\\admin\\BootstrapAdmin.DataAccess.EFCore\\BootstrapAdmin.DataAccess.EFCore.csproj", "src\\blazor\\admin\\BootstrapAdmin.DataAccess.Models\\BootstrapAdmin.DataAccess.Models.csproj", "src\\blazor\\admin\\BootstrapAdmin.DataAccess.PetaPoco\\BootstrapAdmin.DataAccess.PetaPoco.csproj", "src\\blazor\\admin\\BootstrapAdmin.Web.Core\\BootstrapAdmin.Web.Core.csproj", diff --git a/src/blazor/admin/BootstrapAdmin.DataAccess.PetaPoco/Services/DictService.cs b/src/blazor/admin/BootstrapAdmin.DataAccess.PetaPoco/Services/DictService.cs index 548bd090..7e07daac 100644 --- a/src/blazor/admin/BootstrapAdmin.DataAccess.PetaPoco/Services/DictService.cs +++ b/src/blazor/admin/BootstrapAdmin.DataAccess.PetaPoco/Services/DictService.cs @@ -159,6 +159,13 @@ class DictService : BaseDatabase, IDict public string? GetNotificationUrl(string appId) => GetUrlByName(appId, "系统通知地址"); + public bool GetEnableDefaultApp() + { + var dicts = GetAll(); + var code = dicts.FirstOrDefault(d => d.Category == "网站设置" && d.Name == "默认应用程序")?.Code ?? "0"; + return code == "1"; + } + private string? GetUrlByName(string appId, string dictName) { string? url = null; @@ -191,9 +198,14 @@ class DictService : BaseDatabase, IDict string? url = null; var dicts = GetAll(); - // appId 为空时读取前台列表取第一个应用作为默认应用 - appId ??= GetApps().FirstOrDefault(d => d.Key != AppId).Key ?? AppId; - url = dicts.FirstOrDefault(d => d.Category == "应用首页" && d.Name.Equals(appId, StringComparison.OrdinalIgnoreCase) && d.Define == EnumDictDefine.System)?.Code; + // 查看是否开启默认应用 + var enableDefaultApp = GetEnableDefaultApp(); + if (enableDefaultApp) + { + // appId 为空时读取前台列表取第一个应用作为默认应用 + appId ??= GetApps().FirstOrDefault(d => d.Key != AppId).Key ?? AppId; + url = dicts.FirstOrDefault(d => d.Category == "应用首页" && d.Name.Equals(appId, StringComparison.OrdinalIgnoreCase) && d.Define == EnumDictDefine.System)?.Code; + } return url; } } diff --git a/src/blazor/admin/BootstrapAdmin.Web.Core/IDict.cs b/src/blazor/admin/BootstrapAdmin.Web.Core/IDict.cs index e0b20c73..cd7eb6fc 100644 --- a/src/blazor/admin/BootstrapAdmin.Web.Core/IDict.cs +++ b/src/blazor/admin/BootstrapAdmin.Web.Core/IDict.cs @@ -149,4 +149,10 @@ public interface IDict /// /// string? GetHomeUrlByAppId(string? appId = null); + + /// + /// 是否开启默认应用 + /// + /// + bool GetEnableDefaultApp(); } diff --git a/src/blazor/admin/BootstrapAdmin.Web/BootstrapAdmin.Web.csproj b/src/blazor/admin/BootstrapAdmin.Web/BootstrapAdmin.Web.csproj index 4fb7a65b..6997d44d 100644 --- a/src/blazor/admin/BootstrapAdmin.Web/BootstrapAdmin.Web.csproj +++ b/src/blazor/admin/BootstrapAdmin.Web/BootstrapAdmin.Web.csproj @@ -10,7 +10,7 @@ - + diff --git a/src/blazor/admin/BootstrapAdmin.Web/BootstrapAdmin.db b/src/blazor/admin/BootstrapAdmin.Web/BootstrapAdmin.db index 5708b5a6..661b75a4 100644 Binary files a/src/blazor/admin/BootstrapAdmin.Web/BootstrapAdmin.db and b/src/blazor/admin/BootstrapAdmin.Web/BootstrapAdmin.db differ diff --git a/src/blazor/admin/BootstrapAdmin.Web/Extensions/ServiceCollectionExtensions.cs b/src/blazor/admin/BootstrapAdmin.Web/Extensions/ServiceCollectionExtensions.cs index 4e0f4bd6..9f817f49 100644 --- a/src/blazor/admin/BootstrapAdmin.Web/Extensions/ServiceCollectionExtensions.cs +++ b/src/blazor/admin/BootstrapAdmin.Web/Extensions/ServiceCollectionExtensions.cs @@ -4,6 +4,8 @@ using BootstrapAdmin.Web.Services; using BootstrapAdmin.Web.Services.SMS; using BootstrapAdmin.Web.Services.SMS.Tencent; using BootstrapAdmin.Web.Utils; +using PetaPoco; +using PetaPoco.Providers; namespace Microsoft.Extensions.DependencyInjection { @@ -22,6 +24,10 @@ namespace Microsoft.Extensions.DependencyInjection services.AddCors(); services.AddResponseCompression(); + // 增加后台任务 + services.AddTaskServices(); + services.AddHostedService(); + // 增加 缓存管理服务 services.AddCacheManager(); @@ -48,30 +54,27 @@ namespace Microsoft.Extensions.DependencyInjection // option.UseSqlite(connString); //}); - // 增加 PetaPoco 数据服务 - //services.AddPetaPocoDataAccessServices((provider, builder) => - //{ - // var configuration = provider.GetRequiredService(); - // var connString = configuration.GetConnectionString("bb"); - // builder.UsingProvider() - // .UsingConnectionString(connString); - //}); + // 增加 FreeSql 数据服务 + // services.AddFreeSql((provider, builder) => + // { + // var configuration = provider.GetRequiredService(); + // var connString = configuration.GetConnectionString("bb"); + // builder.UseConnectionString(FreeSql.DataType.Sqlite, connString); + //#if DEBUG + // //调试sql语句输出 + // builder.UseMonitorCommand(cmd => System.Console.WriteLine(cmd.CommandText)); + //#endif + // }); - services.AddFreeSql((provider, builder) => + // 增加 PetaPoco 数据服务 + services.AddPetaPocoDataAccessServices((provider, builder) => { var configuration = provider.GetRequiredService(); var connString = configuration.GetConnectionString("bb"); - builder.UseConnectionString(FreeSql.DataType.Sqlite, connString); -#if DEBUG - //调试sql语句输出 - builder.UseMonitorCommand(cmd => System.Console.WriteLine(cmd.CommandText)); -#endif + builder.UsingProvider() + .UsingConnectionString(connString); }); - // 增加后台任务 - services.AddTaskServices(); - services.AddHostedService(); - return services; } } diff --git a/src/blazor/client/BootstrapClient.Web/Extensions/ServicesExtensions.cs b/src/blazor/client/BootstrapClient.Web/Extensions/ServiceCollectionExtensions.cs similarity index 95% rename from src/blazor/client/BootstrapClient.Web/Extensions/ServicesExtensions.cs rename to src/blazor/client/BootstrapClient.Web/Extensions/ServiceCollectionExtensions.cs index 62db1765..f7caad32 100644 --- a/src/blazor/client/BootstrapClient.Web/Extensions/ServicesExtensions.cs +++ b/src/blazor/client/BootstrapClient.Web/Extensions/ServiceCollectionExtensions.cs @@ -7,7 +7,7 @@ namespace Microsoft.Extensions.DependencyInjection /// /// /// - public static class ServicesExtensions + public static class ServiceCollectionExtensions { /// /// 添加示例后台任务