Client/AntDesignClient/Gardener.Client.AntDesignUi.Entry/Program.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Gardener.Client.Base;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.Extensions.Options;
using Gardener.Base.Resources;
using AntDesign.ProLayout;
using Gardener.Client.AntDesignUi.Base.Extensions;
using Gardener.Client.AntDesignUi.Base.Constants;
using Gardener.Client.Core;
namespace Gardener.Client.AntDesignUi.Entry
{
public class Program
{
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");
#region api settings
builder.AddApiSetting();
#endregion
#region httpclient
builder.Services.AddScoped(sp => {
IOptions<ApiSettings> settings = sp.GetRequiredService<IOptions<ApiSettings>>();
return new HttpClient { BaseAddress = new Uri(settings.Value.BaseAddres) };
});
#endregion
#region log
builder.Logging.AddConfiguration(
builder.Configuration.GetSection("Logging")
);
#endregion
#region ant design
builder.Services.AddAntDesign();
builder.Services.Configure<ProSettings>(builder.Configuration.GetSection("ProSettings"));
#endregion
#region 认证、授权
builder.Services.AddScoped<IAuthenticationStateManager, AuthenticationStateManager>();
builder.Services.AddScoped<AuthenticationStateProvider, CustomAuthenticationStateProvider>();
builder.Services.AddAuthorizationCore(option =>
{
option.AddPolicy(AuthConstant.DefaultAuthenticatedPolicy, a => a.RequireAuthenticatedUser());
option.AddPolicy(AuthConstant.ClientUIResourcePolicy, a => a.Requirements.Add(new ClientUIAuthorizationRequirement()));
var defaultPolicy = option.GetPolicy(AuthConstant.DefaultAuthenticatedPolicy);
if (defaultPolicy != null)
后面还有 36 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
