From 0f1ce0dd933739881bcccae12f6a32ac095bb22e Mon Sep 17 00:00:00 2001 From: "HOME-LAPTOP\\kshkulev" Date: Thu, 25 Sep 2025 18:03:42 +0900 Subject: [PATCH] Add export test page --- Hcs.WebApp/Components/Layout/MainLayout.razor | 11 ++- Hcs.WebApp/Components/Pages/Error.razor | 1 - Hcs.WebApp/Components/Pages/Home.razor | 9 --- Hcs.WebApp/Components/Pages/Test/Export.razor | 74 ++++++++++++++++++ .../Components/Shared/EventConsole.razor | 75 +++++++++++++++++++ Hcs.WebApp/Hcs.WebApp.csproj | 4 + 6 files changed, 160 insertions(+), 14 deletions(-) create mode 100644 Hcs.WebApp/Components/Pages/Test/Export.razor create mode 100644 Hcs.WebApp/Components/Shared/EventConsole.razor diff --git a/Hcs.WebApp/Components/Layout/MainLayout.razor b/Hcs.WebApp/Components/Layout/MainLayout.razor index d5f23f4..ecdfaa9 100644 --- a/Hcs.WebApp/Components/Layout/MainLayout.razor +++ b/Hcs.WebApp/Components/Layout/MainLayout.razor @@ -1,5 +1,7 @@ @inherits LayoutComponentBase +@inject NavigationManager NavigationManager + @@ -11,13 +13,14 @@ - + + + + -
- @Body -
+ @Body
Произошла непредвиденная ошибка diff --git a/Hcs.WebApp/Components/Pages/Error.razor b/Hcs.WebApp/Components/Pages/Error.razor index 89a04e3..c08befb 100644 --- a/Hcs.WebApp/Components/Pages/Error.razor +++ b/Hcs.WebApp/Components/Pages/Error.razor @@ -4,7 +4,6 @@ Ошибка -

Ошибка

При выполнении запроса возникла ошибка

@if (ShowRequestId) diff --git a/Hcs.WebApp/Components/Pages/Home.razor b/Hcs.WebApp/Components/Pages/Home.razor index 3bebc4e..91e44f9 100644 --- a/Hcs.WebApp/Components/Pages/Home.razor +++ b/Hcs.WebApp/Components/Pages/Home.razor @@ -1,12 +1,3 @@ @page "/" Главная - - - -@code { - void ButtonClicked() - { - Console.WriteLine("Кнопка нажата"); - } -} diff --git a/Hcs.WebApp/Components/Pages/Test/Export.razor b/Hcs.WebApp/Components/Pages/Test/Export.razor new file mode 100644 index 0000000..ee7c787 --- /dev/null +++ b/Hcs.WebApp/Components/Pages/Test/Export.razor @@ -0,0 +1,74 @@ +@page "/test/export" + +@using Hcs.Client +@using Hcs.Client.Logger +@using Hcs.Client.MessageCapturer +@using Hcs.Service.Async.Nsi +@using Hcs.WebApp.Components.Shared + +Тестирование экспорта + + + +
+ + + + + Сервис nsi + OnNsiExportItem1Click()) Text="Экспорт НСИ 1" ButtonStyle="ButtonStyle.Primary" /> + + + + +
+
+ + + + + + + + + + + + + +
+ +@code { + EventConsole console = default!; + ActionLogger logger = new ActionLogger(); + UniClient client; + + public Export() + { + logger.OnWriteLine += OnLog; + + client = new UniClient + { + OrgPPAGUID = "ccd7fa02-a2bf-428a-984b-faef69ae0eb2", + ExecutorGUID = "ccd7fa02-a2bf-428a-984b-faef69ae0eb2", + UseTunnel = false, + IsPPAK = false, + Role = OrganizationRole.RSO, + Logger = logger, + MessageCapturer = new FileMessageCapturer(null, logger) + }; + + var cert = client.FindCertificate(x => x.SerialNumber == "0636D2330032B3C38A4A26D765C787C248"); + client.SetSigningCertificate(cert); + } + + void OnLog(string log) + { + console.Log(log); + } + + void OnNsiExportItem1Click() + { + client.Nsi.ExportDataProviderNsiItemAsync(exportDataProviderNsiItemRequestRegistryNumber.Item1); + } +} diff --git a/Hcs.WebApp/Components/Shared/EventConsole.razor b/Hcs.WebApp/Components/Shared/EventConsole.razor new file mode 100644 index 0000000..0d24641 --- /dev/null +++ b/Hcs.WebApp/Components/Shared/EventConsole.razor @@ -0,0 +1,75 @@ +@using Radzen +@using System.Text.Json +@using System.Diagnostics.CodeAnalysis + +@inject IJSRuntime JSRuntime + + + + + Логи + + + + @foreach (var message in messages) + { + + @message.Date.ToString("HH:mm:ss.ff") @message.Text + + } + + + + +@code { + class Message + { + public DateTime Date { get; set; } + [AllowNull] + public string Text { get; set; } + public AlertStyle AlertStyle { get; set; } + } + + [Parameter(CaptureUnmatchedValues = true)] + [AllowNull] + public IDictionary Attributes { get; set; } + + IList messages = new List(); + + protected override async Task OnAfterRenderAsync(bool firstRender) + { + if (!firstRender) + { + await JSRuntime.InvokeVoidAsync("eval", $"document.getElementById('event-console').scrollTop = document.getElementById('event-console').scrollHeight"); + } + } + + void OnClearClick() + { + Clear(); + } + + public void Clear() + { + messages.Clear(); + + InvokeAsync(StateHasChanged); + } + + public void Log(string message, AlertStyle alertStyle = AlertStyle.Info) + { + messages.Add(new Message + { + Date = DateTime.Now, + Text = message, + AlertStyle = alertStyle + }); + + InvokeAsync(StateHasChanged); + } + + public void Log(object value) + { + Log(JsonSerializer.Serialize(value)); + } +} diff --git a/Hcs.WebApp/Hcs.WebApp.csproj b/Hcs.WebApp/Hcs.WebApp.csproj index 0f1c9d5..3669bfa 100644 --- a/Hcs.WebApp/Hcs.WebApp.csproj +++ b/Hcs.WebApp/Hcs.WebApp.csproj @@ -14,4 +14,8 @@ + + + +