logologo
Empezar
Manual
Desarrollo
Plugins
API
Inicio
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Empezar
Manual
Desarrollo
Plugins
API
Inicio
logologo

Introducción

¿Qué es FlowEngine?
Relación entre FlowEngine y plugins
Inicio rápido
Hoja de ruta de aprendizaje

Guía

Registrar FlowModel
Crear FlowModel
Renderizar FlowModel
Flujo de eventos y configuración de FlowModel
Persistencia de FlowModel
Ciclo de vida de FlowModel
Sistema de contexto de FlowModel
Mecanismo reactivo: Observable
FlowModel vs React.Component
Puntos de extensión del plugin RunJS

Definitions

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Previous PageFlujo de eventos y configuración de FlowModel
Next PageCiclo de vida de FlowModel
Aviso de traducción por IA

Esta documentación ha sido traducida automáticamente por IA.

#Persistencia de FlowModel

FlowEngine le ofrece un sistema de persistencia completo.

20251008231338

#IFlowModelRepository

IFlowModelRepository es la interfaz de persistencia de modelos de FlowEngine. Esta interfaz define operaciones como la carga, el guardado y la eliminación remota de modelos. Al implementarla, usted puede persistir los datos del modelo en una base de datos backend, una API u otros medios de almacenamiento, lo que permite la sincronización de datos entre el frontend y el backend.

#Métodos principales

  • findOne(query: Query): Promise<FlowModel | null>
    Carga los datos del modelo desde una fuente remota utilizando el identificador único uid.

  • save(model: FlowModel): Promise<any>
    Guarda los datos del modelo en el almacenamiento remoto.

  • destroy(uid: string): Promise<boolean>
    Elimina el modelo del almacenamiento remoto basándose en su uid.

#Ejemplo de FlowModelRepository

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

  async findOne(query) {
    const { uid, parentId } = query;
    // Implementación: Obtener el modelo por uid
    return null;
  }

  async save(model: FlowModel) {
    console.log('Saving model:', model);
    // Implementación: Guardar el modelo
    return model;
  }

  async destroy(uid: string) {
    // Implementación: Eliminar el modelo por uid
    return true;
  }
}

#Configurar FlowModelRepository

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

#Métodos de gestión de modelos proporcionados por FlowEngine

#Métodos locales

await flowEngine.createModelAsync(options); // Crea una instancia de modelo local
flowEngine.getModel(uid);        // Obtiene una instancia de modelo local
flowEngine.removeModel(uid);     // Elimina una instancia de modelo local

#Métodos remotos (implementados por ModelRepository)

await flowEngine.loadModel(uid);     // Carga el modelo desde la fuente remota
await flowEngine.saveModel(model);   // Guarda el modelo en la fuente remota
await flowEngine.destroyModel(uid);  // Elimina el modelo de la fuente remota

#Métodos de instancia del modelo

const model = await this.flowEngine.createModelAsync({
  use: 'FlowModel',
});
await model.save();     // Guarda en la fuente remota
await model.destroy();  // Elimina de la fuente remota