Oihana Next UI - 0.48.0

Application logo

Scanner

Lire un code à la caméra : le détecteur natif du navigateur, ou ZXing en WebAssembly. Composant BarcodeScanner.

Sur le terrain

Avant tout composant, trois choses qu’un écran tenu en main demande : savoir si le serveur est joignable, garder l’écran allumé, et des touches qui agissent. Le bandeau de connexion n’apparaît que hors ligne : coupez le réseau (mode avion, ou l’onglet Réseau des outils de développement en « Offline ») pour le voir.

Le réseau

navigator.onLine dit si une interface est active, pas si le serveur répond : useOnline le confirme par un HEAD de /version.json, et réessaie toutes les 30 s hors ligne.

Serveur joignable
Ce qui part quand le réseau revient : la file d’envoi →

L’écran

Le verrou d’écran est relâché par le navigateur quand l’onglet passe en arrière-plan ; useWakeLock le redemande au retour. Un choix du moment, rien n’est gardé.

Pas de Screen Wake Lock ici (Firefox, ancien Safari, ou http).

Les touches

useHotkeys : touches de fonction, raccourcis, une lettre seule. Une lettre tapée dans le champ reste une lettre ; F1 et Échap passent quoi qu’il arrive.

  • F1
  • F2
  • v
  • ctrl+s
  • Escape

appuyez sur une touche

Ouvrez cette page sur un téléphone et visez les codes de la page « QR et codes-barres » affichée sur un ordinateur — ou n’importe quel code-barres d’un emballage. La caméra demande HTTPS : le lab déployé l’est. Chaque lecture est normalisée : la même valeur quel que soit le moteur, et pour un GS1-128 ses identifiants (AI) découpés. ␝ marque un séparateur GS1.

Moteur : pas encore démarréqr_codecode_128ean_13ean_8upc_aitf

Réglages

Moteur
auto : le détecteur natif s’il lit tout (Chrome Android, macOS), sinon ZXing. Forcer zxing reproduit, sur Android, le chemin de l’iPhone.
Formats
preloadScanner() : télécharge le moteur WebAssembly à l’avance, pour qu’un scan hors ligne le trouve en cache. Ne fait rien là où le natif suffit, sauf forcé.

Codes lus

Aucun code lu pour l’instant.

La liste des scans

Un champ, et sous lui ce qu’il a lu : le dernier code en tête, un code déjà lu compte un de plus sur sa ligne (surlignée un instant) au lieu de s’ajouter. Balayez une ligne vers la gauche pour la retirer, ou utilisez ses boutons. Le nom derrière un code vient de la page (resolve) : la liste ne connaît aucun article.

Rien de scanné pour l’instant.

max={ 20 } : la vingt-et-unième ligne est refusée (bip d’erreur). Un code inconnu s’affiche tel quel, en mono.