Browse Source

Update `app-nolayers` template to support `Blazor Web App`.

pull/18876/head
maliming 2 years ago
parent
commit
e3f113337d
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 27
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Bundling/BundlingService.cs
  2. 45
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Components/App.razor
  3. 0
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Components/Pages/Index.razor
  4. 0
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Components/Pages/Index.razor.cs
  5. 0
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Components/Pages/Index.razor.css
  6. 0
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Components/Pages/_ViewImports.cshtml
  7. 14
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Components/Routes.razor
  8. 22
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyProjectNameModule.cs
  9. 39
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Pages/_Host.cshtml
  10. 3
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/_Imports.razor
  11. 45
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Components/App.razor
  12. 0
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Components/Pages/Index.razor
  13. 0
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Components/Pages/Index.razor.cs
  14. 0
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Components/Pages/Index.razor.css
  15. 0
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Components/Pages/_ViewImports.cshtml
  16. 14
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Components/Routes.razor
  17. 20
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameModule.cs
  18. 39
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Pages/_Host.cshtml
  19. 3
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/_Imports.razor
  20. 12
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/Routes.razor
  21. 1
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/wwwroot/appsettings.json
  22. 2
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/wwwroot/global.js
  23. 28
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/Components/App.razor
  24. 16
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyProjectNameHostModule.cs
  25. 43
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Components/App.razor
  26. 17
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyProjectNameHostModule.cs

27
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Bundling/BundlingService.cs

@ -104,8 +104,7 @@ public class BundlingService : IBundlingService, ITransientDependency
scriptDefinitions = GenerateScriptDefinitions(scriptContext);
}
var fileName = Path.Combine(PathHelper.GetWwwRootPath(directory), "index.html");
string fileName = null;
if (bundleConfig.IsBlazorWebApp)
{
var projectDirectory = directory.RemovePostFix(".Client")!;
@ -117,11 +116,33 @@ public class BundlingService : IBundlingService, ITransientDependency
{
fileName = Path.Combine(projectDirectory, "App.razor");
}
else
if (fileName.IsNullOrEmpty())
{
// Single Template
var serverProjectDirectory = Path.Combine(Path.GetDirectoryName(directory), "Server");
if (Directory.Exists(serverProjectDirectory))
{
if (File.Exists(Path.Combine(serverProjectDirectory, "Components", "App.razor")))
{
fileName = Path.Combine(serverProjectDirectory, "Components", "App.razor");
}
else if (File.Exists(Path.Combine(serverProjectDirectory, "App.razor")))
{
fileName = Path.Combine(projectDirectory, "App.razor");
}
}
}
if (projectDirectory.IsNullOrWhiteSpace())
{
throw new BundlingException($"App.razor file could not be found on the {projectDirectory} project.");
}
}
else
{
fileName = Path.Combine(PathHelper.GetWwwRootPath(directory), "index.html");
}
await UpdateDependenciesInBlazorFileAsync(fileName, styleDefinitions, scriptDefinitions);

45
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Components/App.razor

@ -0,0 +1,45 @@
@using Volo.Abp.Localization
@using System.Globalization
@using Microsoft.Extensions.Hosting
@using Volo.Abp.AspNetCore.Components.Server.Theming.Bundling
@using Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme.Bundling
@inject IHostEnvironment Env
@{
var rtl = CultureHelper.IsRtl ? "rtl" : string.Empty;
}
<!DOCTYPE html>
<html lang="@CultureInfo.CurrentCulture.Name" dir="@rtl">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>MyCompanyName.MyProjectName.Blazor.Server</title>
<base href="/" />
<AbpStyles BundleName="@BlazorLeptonXLiteThemeBundles.Styles.Global" />
<HeadOutlet @rendermode="InteractiveServer" />
</head>
<body>
<Routes @rendermode="InteractiveServer" />
<AbpScripts BundleName="@BlazorLeptonXLiteThemeBundles.Scripts.Global" />
<div id="blazor-error-ui">
@if (Env.IsDevelopment())
{
<text>An unhandled exception has occurred. See browser dev tools for details.</text>
}
else if (Env.IsStaging() || Env.IsProduction())
{
<text>An error has occurred. This application may no longer respond until reloaded.</text>
}
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
</div>
</body>
</html>

