تمت ترجمة هذه الوثائق تلقائيًا بواسطة الذكاء الاصطناعي.
يُطلق خادم NocoBase أحداثًا (Events) متناسبة خلال مراحل دورة حياة التطبيق، ودورة حياة الإضافات، وعمليات قاعدة البيانات. يمكن لمطوري الإضافات الاستماع إلى هذه الأحداث لتنفيذ منطق التوسع، أو العمليات المؤتمتة، أو السلوكيات المخصصة.
ينقسم نظام الأحداث في NocoBase بشكل أساسي إلى مستويين:
app.on() - أحداث على مستوى التطبيق: للاستماع إلى أحداث دورة حياة التطبيق، مثل بدء التشغيل، والتثبيت، وتفعيل الإضافات، وما إلى ذلك.db.on() - أحداث على مستوى قاعدة البيانات: للاستماع إلى أحداث العمليات على مستوى نموذج البيانات، مثل إنشاء السجلات أو تحديثها أو حذفها.يرث كلاهما من EventEmitter الخاص بـ Node.js، ويدعمان استخدام الواجهات القياسية .on() و.off() و.emit(). كما وسعت NocoBase دعمها ليشمل emitAsync، والذي يُستخدم لإطلاق الأحداث بشكل غير متزامن والانتظار حتى يكمل جميع المستمعين تنفيذهم.
يجب تسجيل مستمعي الأحداث عادةً في دالة beforeLoad() الخاصة بالإضافة، وهذا يضمن أن الأحداث جاهزة خلال مرحلة تحميل الإضافة، وأن المنطق اللاحق يمكنه الاستجابة بشكل صحيح.
app.on()تُستخدم أحداث التطبيق لالتقاط تغييرات دورة حياة تطبيق NocoBase والإضافات، وهي مناسبة لمنطق التهيئة، وتسجيل الموارد، أو اكتشاف تبعيات الإضافات، وما إلى ذلك.
| اسم الحدث | وقت الإطلاق | الاستخدامات النموذجية |
|---|---|---|
beforeLoad / afterLoad | قبل / بعد تحميل التطبيق | تسجيل الموارد، تهيئة الإعدادات |
beforeStart / afterStart | قبل / بعد بدء تشغيل الخدمة | بدء المهام، طباعة سجلات بدء التشغيل |
beforeInstall / afterInstall | قبل / بعد تثبيت التطبيق | تهيئة البيانات، استيراد القوالب |
beforeStop / afterStop | قبل / بعد إيقاف الخدمة | تنظيف الموارد، حفظ الحالة |
beforeDestroy / afterDestroy | قبل / بعد تدمير التطبيق | حذف ذاكرة التخزين المؤقت، قطع الاتصالات |
beforeLoadPlugin / afterLoadPlugin | قبل / بعد تحميل الإضافة | تعديل إعدادات الإضافة أو توسيع الوظائف |
beforeEnablePlugin / afterEnablePlugin | قبل / بعد تفعيل الإضافة | التحقق من التبعيات، تهيئة منطق الإضافة |
beforeDisablePlugin / afterDisablePlugin | قبل / بعد تعطيل الإضافة | تنظيف موارد الإضافة |
afterUpgrade | بعد اكتمال ترقية التطبيق | تنفيذ ترحيل البيانات أو إصلاحات التوافق |
مثال: الاستماع إلى حدث بدء تشغيل التطبيق
مثال: الاستماع إلى حدث تحميل الإضافة
db.on()يمكن لأحداث قاعدة البيانات التقاط تغييرات البيانات المختلفة على مستوى النموذج، وهي مناسبة لعمليات التدقيق، والمزامنة، والتعبئة التلقائية، وغيرها.
| اسم الحدث | وقت الإطلاق |
|---|---|
beforeSync / afterSync | قبل / بعد مزامنة هيكل قاعدة البيانات |
beforeValidate / afterValidate | قبل / بعد التحقق من صحة البيانات |
beforeCreate / afterCreate | قبل / بعد إنشاء السجلات |
beforeUpdate / afterUpdate | قبل / بعد تحديث السجلات |
beforeSave / afterSave | قبل / بعد الحفظ (يشمل الإنشاء والتحديث) |
beforeDestroy / afterDestroy | قبل / بعد حذف السجلات |
afterCreateWithAssociations / afterUpdateWithAssociations / afterSaveWithAssociations | بعد العمليات التي تتضمن بيانات مرتبطة |
beforeDefineCollection / afterDefineCollection | قبل / بعد تعريف المجموعة |
beforeRemoveCollection / afterRemoveCollection | قبل / بعد إزالة المجموعة |
مثال: الاستماع إلى حدث ما بعد إنشاء البيانات
مثال: الاستماع إلى حدث ما قبل تحديث البيانات