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

Wprowadzenie

Czym jest FlowEngine?
FlowEngine a wtyczki
Szybki start
Ścieżka nauki

Przewodnik

Rejestracja FlowModel
Tworzenie FlowModel
Renderowanie FlowModel
Strumień zdarzeń i konfiguracja FlowModel
Utrwalanie FlowModel
Cykl życia FlowModel
System kontekstu FlowModel
Mechanizm reaktywny: Observable
FlowModel vs React.Component

Definicje

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Previous PageStrumień zdarzeń i konfiguracja FlowModel
Next PageCykl życia FlowModel
TIP

Ten dokument został przetłumaczony przez AI. W przypadku niedokładności, proszę odnieść się do wersji angielskiej

#Trwałość FlowModel

FlowEngine oferuje kompletny system trwałości.

20251008231338

#IFlowModelRepository

IFlowModelRepository to interfejs trwałości modeli dla FlowEngine, który definiuje operacje takie jak zdalne ładowanie, zapisywanie i usuwanie modeli. Implementując ten interfejs, można utrwalać dane modelu w bazach danych backendu, API lub innych mediach pamięci masowej, co umożliwia synchronizację danych między frontendem a backendem.

#Główne metody

  • findOne(query: Query): Promise<FlowModel | null>
    Ładuje dane modelu ze zdalnego źródła na podstawie unikalnego identyfikatora uid.

  • save(model: FlowModel): Promise<any>
    Zapisuje dane modelu w zdalnej pamięci masowej.

  • destroy(uid: string): Promise<boolean>
    Usuwa model ze zdalnej pamięci masowej na podstawie uid.

#Przykład FlowModelRepository

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

  async findOne(query) {
    const { uid, parentId } = query;
    // Implementacja: Pobierz model według uid
    return null;
  }

  async save(model: FlowModel) {
    console.log('Saving model:', model);
    // Implementacja: Zapisz model
    return model;
  }

  async destroy(uid: string) {
    // Implementacja: Usuń model według uid
    return true;
  }
}

#Ustawianie FlowModelRepository

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

#Metody zarządzania modelami dostarczane przez FlowEngine

#Metody lokalne

flowEngine.createModel(options); // Tworzy lokalną instancję modelu
flowEngine.getModel(uid);        // Pobiera lokalną instancję modelu
flowEngine.removeModel(uid);     // Usuwa lokalną instancję modelu

#Metody zdalne (implementowane przez ModelRepository)

await flowEngine.loadModel(uid);     // Ładuje model ze zdalnego źródła
await flowEngine.saveModel(model);   // Zapisuje model zdalnie
await flowEngine.destroyModel(uid);  // Usuwa model zdalnie

#Metody instancji modelu

const model = this.flowEngine.createModel({
  use: 'FlowModel',
});
await model.save();     // Zapisuje zdalnie
await model.destroy();  // Usuwa zdalnie