0
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Pages/Index.razor → templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Components/Pages/Index.razor

0
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Pages/Index.razor.cs → templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Components/Pages/Index.razor.cs

0
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Pages/Index.razor.css → templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Components/Pages/Index.razor.css

0
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Pages/_ViewImports.cshtml → templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Components/Pages/_ViewImports.cshtml

14
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Components/Routes.razor

@ -0,0 +1,14 @@
@using Volo.Abp.AspNetCore.Components.Web.LeptonXLiteTheme.Themes.LeptonXLite
@using Volo.Abp.AspNetCore.Components.Web.Theming.Routing
@using Microsoft.Extensions.Options
@inject IOptions<AbpRouterOptions> RouterOptions
<Router AppAssembly="typeof(Program).Assembly" AdditionalAssemblies="RouterOptions.Value.AdditionalAssemblies">
<Found Context="routeData">
<AuthorizeRouteView RouteData="routeData" DefaultLayout="typeof(MainLayout)">
<NotAuthorized>
<RedirectToLogin />
</NotAuthorized>
</AuthorizeRouteView>
<FocusOnNavigate RouteData="routeData" Selector="h1" />
</Found>
</Router>

22
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyProjectNameModule.cs

@ -2,7 +2,9 @@ using Blazorise.Bootstrap5;
using Blazorise.Icons.FontAwesome;
using Microsoft.AspNetCore.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models;
using MyCompanyName.MyProjectName.Blazor.Server.Mongo.Components;
using MyCompanyName.MyProjectName.Data;
using MyCompanyName.MyProjectName.Localization;
using MyCompanyName.MyProjectName.Menus;
@ -10,6 +12,7 @@ using OpenIddict.Validation.AspNetCore;
using Volo.Abp;
using Volo.Abp.Account;
using Volo.Abp.Account.Web;
using Volo.Abp.AspNetCore.Components.Server;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite;
using Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme;
using Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme.Bundling;
@ -146,6 +149,11 @@ public class MyProjectNameModule : AbpModule
serverBuilder.AddProductionEncryptionAndSigningCertificate("openiddict.pfx", "00000000-0000-0000-0000-000000000000");
});
}
PreConfigure<AbpAspNetCoreComponentsWebOptions>(options =>
{
options.IsBlazorWebApp = true;
});
}
public override void ConfigureServices(ServiceConfigurationContext context)
@ -158,6 +166,10 @@ public class MyProjectNameModule : AbpModule
context.Services.Replace(ServiceDescriptor.Singleton<IEmailSender, NullEmailSender>());
}
// Add services to the container.
context.Services.AddRazorComponents()
.AddInteractiveServerComponents();
ConfigureAuthentication(context);
ConfigureUrls(configuration);
ConfigureBundles();
@ -210,7 +222,7 @@ public class MyProjectNameModule : AbpModule
{
bundle.AddFiles("/blazor-global-styles.css");
//You can remove the following line if you don't use Blazor CSS isolation for components
bundle.AddFiles("/MyCompanyName.MyProjectName.Blazor.Server.styles.css");
bundle.AddFiles("/MyCompanyName.MyProjectName.Blazor.Server.Mongo.styles.css");
}
);
});
@ -364,6 +376,7 @@ public class MyProjectNameModule : AbpModule
app.UseUnitOfWork();
app.UseDynamicClaims();
app.UseAntiforgery();
app.UseAuthorization();
app.UseSwagger();
@ -374,6 +387,11 @@ public class MyProjectNameModule : AbpModule
app.UseAuditing();
app.UseAbpSerilogEnrichers();
app.UseConfiguredEndpoints();
app.UseConfiguredEndpoints(builder =>
{
builder.MapRazorComponents<App>()
.AddInteractiveServerRenderMode()
.AddAdditionalAssemblies(builder.ServiceProvider.GetRequiredService<IOptions<AbpRouterOptions>>().Value.AdditionalAssemblies.ToArray());
});
}
}

39
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/Pages/_Host.cshtml

