Intégration de la console
La console Plato utilise l’adaptateur d’imprimanteWIN_DRIVER pour le pilote d’imprimante PC.
Enregistrement de l’imprimante
La console stocke les imprimantes dans une base de données IndexedDB nomméeprinter-database.
Les enregistrements de l’imprimante comprennent :
- type d’imprimante
- statut
- dernière erreur
- configuration
- largeur du papier
- catégories
- types de commandes
- logo
Pilote URL
L’adaptateurWIN_DRIVER construit sa base URL à partir de la configuration de l’imprimante :
driverPort est vide, l’adaptateur omet le port. Ceci est utile pour HTTPS sur le port 443.
Cible de l’imprimante
L’adaptateur envoie la cible de l’imprimante physique séparément du pilote URL.| Champ de configuration | Champ de demande | Remarques |
|---|---|---|
driverIpAddress | Hôte URL | Machine en marche plato-printer.exe. |
driverPort | Port URL | Port du pilote HTTP/HTTPS. |
driverUseHttps | Protocole URL | Utilise https lorsque vrai. |
ipAddress | ip_address | IP de l’imprimante physique. |
port | port | Port TCP de l’imprimante physique. |
vendor | vendor_id | ID du fournisseur mappé. |
productId | product_id | Envoyé pour compatibilité. |
beep | beep | Active la séquence de bips post-impression. |
192.168.0.0, l’adaptateur envoie ip_address: null et port: null, que le pilote actuel rejette avec Missing printer address.
ID des fournisseurs
L’adaptateur mappe les fournisseurs :| Fournisseuse | Identifiant du fournisseur |
|---|---|
EPSON | 0x04b8 |
BIRCH | 0x1fc9 |
PHILIPS | 0x0471 |
SUNMI | 0x04b8 |
OSCAR | 0x04b8 |
Préparation de l’impression
Flux d’impression de la console :- Rendre le DOM en blob PNG.
- Chargez le blob dans le canevas.
- Convertissez les pixels du canevas en lignes raster noir/blanc.
- Divisez les lignes raster en morceaux de 128 lignes.
- Encodez chaque morceau en octets raster ESC/POS.
- Base64 encode chaque bloc d’octets.
- Envoyez
POST /print.
File d’attente du navigateur
La console dispose d’une file d’attente de navigateur locale avant que les requêtes n’atteignent le pilote du PC.- Les travaux sont stockés dans IndexedDB.
- Les travaux passent de
pendingàprinting. - Les tâches ayant échoué sont marquées
failed. - Un travail
printingobsolète est récupéré après 60 secondes. - Les tâches planifiées sont vérifiées toutes les 30 secondes.
- Les tâches ayant échoué sont réessayées toutes les 60 secondes.
| File d’attente | Emplacement | But |
|---|---|---|
| File d’attente du navigateur | Plato Console IndexedDB | Conserve les travaux d’impression côté POS jusqu’à ce qu’un pilote les accepte. |
| File d’attente des pilotes | Redis/BullMQ | Conserve les travaux acceptés jusqu’à ce que l’imprimante physique les reçoive. |
Cartographie des statuts
La console appellePOST /status.
- L’échec de HTTP renvoie
OFFLINE. - La réponse avec
ok: trueetstatuset nonofflinerenvoieONLINE. - Les autres réponses du pilote sont stockées sous
lastError.
Tiroir-caisse
La console appellePOST /cash-drawer pour chaque imprimante en ligne configurée avec un tiroir-caisse.