الهيكلية
توضح هذه الصفحة الهيكلية الفنية لـ WCPOS للمطورين والمستخدمين المتقدمين.
نظام ذو جزءين
تم تصميم WCPOS كنظام ذو جزءين:
-
إضافة PHP: مستضافة على خادمك، وهي إضافة صغيرة نسبيًا توسع واجهة برمجة التطبيقات REST الخاصة بـ WooCommerce.
-
عميل JavaScript: يعمل محليًا في متصفحك أو تطبيق سطح المكتب، وقريبًا على تطبيقات iOS و Android.
يمكنك التفكير فيه كعالمين منفصلين:
- عالم PHP حيث تحدث إدارة البيانات باستخدام WordPress و WooCommerce.
- عالم JavaScript يكرر متجرك على WooCommerce محليًا، محسنًا للبحث السريع والاستخدام في وضع عدم الاتصال.
مزامنة البيانات
يتم جلب البيانات من WooCommerce باستخدام واجهة برمجة التطبيقات REST الخاصة بـ WooCommerce. وهذا يعني أن نظام نقاط البيع يجب أن يقوم بتنزيل كل منتج، بديل، فئة منتجات، عميل، معدل ضريبة، وأكثر لتخزينها محليًا.
على الرغم من أن هذا قد يستغرق وقتًا طويلاً في البداية، إلا أنه بمجرد التنزيل، تكون متاحة على الفور دون الحاجة إلى الاستمرار في الجلب من الخادم.
ما الذي يتم مزامنته؟
- المنتجات والبدائل
- فئات المنتجات والعلامات
- العملاء
- معدلات الضريبة وفئات الضريبة
- بوابات الدفع (للخروج)
- الطلبات (لتاريخ الطلبات في Pro)
استراتيجية المزامنة
يستخدم WCPOS استراتيجية مزامنة تزايدية:
- المزامنة الأولية: تنزيل جميع البيانات عند التحميل الأول
- التحديثات التزايدية: فقط جلب التغييرات منذ آخر مزامنة
- المزامنة في الخلفية: التحقق دوريًا من التحديثات
- المزامنة اليدوية: يمكن للمستخدم بدء مزامنة في أي وقت
مزايا وعيوب الهيكلية
| جيد 😊 | سيء 😟 |
|---|---|
| البحث في البيانات المحلية فوري | الحفاظ على البيانات في حالة تزامن يمثل تحديًا |
| البيانات المخبأة متاحة في وضع عدم الاتصال | مقيدة بواجهة برمجة التطبيقات REST الخاصة بـ WooCommerce |
| القدرة على إنشاء تطبيقات أصلية أفضل لسطح المكتب وiOS وAndroid | لا يمكن تخصيص التطبيق بواسطة سمات WordPress والخطافات |
قاعدة بيانات محلية
يخزن عميل JavaScript البيانات في IndexedDB، وهي قاعدة بيانات تعتمد على المتصفح. وهذا يوفر:
- الاستمرارية: البيانات تبقى صامدة بعد إعادة تشغيل المتصفح
- الأداء: استعلامات سريعة دون تأخير الشبكة
- التصفح في وضع عدم الاتصال: تبقى البيانات المخزنة متاحة دون الحاجة إلى الإنترنت
هيكلية الخروج
تستخدم عملية الخروج iframe/webview الذي يقوم بتحميل صفحة دفع الطلب الخاصة بـ WooCommerce. هذه الطريقة:
- تستفيد من بوابات الدفع الموجودة: يمكن لأي بوابة دفع خاصة بـ WooCommerce العمل في نظام نقاط البيع
- تحافظ على الأمان: تتم معالجة الدفع من خلال بنية WooCommerce التحتية الآمنة
- تقلل من التعقيد: ليست هناك حاجة لإعادة تنفيذ تكاملات بوابة الدفع
توسيعات واجهة برمجة التطبيقات
تمتد إضافة PHP لواجهة برمجة التطبيقات REST الخاصة بـ WooCommerce مع نقاط نهاية إضافية لوظائف محددة لنقاط البيع. راجع واجهة برمجة التطبيقات REST الخاصة بـ WooCommerce لمزيد من التفاصيل.