ExamEdit&Check

This commit is contained in:
SpecialX
2025-06-12 19:01:05 +08:00
parent e26881ec2f
commit b77ed0b30f
18 changed files with 729 additions and 328 deletions

View File

@@ -14,6 +14,7 @@ using Microsoft.Extensions.Options;
using Microsoft.AspNetCore.Components.WebAssembly.Authentication;
using TechHelper.Client.AI;
using TechHelper.Client.Exam;
using Microsoft.AspNetCore.Components;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
@@ -27,36 +28,46 @@ builder.Services.AddOidcAuthentication(options =>
});
builder.Services.Configure<ApiConfiguration>(builder.Configuration.GetSection("ApiConfiguration"));
builder.Services.AddAuthorizationCore();
builder.Services.AddCascadingAuthenticationState();
builder.Services.AddLocalStorageServices();
builder.Services.AddScoped<IAuthenticationClientService, AuthenticationClientService>();
builder.Services.AddScoped<IExamService, ExamService>();
builder.Services.AddScoped<AuthenticationStateProvider, AuthStateProvider>();
builder.Services.Configure<ApiConfiguration>(builder.Configuration.GetSection("ApiConfiguration"));
builder.Services.AddScoped<RefreshTokenService>();
builder.Services.AddScoped<IRefreshTokenService, RefreshTokenService>();
builder.Services.AddScoped<IClassServices, ClasssServices>();
builder.Services.AddScoped<IEmailSender, QEmailSender>();
builder.Services.AddTransient<HttpInterceptorHandlerService>();
builder.Services.AddScoped<HttpInterceptorHandlerService>();
builder.Services.AddScoped<RefreshTokenService2>();
builder.Services.AddScoped<IAIService, AiService>();
builder.Services.AddHttpClient("WebApiClient", client =>
{
var baseAddress = builder.Configuration.GetSection("ApiConfiguration:BaseAddress").Value;
client.BaseAddress = new Uri(baseAddress);
client.BaseAddress = new Uri(baseAddress+"/api/");
client.Timeout = TimeSpan.FromSeconds(30);
client.DefaultRequestHeaders.Add("Accept", "application/json");
}).AddHttpMessageHandler<HttpInterceptorHandlerService>();
builder.Services.AddScoped(sp => sp.GetRequiredService<IHttpClientFactory>().CreateClient("WebApiClient"));
builder.Services.AddHttpClient("Default", (sp, cl) =>
builder.Services.AddHttpClient("AuthClient", client =>
{
var apiConfiguration = sp.GetRequiredService<IOptions<ApiConfiguration>>().Value;
cl.BaseAddress = new Uri(apiConfiguration.BaseAddress + "/api/");
})
.AddHttpMessageHandler<HttpInterceptorHandlerService>();
var baseAddress = builder.Configuration.GetSection("ApiConfiguration:BaseAddress").Value;
client.BaseAddress = new Uri(baseAddress);
client.Timeout = TimeSpan.FromSeconds(30);
client.DefaultRequestHeaders.Add("Accept", "application/json");
});
//builder.Services.AddHttpClient("Default", (sp, cl) =>
//{
// var apiConfiguration = sp.GetRequiredService<IOptions<ApiConfiguration>>().Value;
// cl.BaseAddress = new Uri(apiConfiguration.BaseAddress + "/api/");
//})
// .AddHttpMessageHandler<HttpInterceptorHandlerService>();
builder.Services.AddScoped<IAIService, AiService>();
//builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
//builder.Services.AddScoped(sp => sp.GetRequiredService<IHttpClientFactory>().CreateClient("Default"));