logologo
Start
Manual
Utveckling
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
Start
Manual
Utveckling
Plugins
API
logologo

Introduktion

Vad är FlowEngine?
FlowEngine & plugins
Snabbstart
Inlärningsväg

Guide

Registrera FlowModel
Skapa FlowModel
Rendera FlowModel
FlowModel: Händelseflöde & konfiguration
FlowModel-persistens
FlowModels livscykel
FlowModels kontextsystem
Reaktiv mekanism: Observable
FlowModel vs React.Component

Definitioner

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Previous PageFlowModel: Händelseflöde & konfiguration
Next PageFlowModels livscykel
TIP

Detta dokument har översatts av AI. För eventuella felaktigheter, se den engelska versionen

#FlowModel-persistens

FlowEngine erbjuder ett komplett persistenssystem.

20251008231338

#IFlowModelRepository

IFlowModelRepository är FlowEngines gränssnitt för modellpersistens, som definierar operationer som fjärrladdning, spara och radera modeller. Genom att implementera detta gränssnitt kan modellens data persisteras till en backend-databas, ett API eller andra lagringsmedier, vilket möjliggör datasynkronisering mellan frontend och backend.

#Huvudmetoder

  • findOne(query: Query): Promise<FlowModel | null>
    Laddar modellens data från en fjärrresurs baserat på den unika identifieraren uid.

  • save(model: FlowModel): Promise<any>
    Sparar modellens data till fjärrlagring.

  • destroy(uid: string): Promise<boolean>
    Raderar modellen från fjärrlagring baserat på uid.

#Exempel på FlowModelRepository

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

  async findOne(query) {
    const { uid, parentId } = query;
    // Implementering: Hämta modell med uid
    return null;
  }

  async save(model: FlowModel) {
    console.log('Saving model:', model);
    // Implementering: Spara modell
    return model;
  }

  async destroy(uid: string) {
    // Implementering: Radera modell med uid
    return true;
  }
}

#Ställ in FlowModelRepository

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

#Modellhanteringsmetoder från FlowEngine

#Lokala metoder

flowEngine.createModel(options); // Skapa en lokal modellinstans
flowEngine.getModel(uid);        // Hämta en lokal modellinstans
flowEngine.removeModel(uid);     // Ta bort en lokal modellinstans

#Fjärrmetoder (implementerade av ModelRepository)

await flowEngine.loadModel(uid);     // Ladda modell från fjärr
await flowEngine.saveModel(model);   // Spara modell till fjärr
await flowEngine.destroyModel(uid);  // Radera modell från fjärr

#Modellinstansmetoder

const model = this.flowEngine.createModel({
  use: 'FlowModel',
});
await model.save();     // Spara till fjärr
await model.destroy();  // Radera från fjärr