logologo
Початок
Посібник
Розробка
Плагіни
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
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 vs React.Component

Визначення

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Previous PageПотік подій та конфігурація FlowModel
Next PageЖиттєвий цикл FlowModel
Повідомлення про переклад ШІ

Ця документація була автоматично перекладена штучним інтелектом.

#Персистентність FlowModel

FlowEngine надає повну систему персистентності.

20251008231338

#IFlowModelRepository

IFlowModelRepository — це інтерфейс персистентності моделей для FlowEngine, який визначає такі операції, як віддалене завантаження, збереження та видалення моделей. Реалізувавши цей інтерфейс, ви можете зберігати дані моделі в базі даних бекенду, API або інших носіях, забезпечуючи синхронізацію даних між фронтендом і бекендом.

#Основні методи

  • findOne(query: Query): Promise<FlowModel | null>
    Завантажує дані моделі з віддаленого джерела на основі унікального ідентифікатора uid.

  • save(model: FlowModel): Promise<any>
    Зберігає дані моделі у віддаленому сховищі.

  • destroy(uid: string): Promise<boolean>
    Видаляє модель з віддаленого сховища на основі uid.

#Приклад FlowModelRepository

class FlowModelRepository implements IFlowModelRepository<FlowModel> {
  constructor(private app: Application) {}

  async findOne(query) {
    const { uid, parentId } = query;
    // Реалізація: Отримати модель за uid
    return null;
  }

  async save(model: FlowModel) {
    console.log('Saving model:', model);
    // Реалізація: Зберегти модель
    return model;
  }

  async destroy(uid: string) {
    // Реалізація: Видалити модель за uid
    return true;
  }
}

#Налаштування FlowModelRepository

flowEngine.setModelRepository(new FlowModelRepository(this.app));

#Методи керування моделями, що надаються FlowEngine

#Локальні методи

flowEngine.createModel(options); // Створити локальний екземпляр моделі
flowEngine.getModel(uid);        // Отримати локальний екземпляр моделі
flowEngine.removeModel(uid);     // Видалити локальний екземпляр моделі

#Віддалені методи (реалізовані ModelRepository)

await flowEngine.loadModel(uid);     // Завантажити модель з віддаленого джерела
await flowEngine.saveModel(model);   // Зберегти модель у віддаленому сховищі
await flowEngine.destroyModel(uid);  // Видалити модель з віддаленого сховища

#Методи екземпляра моделі

const model = this.flowEngine.createModel({
  use: 'FlowModel',
});
await model.save();     // Зберегти у віддаленому сховищі
await model.destroy();  // Видалити з віддаленого сховища