Skip to main content

تكامل وحدة التحكم

تستخدم وحدة التحكم Plato محول الطابعة WIN_DRIVER لبرنامج تشغيل الطابعة بالكمبيوتر.

سجل الطابعة

تقوم وحدة التحكم بتخزين الطابعات في قاعدة بيانات IndexedDB تسمى printer-database. تتضمن سجلات الطابعة ما يلي:
  • نوع الطابعة
  • حالة
  • الخطأ الأخير
  • التكوين
  • عرض الورق
  • فئات
  • أنواع الطلب
  • شعار
النوع ذو الصلة:

سائق URL

يبني محول WIN_DRIVER قاعدة URL من تكوين الطابعة:
إذا كان driverPort فارغًا، فسيقوم المحول بحذف المنفذ. وهذا مفيد لـ HTTPS على المنفذ 443.

هدف الطابعة

يرسل المحول هدف الطابعة الفعلية بشكل منفصل عن برنامج التشغيل URL. إذا كان عنوان IP الخاص بالطابعة مفقودًا أو يساوي 192.168.0.0، يرسل المحول ip_address: null وport: null، وهو ما يرفضه برنامج التشغيل الحالي باستخدام Missing printer address.

معرفات البائعين

يقوم المحول بتعيين البائعين:

تحضير الطباعة

تدفق طباعة وحدة التحكم:
  1. تقديم DOM إلى PNG blob.
  2. تحميل النقطة في القماش.
  3. تحويل وحدات البكسل القماشية إلى صفوف نقطية سوداء/بيضاء.
  4. قم بتقسيم الصفوف النقطية إلى أجزاء مكونة من 128 صفًا.
  5. قم بتشفير كل قطعة على هيئة بايتات نقطية ESC/POS.
  6. يقوم Base64 بتشفير كل قطعة بايت.
  7. أرسل POST /print.
لا يتلقى برنامج التشغيل HTML مطلقًا. يتلقى قطع ESC/POS القابلة للطباعة.

قائمة انتظار المتصفح

تحتوي وحدة التحكم على قائمة انتظار متصفح محلية قبل أن تصل الطلبات إلى برنامج تشغيل الكمبيوتر.
  • يتم تخزين الوظائف في IndexedDB.
  • تنتقل الوظائف من pending إلى printing.
  • يتم وضع علامة failed على المهام الفاشلة.
  • يتم استرداد مهمة printing التي لا معنى لها بعد 60 ثانية.
  • يتم فحص المهام المجدولة كل 30 ثانية.
  • تتم إعادة محاولة المهام الفاشلة كل 60 ثانية.
لدى برنامج تشغيل الطابعة PC قائمة انتظار Redis الخاصة به بعد قبول طلب HTTP. يعني هناك صفين:

رسم خرائط الحالة

تستدعي وحدة التحكم POST /status.
  • يؤدي فشل HTTP إلى إرجاع OFFLINE.
  • الاستجابة مع ok: true وstatus وليس offline ترجع ONLINE.
  • يتم تخزين استجابات برنامج التشغيل الأخرى كـ lastError.

درج النقود

تستدعي وحدة التحكم POST /cash-drawer لكل طابعة عبر الإنترنت تم تكوينها باستخدام درج النقود.