@ -1,39 +0,0 @@
@page "/"
@namespace MyCompanyName.MyProjectName.Blazor.Server.Pages
@using System.Globalization
@using Volo.Abp.AspNetCore.Components.Web.LeptonXLiteTheme.Themes.LeptonXLite
@using Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme.Bundling
@using Volo.Abp.Localization
@{
Layout = null;
var rtl = CultureHelper.IsRtl ? "rtl" : string.Empty;
}
<!DOCTYPE html>
<html lang="@CultureInfo.CurrentCulture.Name" dir="@rtl">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>MyCompanyName.MyProjectName.Blazor.Server</title>
<base href="~/" />
<abp-style-bundle name="@BlazorLeptonXLiteThemeBundles.Styles.Global"/>
</head>
<body class="abp-application-layout bg-light @rtl">
<component type="typeof(App)" render-mode="Server" />
<div id="blazor-error-ui">
<environment include="Staging,Production">
An error has occurred. This application may no longer respond until reloaded.
</environment>
<environment include="Development">
An unhandled exception has occurred. See browser dev tools for details.
</environment>
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
</div>
<abp-script-bundle name="@BlazorLeptonXLiteThemeBundles.Scripts.Global" />
</body>
</html>

3
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/_Imports.razor

@ -5,9 +5,10 @@
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using static Microsoft.AspNetCore.Components.Web.RenderMode
@using Microsoft.JSInterop
@using MyCompanyName.MyProjectName.Blazor.Server
@using Blazorise
@using Blazorise.DataGrid
@using Volo.Abp.BlazoriseUI
@using Volo.Abp.BlazoriseUI.Components
@using Volo.Abp.BlazoriseUI.Components

45
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Components/App.razor

@ -0,0 +1,45 @@
@using Volo.Abp.Localization
@using System.Globalization
@using Microsoft.Extensions.Hosting
@using Volo.Abp.AspNetCore.Components.Server.Theming.Bundling
@using Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme.Bundling
@inject IHostEnvironment Env
@{
var rtl = CultureHelper.IsRtl ? "rtl" : string.Empty;
}
<!DOCTYPE html>
<html lang="@CultureInfo.CurrentCulture.Name" dir="@rtl">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>MyCompanyName.MyProjectName.Blazor.Server</title>
<base href="/" />
<AbpStyles BundleName="@BlazorLeptonXLiteThemeBundles.Styles.Global" />
<HeadOutlet @rendermode="InteractiveServer" />
</head>
<body>
<Routes @rendermode="InteractiveServer" />
<AbpScripts BundleName="@BlazorLeptonXLiteThemeBundles.Scripts.Global" />
<div id="blazor-error-ui">
@if (Env.IsDevelopment())
{
<text>An unhandled exception has occurred. See browser dev tools for details.</text>
}
else if (Env.IsStaging() || Env.IsProduction())
{
<text>An error has occurred. This application may no longer respond until reloaded.</text>
}
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
</div>
</body>
</html>

0
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Pages/Index.razor → templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Components/Pages/Index.razor

0
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Pages/Index.razor.cs → templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Components/Pages/Index.razor.cs

0
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Pages/Index.razor.css → templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Components/Pages/Index.razor.css

0
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Pages/_ViewImports.cshtml → templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Components/Pages/_ViewImports.cshtml

14
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Components/Routes.razor

@ -0,0 +1,14 @@
@using Volo.Abp.AspNetCore.Components.Web.LeptonXLiteTheme.Themes.LeptonXLite
@using Volo.Abp.AspNetCore.Components.Web.Theming.Routing
@using Microsoft.Extensions.Options
@inject IOptions<AbpRouterOptions> RouterOptions
<Router AppAssembly="typeof(Program).Assembly" AdditionalAssemblies="RouterOptions.Value.AdditionalAssemblies">
<Found Context="routeData">
<AuthorizeRouteView RouteData="routeData" DefaultLayout="typeof(MainLayout)">
<NotAuthorized>
<RedirectToLogin />
</NotAuthorized>
</AuthorizeRouteView>
<FocusOnNavigate RouteData="routeData" Selector="h1" />
</Found>
</Router>

