logologo
Começar
Manual
Desenvolvimento
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
Começar
Manual
Desenvolvimento
Plugins
API
logologo

Introdução

O que é o FlowEngine?
Relação entre FlowEngine e Plugins
Início Rápido
Roteiro de Aprendizagem

Guia

Registrar FlowModel
Criar FlowModel
Renderizar FlowModel
Fluxo de Eventos e Configuração do FlowModel
Persistência do FlowModel
Ciclo de Vida do FlowModel
Sistema de Contexto do FlowModel
Mecanismo Reativo: Observable
FlowModel vs React.Component

Definições

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Previous PageFluxo de Eventos e Configuração do FlowModel
Next PageCiclo de Vida do FlowModel
Aviso de tradução por IA

Esta documentação foi traduzida automaticamente por IA.

#Persistência do FlowModel

O FlowEngine oferece um sistema de persistência completo.

20251008231338

#IFlowModelRepository

IFlowModelRepository é a interface de persistência de modelos do FlowEngine. Ela define operações como carregamento remoto, salvamento e exclusão de modelos. Ao implementar esta interface, você pode persistir os dados do modelo em um banco de dados de backend, API ou outra mídia de armazenamento, permitindo a sincronização de dados entre o frontend e o backend.

#Principais Métodos

  • findOne(query: Query): Promise<FlowModel | null>
    Carrega dados do modelo de uma fonte remota com base no identificador único uid.

  • save(model: FlowModel): Promise<any>
    Salva os dados do modelo no armazenamento remoto.

  • destroy(uid: string): Promise<boolean>
    Exclui o modelo do armazenamento remoto com base no uid.

#Exemplo de FlowModelRepository

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

  async findOne(query) {
    const { uid, parentId } = query;
    // Implementação: Obter modelo pelo uid
    return null;
  }

  async save(model: FlowModel) {
    console.log('Saving model:', model);
    // Implementação: Salvar modelo
    return model;
  }

  async destroy(uid: string) {
    // Implementação: Excluir modelo pelo uid
    return true;
  }
}

#Configurar FlowModelRepository

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

#Métodos de Gerenciamento de Modelos Fornecidos pelo FlowEngine

#Métodos Locais

flowEngine.createModel(options); // Cria uma instância de modelo local
flowEngine.getModel(uid);        // Obtém uma instância de modelo local
flowEngine.removeModel(uid);     // Remove uma instância de modelo local

#Métodos Remotos (Implementados pelo ModelRepository)

await flowEngine.loadModel(uid);     // Carrega o modelo remotamente
await flowEngine.saveModel(model);   // Salva o modelo remotamente
await flowEngine.destroyModel(uid);  // Exclui o modelo remotamente

#Métodos de Instância do Modelo

const model = this.flowEngine.createModel({
  use: 'FlowModel',
});
await model.save();     // Salva remotamente
await model.destroy();  // Exclui remotamente