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
- Povolte instalaci z neznámých zdrojů (Nastavení → Zabezpečení)
- Stáhněte APK z interního distribučního kanálu
- 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í:
- URL API serveru — zadejte adresu Eva.Mobile.WebApi (např.
https://eva.firma.cz) - Aplikace ověří spojení
- 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):
- Jméno + heslo/PIN —
LoginPageViewModel.OnVerifinejdří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. - QR kód zařízení —
OnLoginWithQrotevře kamerový skener; naskenovaný kód s prefixemEVA-DEV:se ověří přesLoginWithDeviceTokenAsync(stejnýDeviceTokenmechanismus 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.