20
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameModule.cs

@ -2,7 +2,9 @@ using Blazorise.Bootstrap5;
using Blazorise.Icons.FontAwesome;
using Microsoft.AspNetCore.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models;
using MyCompanyName.MyProjectName.Blazor.Server.Components;
using MyCompanyName.MyProjectName.Data;
using MyCompanyName.MyProjectName.Localization;
using MyCompanyName.MyProjectName.Menus;
@ -11,6 +13,7 @@ using Volo.Abp;
using Volo.Abp.Uow;
using Volo.Abp.Account;
using Volo.Abp.Account.Web;
using Volo.Abp.AspNetCore.Components.Server;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite;
using Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme;
using Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme.Bundling;
@ -148,6 +151,11 @@ public class MyProjectNameModule : AbpModule
serverBuilder.AddProductionEncryptionAndSigningCertificate("openiddict.pfx", "00000000-0000-0000-0000-000000000000");
});
}
PreConfigure<AbpAspNetCoreComponentsWebOptions>(options =>
{
options.IsBlazorWebApp = true;
});
}
public override void ConfigureServices(ServiceConfigurationContext context)
@ -160,6 +168,10 @@ public class MyProjectNameModule : AbpModule
context.Services.Replace(ServiceDescriptor.Singleton<IEmailSender, NullEmailSender>());
}
// Add services to the container.
context.Services.AddRazorComponents()
.AddInteractiveServerComponents();
ConfigureAuthentication(context);
ConfigureUrls(configuration);
ConfigureBundles();
@ -380,6 +392,7 @@ public class MyProjectNameModule : AbpModule
app.UseUnitOfWork();
app.UseDynamicClaims();
app.UseAntiforgery();
app.UseAuthorization();
app.UseSwagger();
@ -390,6 +403,11 @@ public class MyProjectNameModule : AbpModule
app.UseAuditing();
app.UseAbpSerilogEnrichers();
app.UseConfiguredEndpoints();
app.UseConfiguredEndpoints(builder =>
{
builder.MapRazorComponents<App>()
.AddInteractiveServerRenderMode()
.AddAdditionalAssemblies(builder.ServiceProvider.GetRequiredService<IOptions<AbpRouterOptions>>().Value.AdditionalAssemblies.ToArray());
});
}
}

39
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Pages/_Host.cshtml

@ -1,39 +0,0 @@
@page "/"
@namespace MyCompanyName.MyProjectName.Blazor.Server.Pages
@using System.Globalization
@using Volo.Abp.AspNetCore.Components.Web.LeptonXLiteTheme.Themes.LeptonXLite
@using Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme.Bundling
@using Volo.Abp.Localization
@{
Layout = null;
var rtl = CultureHelper.IsRtl ? "rtl" : string.Empty;
}
<!DOCTYPE html>
<html lang="@CultureInfo.CurrentCulture.Name" dir="@rtl">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>MyCompanyName.MyProjectName.Blazor.Server</title>
<base href="~/" />
<abp-style-bundle name="@BlazorLeptonXLiteThemeBundles.Styles.Global"/>
</head>
<body class="abp-application-layout bg-light @rtl">
<component type="typeof(App)" render-mode="Server" />
<div id="blazor-error-ui">
<environment include="Staging,Production">
An error has occurred. This application may no longer respond until reloaded.
</environment>
<environment include="Development">
An unhandled exception has occurred. See browser dev tools for details.
</environment>
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
</div>
<abp-script-bundle name="@BlazorLeptonXLiteThemeBundles.Scripts.Global" />
</body>
</html>

3
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/_Imports.razor

@ -5,9 +5,10 @@
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using static Microsoft.AspNetCore.Components.Web.RenderMode
@using Microsoft.JSInterop
@using MyCompanyName.MyProjectName.Blazor.Server
@using Blazorise
@using Blazorise.DataGrid
@using Volo.Abp.BlazoriseUI
@using Volo.Abp.BlazoriseUI.Components
@using Volo.Abp.BlazoriseUI.Components

12
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/Routes.razor

