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

Introduction

Qu'est-ce que FlowEngine ?
Relation entre FlowEngine et les plugins
Démarrage rapide
Feuille de route d'apprentissage

Guide

Enregistrer un FlowModel
Créer un FlowModel
Rendre un FlowModel
Flux d'événements et configuration du FlowModel
Persistance du FlowModel
Cycle de vie du FlowModel
Système de contexte du FlowModel
Mécanisme réactif : Observable
FlowModel vs React.Component

Définitions

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Previous PageFlux d'événements et configuration du FlowModel
Next PageCycle de vie du FlowModel
Avis de traduction IA

Cette documentation a été traduite automatiquement par IA.

#Persistance de FlowModel

FlowEngine offre un système de persistance complet.

20251008231338

#IFlowModelRepository

IFlowModelRepository est l'interface de persistance des modèles de FlowEngine. Elle définit les opérations de chargement, de sauvegarde et de suppression de modèles à distance. En implémentant cette interface, vous pouvez persister les données de vos modèles dans une base de données backend, une API ou d'autres supports de stockage, ce qui permet la synchronisation des données entre le frontend et le backend.

#Méthodes principales

  • findOne(query: Query): Promise<FlowModel | null>
    Charge les données d'un modèle depuis une source distante en utilisant son identifiant unique uid.

  • save(model: FlowModel): Promise<any>
    Sauvegarde les données du modèle dans le stockage distant.

  • destroy(uid: string): Promise<boolean>
    Supprime le modèle du stockage distant en utilisant son uid.

#Exemple de FlowModelRepository

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

  async findOne(query) {
    const { uid, parentId } = query;
    // Implémentation : Récupérer le modèle par uid
    return null;
  }

  async save(model: FlowModel) {
    console.log('Saving model:', model);
    // Implémentation : Sauvegarder le modèle
    return model;
  }

  async destroy(uid: string) {
    // Implémentation : Supprimer le modèle par uid
    return true;
  }
}

#Configuration de FlowModelRepository

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

#Méthodes de gestion des modèles fournies par FlowEngine

#Méthodes locales

flowEngine.createModel(options); // Crée une instance de modèle locale
flowEngine.getModel(uid);        // Récupère une instance de modèle locale
flowEngine.removeModel(uid);     // Supprime une instance de modèle locale

#Méthodes distantes (implémentées par ModelRepository)

await flowEngine.loadModel(uid);     // Charge le modèle depuis une source distante
await flowEngine.saveModel(model);   // Sauvegarde le modèle à distance
await flowEngine.destroyModel(uid);  // Supprime le modèle à distance

#Méthodes d'instance de modèle

const model = this.flowEngine.createModel({
  use: 'FlowModel',
});
await model.save();     // Sauvegarde à distance
await model.destroy();  // Supprime à distance