|
|
|
|
@ -3,6 +3,8 @@ using System.Threading.Tasks;
|
|
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
|
using Volo.Abp.DependencyInjection;
|
|
|
|
|
using Volo.Abp.Features;
|
|
|
|
|
using Volo.CmsKit.Features;
|
|
|
|
|
using Volo.CmsKit.Pages;
|
|
|
|
|
using Volo.CmsKit.Public.Pages;
|
|
|
|
|
|
|
|
|
|
@ -12,18 +14,22 @@ public class DefaultHomePageMiddleware : IMiddleware, ITransientDependency
|
|
|
|
|
{
|
|
|
|
|
public async Task InvokeAsync(HttpContext context, RequestDelegate next)
|
|
|
|
|
{
|
|
|
|
|
if (context.Request.Path.Value == "/")
|
|
|
|
|
var featureChecker = context.RequestServices.GetRequiredService<IFeatureChecker>();
|
|
|
|
|
|
|
|
|
|
if (await featureChecker.IsEnabledAsync(CmsKitFeatures.PageEnable))
|
|
|
|
|
{
|
|
|
|
|
var pagePublicAppService = context.RequestServices.GetRequiredService<IPagePublicAppService>();
|
|
|
|
|
|
|
|
|
|
var page = await pagePublicAppService.FindDefaultHomePageAsync();
|
|
|
|
|
if (page != null)
|
|
|
|
|
if (context.Request.Path.Value == "/")
|
|
|
|
|
{
|
|
|
|
|
context.Request.Path = $"{PageConsts.UrlPrefix}{page.Slug}";
|
|
|
|
|
var pagePublicAppService = context.RequestServices.GetRequiredService<IPagePublicAppService>();
|
|
|
|
|
|
|
|
|
|
var page = await pagePublicAppService.FindDefaultHomePageAsync();
|
|
|
|
|
if (page != null)
|
|
|
|
|
{
|
|
|
|
|
context.Request.Path = $"{PageConsts.UrlPrefix}{page.Slug}";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await next(context);
|
|
|
|
|
}
|
|
|
|
|
}
|