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