Přeskočit obsah

Mobilní aplikace (Eva.Mobile)

Eva.Mobile je multiplatformní mobilní aplikace postavená na .NET MAUI pro práci v terénu — inventarizaci, skenování čárových kódů a RFID.


Podporované platformy

Platforma Minimální verze
Android Android 10 (API 29)
iOS iOS 15
Windows Windows 10 (WinUI)

Instalace

Android

📸 Screenshot: Instalační dialog APK na Androidu

  1. Povolte instalaci z neznámých zdrojů (Nastavení → Zabezpečení)
  2. Stáhněte APK z interního distribučního kanálu
  3. Otevřete APK a potvrďte instalaci

iOS

Distribuce přes TestFlight nebo Enterprise Certificate. Kontaktujte správce pro odkaz na instalaci.

Windows

Distribuce přes MSIX balíček nebo přímou instalaci z Bartech distribučního serveru.


První spuštění

📸 Screenshot: Uvítací obrazovka prvního spuštění s polem pro URL serveru

Při prvním spuštění se zobrazí průvodce konfigurací:

  1. URL API serveru — zadejte adresu Eva.Mobile.WebApi (např. https://eva.firma.cz)
  2. Aplikace ověří spojení
  3. Přihlašte se pomocí User ID a PIN

Nastavení je uloženo lokálně a přetrvává mezi spuštěními.


Přihlášení

📸 Screenshot: Přihlašovací obrazovka s poli Jméno a Heslo/PIN

Od v1.0.43 používá aplikace JWT autentizaci (dříve pouze UserID + PIN bez tokenu):

  1. Jméno + heslo/PIN — LoginPageViewModel.OnVerifi nejdřív zkusí přihlášení heslem (POST /api/pwa-auth/login-password), při neúspěchu zkusí stejnou hodnotu jako PIN (login-pin) — umožňuje použít stejný formulář i na terminálech se zadáváním PIN kódu.
  2. QR kód zařízení — OnLoginWithQr otevře kamerový skener; naskenovaný kód s prefixem EVA-DEV: se ověří přes LoginWithDeviceTokenAsync (stejný DeviceToken mechanismus jako v Eva.Mobile.Pwa — viz Bezpečnost — Device Token / QR přihlášení).

Přístupový token je uložen v SecureStorage, s podporou stateless refresh (TryRefreshAsync) bez nutnosti ukládat refresh token na serveru. Po 401 na chráněném volání zobrazí AppShell dialog o vypršení relace (SessionExpiredMsg) a otevře přihlašovací stránku. HTTP komunikace používá dva pojmenované HttpClient: eva-auth-bare (bez auth handleru — login/refresh) a eva-api (s AuthDelegatingHandler, který automaticky vkládá Bearer token a opakuje požadavek po refreshi).

Kredence spravuje správce v Eva.Manager.


Architektura

Eva.Mobile/
├── Views/               # XAML stránky
│   ├── HomeView         # Hlavní obrazovka (výběr inventury)
│   ├── PropertyView     # Přehled majetku
│   ├── InfoView         # Informace o artiklu/lokaci/inventuře
│   ├── TransferView     # Převodky (🚧 zatím nepodporováno)
│   ├── HelpView         # Nápověda
│   ├── SettingsView     # Nastavení aplikace
│   ├── Info/            # Detailní info obrazovky
│   └── Popups/          # Modální dialogy
├── ViewModels/          # MVVM logika (CommunityToolkit.Mvvm)
└── Services/
    └── RestService      # HTTP komunikace s API

Architektura: MVVM s [ObservableProperty] a [RelayCommand] z CommunityToolkit.Mvvm. Komunikace mezi views přes WeakReferenceMessenger.