@ -0,0 +1,12 @@
@using Volo.Abp.AspNetCore.Components.WebAssembly.WebApp
@using Volo.Abp.AspNetCore.Components.Web.LeptonXLiteTheme.Themes.LeptonXLite
<Router AppAssembly="typeof(Program).Assembly" AdditionalAssemblies="WebAppAdditionalAssembliesHelper.GetAssemblies<MyProjectNameBlazorModule>()">
<Found Context="routeData">
<AuthorizeRouteView RouteData="routeData" DefaultLayout="typeof(MainLayout)">
<NotAuthorized>
<RedirectToLogin />
</NotAuthorized>
</AuthorizeRouteView>
<FocusOnNavigate RouteData="routeData" Selector="h1" />
</Found>
</Router>

1
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/wwwroot/appsettings.json

@ -16,6 +16,7 @@
"Bundle": {
"Mode": "BundleAndMinify", /* Options: None, Bundle, BundleAndMinify */
"Name": "global",
"IsBlazorWebApp": true,
"Parameters": {
}

2
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/wwwroot/global.js

File diff suppressed because one or more lines are too long

28
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/wwwroot/index.html → templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/Components/App.razor

@ -1,4 +1,5 @@
<!DOCTYPE html>
@using Microsoft.AspNetCore.Components.Web
<!DOCTYPE html>
<html>
<head>
@ -8,28 +9,35 @@
<base href="/" />
<!--ABP:Styles-->
<link href="global.css?_v=638411968960018751" rel="stylesheet"/>
<link href="global.css?_v=638424860497814240" rel="stylesheet"/>
<link href="main.css" rel="stylesheet"/>
<!--/ABP:Styles-->
<link href="MyCompanyName.MyProjectName.Blazor.styles.css" rel="stylesheet"/>
<!-- <TEMPLATE-REMOVE IF-NOT='PWA'> -->
<link href="manifest.json" rel="manifest" />
<link rel="apple-touch-icon" sizes="512x512" href="icon-512.png" />
<link rel="apple-touch-icon" sizes="192x192" href="icon-192.png" />
<!-- </TEMPLATE-REMOVE> -->
<HeadOutlet @rendermode="new InteractiveWebAssemblyRenderMode(prerender: false)" />
</head>
<body class="abp-application-layout bg-light">
<div id="ApplicationContainer">
<div class="spinner">
<div class="double-bounce1"></div>
<div class="double-bounce2"></div>
<script src="_framework/blazor.web.js"></script>
<div id="ApplicationContainer">
<div class="spinner">
<div class="double-bounce1"></div>
<div class="double-bounce2"></div>
</div>
<Routes @rendermode="new InteractiveWebAssemblyRenderMode(prerender: false)"/>
</div>
</div>
<!--ABP:Scripts-->
<script src="global.js?_v=638411968961800080"></script>
<!--ABP:Scripts-->
<script src="global.js?_v=638424860499290294"></script>
<!--/ABP:Scripts-->
</body>
</html>

16
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server.Mongo/MyProjectNameHostModule.cs

@ -6,11 +6,13 @@ using Microsoft.OpenApi.Models;
using MyCompanyName.MyProjectName.Data;
using MyCompanyName.MyProjectName.Localization;
using MyCompanyName.MyProjectName;
using MyCompanyName.MyProjectName.Components;
using MyCompanyName.MyProjectName.MultiTenancy;
using OpenIddict.Validation.AspNetCore;
using Volo.Abp;
using Volo.Abp.Account;
using Volo.Abp.Account.Web;
using Volo.Abp.AspNetCore.Components.WebAssembly.WebApp;
using Volo.Abp.AspNetCore.MultiTenancy;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.Localization;
@ -145,6 +147,10 @@ public class MyProjectNameHostModule : AbpModule
context.Services.Replace(ServiceDescriptor.Singleton<IEmailSender, NullEmailSender>());
}
// Add services to the container.
context.Services.AddRazorComponents()
.AddInteractiveWebAssemblyComponents();
ConfigureAuthentication(context);
ConfigureBundles();
ConfigureMultiTenancy();
@ -318,6 +324,7 @@ public class MyProjectNameHostModule : AbpModule
app.UseUnitOfWork();
app.UseDynamicClaims();
app.UseAntiforgery();
app.UseAuthorization();
app.UseSwagger();
@ -333,10 +340,11 @@ public class MyProjectNameHostModule : AbpModule
app.UseAuditing();
app.UseAbpSerilogEnrichers();
app.UseConfiguredEndpoints();
if (app is WebApplication webApp)
app.UseConfiguredEndpoints(builder =>
{
webApp.MapFallbackToFile("index.html");
}
builder.MapRazorComponents<App>()
.AddInteractiveWebAssemblyRenderMode()
.AddAdditionalAssemblies(WebAppAdditionalAssembliesHelper.GetAssemblies<MyProjectNameBlazorModule>());
});
}
}

