45 lines
1.4 KiB
C#
45 lines
1.4 KiB
C#
using CORP_MAUI.Pages;
|
||
|
||
namespace CORP_MAUI;
|
||
|
||
public partial class AppShell : Shell
|
||
{
|
||
public AppShell()
|
||
{
|
||
InitializeComponent();
|
||
|
||
// Регистрация маршрутов для навигации
|
||
Routing.RegisterRoute(nameof(ChatPage), typeof(ChatPage));
|
||
|
||
// Инициализация при загрузке
|
||
_ = InitializeAsync();
|
||
}
|
||
|
||
private async Task InitializeAsync()
|
||
{
|
||
try
|
||
{
|
||
// Инициализируем сервисы
|
||
ServiceProvider.Initialize();
|
||
|
||
// Проверяем, авторизован ли пользователь (токены загружаются автоматически в ApiService)
|
||
if (ServiceProvider.ApiService.IsAuthenticated)
|
||
{
|
||
// Получаем токен для WebSocket
|
||
var accessToken = await SecureStorage.GetAsync("api.jwt_access");
|
||
|
||
if (!string.IsNullOrEmpty(accessToken))
|
||
{
|
||
// Подключаем WebSocket
|
||
await ServiceProvider.WebSocketService.ConnectAsync(accessToken);
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
await DisplayAlert("Ошибка", $"Ошибка инициализации: {ex.Message}", "OK");
|
||
}
|
||
}
|
||
}
|
||
|