تكامل وحدة التحكم
تستخدم وحدة التحكم Plato محول الطابعةWIN_DRIVER لبرنامج تشغيل الطابعة بالكمبيوتر.
سجل الطابعة
تقوم وحدة التحكم بتخزين الطابعات في قاعدة بيانات IndexedDB تسمىprinter-database.
تتضمن سجلات الطابعة ما يلي:
- نوع الطابعة
- حالة
- الخطأ الأخير
- التكوين
- عرض الورق
- فئات
- أنواع الطلب
- شعار
سائق URL
يبني محولWIN_DRIVER قاعدة URL من تكوين الطابعة:
driverPort فارغًا، فسيقوم المحول بحذف المنفذ. وهذا مفيد لـ HTTPS على المنفذ 443.
هدف الطابعة
يرسل المحول هدف الطابعة الفعلية بشكل منفصل عن برنامج التشغيل URL.| حقل التكوين | حقل الطلب | ملحوظات |
|---|---|---|
driverIpAddress | المضيف URL | الآلة تعمل بنظام plato-printer.exe. |
driverPort | منفذ URL | منفذ السائق HTTP/HTTPS. |
driverUseHttps | بروتوكول URL | يستخدم https عندما يكون صحيحًا. |
ipAddress | ip_address | IP الطابعة المادية. |
port | port | منفذ TCP للطابعة الفعلية. |
vendor | vendor_id | معرف البائع المعين. |
productId | product_id | أرسلت للتوافق. |
beep | beep | تمكين تسلسل الصفير بعد الطباعة. |
192.168.0.0، يرسل المحول ip_address: null وport: null، وهو ما يرفضه برنامج التشغيل الحالي باستخدام Missing printer address.
معرفات البائعين
يقوم المحول بتعيين البائعين:| بائع | معرف البائع |
|---|---|
EPSON | 0x04b8 |
BIRCH | 0x1fc9 |
PHILIPS | 0x0471 |
SUNMI | 0x04b8 |
OSCAR | 0x04b8 |
تحضير الطباعة
تدفق طباعة وحدة التحكم:- تقديم DOM إلى PNG blob.
- تحميل النقطة في القماش.
- تحويل وحدات البكسل القماشية إلى صفوف نقطية سوداء/بيضاء.
- قم بتقسيم الصفوف النقطية إلى أجزاء مكونة من 128 صفًا.
- قم بتشفير كل قطعة على هيئة بايتات نقطية ESC/POS.
- يقوم Base64 بتشفير كل قطعة بايت.
- أرسل
POST /print.
قائمة انتظار المتصفح
تحتوي وحدة التحكم على قائمة انتظار متصفح محلية قبل أن تصل الطلبات إلى برنامج تشغيل الكمبيوتر.- يتم تخزين الوظائف في IndexedDB.
- تنتقل الوظائف من
pendingإلىprinting. - يتم وضع علامة
failedعلى المهام الفاشلة. - يتم استرداد مهمة
printingالتي لا معنى لها بعد 60 ثانية. - يتم فحص المهام المجدولة كل 30 ثانية.
- تتم إعادة محاولة المهام الفاشلة كل 60 ثانية.
| طابور | موقع | غاية |
|---|---|---|
| قائمة انتظار المتصفح | Plato وحدة التحكم مفهرسةDB | يحتفظ بمهام الطباعة على جانب POS حتى يقبلها برنامج التشغيل. |
| قائمة انتظار السائق | Redis/BullMQ | يحتفظ بالمهام المقبولة حتى تستقبلها الطابعة الفعلية. |
رسم خرائط الحالة
تستدعي وحدة التحكمPOST /status.
- يؤدي فشل HTTP إلى إرجاع
OFFLINE. - الاستجابة مع
ok: trueوstatusوليسofflineترجعONLINE. - يتم تخزين استجابات برنامج التشغيل الأخرى كـ
lastError.
درج النقود
تستدعي وحدة التحكمPOST /cash-drawer لكل طابعة عبر الإنترنت تم تكوينها باستخدام درج النقود.