43
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Components/App.razor

@ -0,0 +1,43 @@
@using Microsoft.AspNetCore.Components.Web
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>MyCompanyName.MyProjectName.Blazor</title>
<base href="/" />
<!--ABP:Styles-->
<link href="global.css?_v=638424860497814240" rel="stylesheet"/>
<link href="main.css" rel="stylesheet"/>
<!--/ABP:Styles-->
<!-- <TEMPLATE-REMOVE IF-NOT='PWA'> -->
<link href="manifest.json" rel="manifest" />
<link rel="apple-touch-icon" sizes="512x512" href="icon-512.png" />
<link rel="apple-touch-icon" sizes="192x192" href="icon-192.png" />
<!-- </TEMPLATE-REMOVE> -->
<HeadOutlet @rendermode="new InteractiveWebAssemblyRenderMode(prerender: false)" />
</head>
<body class="abp-application-layout bg-light">
<script src="_framework/blazor.web.js"></script>
<div id="ApplicationContainer">
<div class="spinner">
<div class="double-bounce1"></div>
<div class="double-bounce2"></div>
</div>
<Routes @rendermode="new InteractiveWebAssemblyRenderMode(prerender: false)"/>
</div>
<!--ABP:Scripts-->
<script src="global.js?_v=638424860499290294"></script>
<!--/ABP:Scripts-->
</body>
</html>

17
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/MyProjectNameHostModule.cs

@ -6,11 +6,13 @@ using Microsoft.OpenApi.Models;
using MyCompanyName.MyProjectName.Data;
using MyCompanyName.MyProjectName.Localization;
using MyCompanyName.MyProjectName;
using MyCompanyName.MyProjectName.Components;
using MyCompanyName.MyProjectName.MultiTenancy;
using OpenIddict.Validation.AspNetCore;
using Volo.Abp;
using Volo.Abp.Account;
using Volo.Abp.Account.Web;
using Volo.Abp.AspNetCore.Components.WebAssembly.WebApp;
using Volo.Abp.AspNetCore.MultiTenancy;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.Localization;
@ -148,6 +150,10 @@ public class MyProjectNameHostModule : AbpModule
context.Services.Replace(ServiceDescriptor.Singleton<IEmailSender, NullEmailSender>());
}
// Add services to the container.
context.Services.AddRazorComponents()
.AddInteractiveWebAssemblyComponents();
ConfigureAuthentication(context);
ConfigureBundles();
ConfigureMultiTenancy();
@ -335,6 +341,7 @@ public class MyProjectNameHostModule : AbpModule
app.UseUnitOfWork();
app.UseDynamicClaims();
app.UseAntiforgery();
app.UseAuthorization();
app.UseSwagger();
@ -349,11 +356,11 @@ public class MyProjectNameHostModule : AbpModule
app.UseAuditing();
app.UseAbpSerilogEnrichers();
app.UseConfiguredEndpoints();
if (app is WebApplication webApp)
app.UseConfiguredEndpoints(builder =>
{
webApp.MapFallbackToFile("index.html");
}
builder.MapRazorComponents<App>()
.AddInteractiveWebAssemblyRenderMode()
.AddAdditionalAssemblies(WebAppAdditionalAssembliesHelper.GetAssemblies<MyProjectNameBlazorModule>());
});
}
}

Loading…
Cancel
Save