temp
This commit is contained in:
34
TechHelper.Client/Pages/Author/RestoreUserRole.razor
Normal file
34
TechHelper.Client/Pages/Author/RestoreUserRole.razor
Normal file
@@ -0,0 +1,34 @@
|
||||
@using TechHelper.Client.Services
|
||||
<MudPaper Height="50" Width="50" Outlined="true">
|
||||
|
||||
<MudButton Variant="Variant.Filled" OnClick="Restore"> Restore Role </MudButton>
|
||||
|
||||
</MudPaper>
|
||||
@code {
|
||||
[Inject]
|
||||
public IAuthenticationClientService Authentication { get; set; }
|
||||
[Inject]
|
||||
public IUserServices UserServices { get; set; }
|
||||
[Inject]
|
||||
public ISnackbar Snackbar { get; set; }
|
||||
private async Task Restore()
|
||||
{
|
||||
var result = await UserServices.RestoreUserInfo();
|
||||
if (result.Status)
|
||||
{
|
||||
|
||||
Snackbar.Add("更新成功", Severity.Success);
|
||||
|
||||
}
|
||||
else
|
||||
Snackbar.Add("更新失败", Severity.Error);
|
||||
var token = await Authentication.RefreshTokenAsync();
|
||||
if (token != null)
|
||||
Snackbar.Add("刷新令牌成功", Severity.Success);
|
||||
else
|
||||
Snackbar.Add("刷新令牌失败,你可以手动刷新", Severity.Warning);
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -24,7 +24,7 @@ else if (_questionsForTable.Any() && _students.Any())
|
||||
@student.DisplayName
|
||||
<MudTooltip Text="点击以切换此学生所有题目的对错">
|
||||
<MudIconButton Icon="@Icons.Material.Filled.Info" Size="Size.Small" Class="ml-1"
|
||||
@onclick="() => ToggleStudentAllAnswers(student.Id)" />
|
||||
@onclick="() => ToggleStudentAllAnswers(student.Id)" />
|
||||
</MudTooltip>
|
||||
</MudTh>
|
||||
}
|
||||
@@ -200,7 +200,7 @@ else
|
||||
newSubmission.StudentId = student.Id;
|
||||
newSubmission.AssignmentId = Assignment.Id;
|
||||
newSubmission.SubmissionTime = DateTime.Now;
|
||||
newSubmission.Status = Entities.Contracts.SubmissionStatus.Submitted;
|
||||
newSubmission.Status = Entities.Contracts.SubmissionStatus.Graded;
|
||||
|
||||
|
||||
foreach (var row in _questionsForTable)
|
||||
@@ -225,11 +225,15 @@ else
|
||||
submissionDto.ForEach(async s =>
|
||||
{
|
||||
Snackbar?.Add($"正在提交: {_students.FirstOrDefault(std => std.Id == s.StudentId)?.DisplayName} 的试卷", Severity.Info);
|
||||
await ExamService.SubmissionAssignment(s);
|
||||
var submidResult = await ExamService.SubmissionAssignment(s);
|
||||
if (submidResult.Status)
|
||||
Snackbar?.Add($"批改结果已提交 {_students.FirstOrDefault(st => st.Id == s.StudentId)?.DisplayName}", Severity.Success);
|
||||
else
|
||||
Snackbar?.Add("批改结果提交失败", Severity.Error);
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
Snackbar?.Add("批改结果已提交(模拟)", Severity.Success);
|
||||
}
|
||||
}
|
@@ -50,9 +50,16 @@ else
|
||||
isloding = true;
|
||||
Snackbar.Add("正在加载", Severity.Info);
|
||||
var result = await ExamService.GetAllExam();
|
||||
examDtos = result.Result as List<AssignmentDto> ?? new List<AssignmentDto>();
|
||||
if (result.Status)
|
||||
{
|
||||
examDtos = result.Result as List<AssignmentDto> ?? new List<AssignmentDto>();
|
||||
Snackbar.Add("加载成功", Severity.Info);
|
||||
}
|
||||
else
|
||||
{
|
||||
Snackbar.Add($"加载失败 {result.Message}", Severity.Error);
|
||||
}
|
||||
isloding = false;
|
||||
Snackbar.Add("加载成功", Severity.Info);
|
||||
StateHasChanged();
|
||||
}
|
||||
}
|
||||
|
@@ -55,4 +55,5 @@ else
|
||||
<MudText Class="ma-3 pa-3"> 年级 : @authenticationStateTask.Result.User.FindFirst("Grade")?.Value.ToString() </MudText>
|
||||
<MudText Class="ma-3 pa-3"> 班级 : @authenticationStateTask.Result.User.FindFirst("Class")?.Value.ToString() </MudText>
|
||||
</MudPaper>
|
||||
}
|
||||
}
|
||||
<RestoreUserRole></RestoreUserRole>
|
@@ -45,6 +45,7 @@ builder.Services.AddScoped<IClassServices, ClasssServices>();
|
||||
builder.Services.AddScoped<IEmailSender, QEmailSender>();
|
||||
builder.Services.AddScoped<HttpInterceptorHandlerService>();
|
||||
builder.Services.AddScoped<IAIService, AiService>();
|
||||
builder.Services.AddScoped<IUserServices, UserServices>();
|
||||
builder.Services.AddHttpClient("WebApiClient", client =>
|
||||
{
|
||||
var baseAddress = builder.Configuration.GetSection("ApiConfiguration:BaseAddress").Value;
|
||||
|
@@ -167,7 +167,7 @@ namespace TechHelper.Client.Services
|
||||
// 直接使用注入的 _client 实例
|
||||
var response = await _client.PostAsJsonAsync("exam/add", assiDto);
|
||||
|
||||
if (response.IsSuccessStatusCode) // 检查是否是成功的状态码,例如 200 OK, 201 Created 等
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
return ApiResponse.Success(message: "试题保存成功。");
|
||||
}
|
||||
|
9
TechHelper.Client/Services/IUserServices.cs
Normal file
9
TechHelper.Client/Services/IUserServices.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using TechHelper.Services;
|
||||
|
||||
namespace TechHelper.Client.Services
|
||||
{
|
||||
public interface IUserServices
|
||||
{
|
||||
public Task<ApiResponse> RestoreUserInfo();
|
||||
}
|
||||
}
|
24
TechHelper.Client/Services/UserServices.cs
Normal file
24
TechHelper.Client/Services/UserServices.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using TechHelper.Services;
|
||||
|
||||
namespace TechHelper.Client.Services
|
||||
{
|
||||
public class UserServices : IUserServices
|
||||
{
|
||||
private readonly HttpClient _client;
|
||||
|
||||
public UserServices(HttpClient httpClient)
|
||||
{
|
||||
_client = httpClient;
|
||||
}
|
||||
|
||||
public async Task<ApiResponse> RestoreUserInfo()
|
||||
{
|
||||
var result = await _client.GetAsync("user/restoreUserRole");
|
||||
if (result.IsSuccessStatusCode)
|
||||
{
|
||||
return ApiResponse.Success();
|
||||
}
|
||||
return ApiResponse.Error();
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user