Konsol Entegrasyonu
Plato Konsolu, PC yazıcı sürücüsü içinWIN_DRIVER yazıcı adaptörünü kullanır.
Yazıcı Kaydı
Konsol, yazıcılarıprinter-database adlı IndexedDB veritabanında saklar.
Yazıcı kayıtları şunları içerir:
- yazıcı türü
- durum
- son hata
- yapılandırma
- kağıt genişliği
- kategoriler
- sipariş türleri
- logo
Sürücü URL
WIN_DRIVER adaptörü, URL tabanını yazıcı yapılandırmasından oluşturur:
driverPort boşsa adaptör bağlantı noktasını atlar. Bu, 443 bağlantı noktasındaki HTTPS için kullanışlıdır.
Yazıcı Hedefi
Adaptör, fiziksel yazıcı hedefini URL sürücüsünden ayrı olarak gönderir.| Yapılandırma Alanı | Talep Alanı | Notlar |
|---|---|---|
driverIpAddress | URL ana bilgisayar | plato-printer.exe çalıştıran makine. |
driverPort | URL bağlantı noktası | Sürücü HTTP/HTTPS bağlantı noktası. |
driverUseHttps | URL protokolü | Doğru olduğunda https’yi kullanır. |
ipAddress | ip_address | Fiziksel yazıcı IP’si. |
port | port | Fiziksel yazıcı TCP bağlantı noktası. |
vendor | vendor_id | Eşlenen satıcı kimliği. |
productId | product_id | Uyumluluk için gönderildi. |
beep | beep | Yazdırma sonrası bip sesi sırasını etkinleştirir. |
192.168.0.0’ye eşitse bağdaştırıcı ip_address: null ve port: null’yi gönderir ve mevcut sürücü bunları Missing printer address ile reddeder.
Satıcı Kimlikleri
Adaptör satıcıları eşleştirir:| Satıcı | Satıcı Kimliği |
|---|---|
EPSON | 0x04b8 |
BIRCH | 0x1fc9 |
PHILIPS | 0x0471 |
SUNMI | 0x04b8 |
OSCAR | 0x04b8 |
Baskı Hazırlığı
Konsol yazdırma akışı:- DOM’u PNG bloğuna dönüştürün.
- Blobu tuvale yükleyin.
- Tuval piksellerini siyah/beyaz tarama satırlarına dönüştürün.
- Raster satırlarını 128 satırlık parçalara bölün.
- Her parçayı ESC/POS tarama baytları olarak kodlayın.
- Base64 her bayt parçasını kodlar.
POST /print’yi gönderin.
Tarayıcı Sırası
Konsolun, istekler bilgisayar sürücüsüne ulaşmadan önce yerel bir tarayıcı kuyruğu vardır.- İşler IndexedDB’de saklanır.
- İşler
pending’denprinting’ye taşınır. - Başarısız olan işler
failedolarak işaretlenir. - Eski bir
printingişi 60 saniye sonra kurtarılır. - Zamanlanmış işler her 30 saniyede bir kontrol edilir.
- Başarısız olan işler her 60 saniyede bir yeniden denenir.
| Sıra | Konum | Amaç |
|---|---|---|
| Tarayıcı kuyruğu | Plato Konsol Dizine AlınmışDB | POS tarafı yazdırma işlerini sürücü kabul edene kadar saklar. |
| Sürücü kuyruğu | Redis/BullMQ | Kabul edilen işleri fiziksel yazıcı alana kadar saklar. |
Durum Eşleme
KonsolPOST /status’yi çağırır.
- HTTP hatası
OFFLINEdeğerini döndürür. ok: truevestatusile yanıt,offlinedeğil,ONLINEdeğerini döndürür.- Diğer sürücü yanıtları
lastErrorolarak saklanır.
Para Çekmecesi
Konsol, kasa çekmecesi ile yapılandırılmış her çevrimiçi yazıcı içinPOST /cash-drawer’yi çağırır.