Окно с виджетом входа

Login Widget

Создайте в одном проекте C# Script два файла — Script.csx и MainWindow.razor с содержимым ниже. Пространство имён PhantomPixel должно совпадать в Razor и using скрипта. GetService, IBlazorWindow и базовый компонент предоставляет хост EyeAuras; это не самостоятельное приложение WPF или обычный C# helper.

Login Widget — это быстрый и удобный способ вызвать форму входа из собственного интерфейса.

С его помощью пользователь может авторизоваться, не выводя главное окно EyeAuras на передний план.

Login Widget

Пример

Готовый пример можно импортировать отсюда: https://eu.eyeauras.net/share/S20250227194343PPMhqedSZnTo

  1. Создайте ауру со скриптом.
  2. Скопируйте код ниже и запустите его.
  3. В новом окне должен появиться LoginWidget с кнопкой Login либо именем пользователя.

Script.csx

csharp
using PhantomPixel;
using PoeShared.Blazor.Wpf;

{
    using var window = GetService<IBlazorWindow>();
    window.ViewType = typeof(MainWindow);
    window.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
    window.ShowDialog(cancellationToken);
}

MainWindow.razor

razor
@namespace PhantomPixel
@using PoeShared.Blazor
@using EyeAuras.Blazor.Controls
@inherits BlazorReactiveComponent

<h3 class="text-center">Using login Widget</h3>
<LoginWidget/>

@code {
    
}

LoginWidget получает ILicenseAccessor и ILoginPopupDisplayer из контейнера приложения. Нажатие вызывает popup входа; успешная авторизация зависит от служб приложения и внешнего сервиса. Виджет не выдаёт лицензию или sublicence lease и не доказывает доступность платного пака. В произвольном Blazor-хосте этих регистраций может не быть.

Скрипт ждёт закрытия окна или Stop через ShowDialog(cancellationToken), затем using освобождает окно. Этот токен задаёт ожидание окна; поддержку отмены сетевого входа нужно проверять отдельно в API loader своей версии.

Дальше

Контекст скрипта · Окна Blazor · IBlazorWindow

Контракты сверены со срезом EyeAuras 20fd3d4 и PoeEye 0e02c98. Полные сигнатуры смотрите в SDK/XML своей версии; наличие символа не подтверждает доступность внешнего пакета или нативного компонента. Пример здесь не проверялся компиляцией или запуском.