Доработана QR авторизация

This commit is contained in:
FrigaT
2026-04-20 16:06:47 +03:00
parent 12241639dc
commit 9c95e6b189
11 changed files with 784 additions and 45 deletions

View File

@@ -88,7 +88,7 @@
{
try
{
await Task.Delay(2000, token);
await Task.Delay(500, token);
var statusResponse = await Http.GetFromJsonAsync<ApiResponse<YandexAuthQrCheck>>($"/api/yandexaccount/qr/{_sessionId}", token);
if (statusResponse?.Data != null)
{
@@ -101,13 +101,15 @@
_statusText = "Авторизация успешна!";
_isWaiting = false;
Snackbar.Add("Авторизация выполнена", Severity.Success);
MudDialog.Close(DialogResult.Ok(true));
_cts?.Cancel();
MudDialog.Close(DialogResult.Ok(true));
return;
case Shared.Enums.YandexAuthQrStatus.Expired:
_cts?.Cancel();
ShowError("Срок действия QR-кода истёк");
return;
case Shared.Enums.YandexAuthQrStatus.Error:
_cts?.Cancel();
ShowError("Ошибка авторизации");
return;
}

View File

@@ -39,7 +39,7 @@
Dense
Color="Color.Primary">
<MudMenuItem OnClick="OpenTokenDialog">Token</MudMenuItem>
<MudMenuItem OnClick="OpenQrDialog">Qr</MudMenuItem>
<MudMenuItem OnClick="OpenQrServerDialog">QR</MudMenuItem>
</MudMenu>
</MudStack>
</MudCardContent>
@@ -77,10 +77,10 @@
if (!result.Canceled) await LoadStatus();
}
private async Task OpenQrDialog()
private async Task OpenQrServerDialog()
{
var options = new DialogOptions { CloseOnEscapeKey = true, MaxWidth = MaxWidth.Small, FullWidth = true };
var dialog = await DialogService.ShowAsync<YandexQrDialog>("", options);
var dialog = await DialogService.ShowAsync<YandexQrServerDialog>("", options);
var result = await dialog.Result;
if (!result.Canceled) await LoadStatus();