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

Pengantar

Apa itu FlowEngine?
Hubungan FlowEngine & Plugin
Mulai Cepat
Peta Jalan Belajar

Panduan

Registrasi FlowModel
Buat FlowModel
Render FlowModel
Alur Event & Konfigurasi FlowModel
Persistensi FlowModel
Siklus Hidup FlowModel
Sistem Konteks FlowModel
Mekanisme Responsif: Observable
FlowModel vs React.Component

Definitions

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Previous PageAlur Event & Konfigurasi FlowModel
Next PageSiklus Hidup FlowModel
TIP

Dokumen ini diterjemahkan oleh AI. Untuk ketidakakuratan apa pun, silakan lihat versi bahasa Inggris

#Persistensi FlowModel

FlowEngine menyediakan sistem persistensi yang lengkap.

20251008231338

#IFlowModelRepository

IFlowModelRepository adalah antarmuka persistensi model untuk FlowEngine, yang mendefinisikan operasi seperti memuat, menyimpan, dan menghapus model dari jarak jauh. Dengan mengimplementasikan antarmuka ini, data model dapat dipersistensikan ke basis data backend, API, atau media penyimpanan lainnya, memungkinkan sinkronisasi data antara frontend dan backend.

#Metode Utama

  • findOne(query: Query): Promise<FlowModel | null>
    Memuat data model dari sumber jarak jauh berdasarkan pengidentifikasi unik uid.

  • save(model: FlowModel): Promise<any>
    Menyimpan data model ke penyimpanan jarak jauh.

  • destroy(uid: string): Promise<boolean>
    Menghapus model dari penyimpanan jarak jauh berdasarkan uid.

#Contoh FlowModelRepository

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

  async findOne(query) {
    const { uid, parentId } = query;
    // Implementasi: Dapatkan model berdasarkan uid
    return null;
  }

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

  async destroy(uid: string) {
    // Implementasi: Hapus model berdasarkan uid
    return true;
  }
}

#Mengatur FlowModelRepository

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

#Metode Manajemen Model yang Disediakan oleh FlowEngine

#Metode Lokal

flowEngine.createModel(options); // Membuat instans model lokal
flowEngine.getModel(uid);        // Mendapatkan instans model lokal
flowEngine.removeModel(uid);     // Menghapus instans model lokal

#Metode Jarak Jauh (Diimplementasikan oleh ModelRepository)

await flowEngine.loadModel(uid);     // Memuat model dari jarak jauh
await flowEngine.saveModel(model);   // Menyimpan model ke jarak jauh
await flowEngine.destroyModel(uid);  // Menghapus model dari jarak jauh

#Metode Instans Model

const model = this.flowEngine.createModel({
  use: 'FlowModel',
});
await model.save();     // Menyimpan ke jarak jauh
await model.destroy();  // Menghapus dari jarak jauh