logologo
البدء
الدليل
التطوير
الإضافات
API
الرئيسية
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
البدء
الدليل
التطوير
الإضافات
API
الرئيسية
logologo

مقدمة

ما هو FlowEngine؟
العلاقة بين FlowEngine والإضافات
بدء سريع
خارطة طريق التعلم

دليل

تسجيل FlowModel
إنشاء FlowModel
عرض FlowModel
تدفق أحداث FlowModel والإعداد
استمرارية FlowModel
دورة حياة FlowModel
نظام سياق FlowModel
آلية التفاعل: Observable
FlowModel مقابل React.Component
نقاط توسع إضافة RunJS

Definitions

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Next Pageما هو FlowEngine؟
إشعار الترجمة بالذكاء الاصطناعي

تمت ترجمة هذه الوثائق تلقائيًا بواسطة الذكاء الاصطناعي.

#createMockClient

عند إعداد الأمثلة والاختبارات، يُوصى عادةً بإنشاء تطبيق وهمي (Mock application) بسرعة باستخدام createMockClient. التطبيق الوهمي هو تطبيق نظيف وفارغ، لا يحتوي على أي إضافات (plugins) مفعلة، ومخصص فقط للأمثلة والاختبارات.

على سبيل المثال:

import { createMockClient, Plugin } from '@nocobase/client';

class PluginHelloModel extends Plugin {
  async afterAdd() {}
  async beforeLoad() {}
  async load() {}
}

// مخصص لسيناريوهات الأمثلة والاختبارات
const app = createMockClient({
  plugins: [PluginHelloModel],
});

export default app.getRootComponent();

توفر createMockClient الأداة apiMock لبناء بيانات واجهة برمجة تطبيقات وهمية (Mock API data).

import { createMockClient, Plugin } from '@nocobase/client';

class PluginHelloModel extends Plugin {
  async afterAdd() {}
  async beforeLoad() {}
  async load() {
    const { data } = await this.context.api.request({
      method: 'get',
      url: 'users',
    });
  }
}

// مخصص لسيناريوهات الأمثلة والاختبارات
const app = createMockClient({
  plugins: [PluginHelloModel],
});

app.apiMock.onGet('users').reply(200, {
  data: {
    id: 1,
    name: 'John Doe',
  },
});

export default app.getRootComponent();

بالاعتماد على createMockClient، يمكننا توسيع الوظائف بسرعة عبر الإضافات (plugins). تشمل واجهات برمجة التطبيقات (APIs) الشائعة للإضافة (Plugin) ما يلي:

  • plugin.router: لتوسيع المسارات (routes)
  • plugin.engine: محرك الواجهة الأمامية (NocoBase 2.0)
  • plugin.context: السياق (Context) (NocoBase 2.0)

المثال 1: إضافة مسار (route) عبر الموجه (router).

import { createMockClient, Plugin } from '@nocobase/client';

class PluginHelloModel extends Plugin {
  async afterAdd() {}
  async beforeLoad() {}
  async load() {
    this.router.add('root', {
      path: '/',
      element: <div>Hello</div>,
    });
  }
}

// مخصص لسيناريوهات الأمثلة والاختبارات
const app = createMockClient({
  plugins: [PluginHelloModel],
});

export default app.getRootComponent();

سنتناول المزيد من المحتوى في الفصول اللاحقة.