logologo
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
logologo

บทนำ

FlowEngine คืออะไร
ความสัมพันธ์ระหว่าง FlowEngine และปลั๊กอิน
เริ่มต้นใช้งาน
แผนการเรียนรู้

คู่มือ

การลงทะเบียน FlowModel
การสร้าง FlowModel
การเรนเดอร์ FlowModel
โฟลว์เหตุการณ์และการกำหนดค่าของ FlowModel
การคงอยู่ของ FlowModel
วงจรชีวิตของ FlowModel
ระบบบริบทของ FlowModel
กลไกการตอบสนอง: Observable
FlowModel vs React.Component

Definitions

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Previous Pageโฟลว์เหตุการณ์และการกำหนดค่าของ FlowModel
Next Pageวงจรชีวิตของ FlowModel
TIP

เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ

#การคงอยู่ของ FlowModel (FlowModel Persistence)

FlowEngine มีระบบการคงอยู่ของข้อมูล (persistence system) ที่สมบูรณ์แบบครับ/ค่ะ

20251008231338

#IFlowModelRepository

IFlowModelRepository คืออินเทอร์เฟซสำหรับการคงอยู่ของโมเดล (model persistence interface) ของ FlowEngine ครับ/ค่ะ ซึ่งจะกำหนดการทำงานต่างๆ เช่น การโหลด การบันทึก และการลบโมเดลจากระยะไกล (remote) การนำอินเทอร์เฟซนี้ไปใช้งานจะช่วยให้ข้อมูลโมเดลสามารถถูกบันทึกลงในฐานข้อมูลแบ็กเอนด์, API หรือสื่อจัดเก็บข้อมูลอื่นๆ ได้ ทำให้เกิดการซิงโครไนซ์ข้อมูลระหว่างส่วนหน้า (frontend) และส่วนหลัง (backend) ครับ/ค่ะ

#เมธอดหลัก (Main Methods)

  • findOne(query: Query): Promise<FlowModel | null>
    โหลดข้อมูลโมเดลจากแหล่งข้อมูลระยะไกล โดยอ้างอิงจากตัวระบุที่ไม่ซ้ำกัน (unique identifier) uid ครับ/ค่ะ
  • save(model: FlowModel): Promise<any>
    บันทึกข้อมูลโมเดลไปยังที่จัดเก็บข้อมูลระยะไกลครับ/ค่ะ
  • destroy(uid: string): Promise<boolean>
    ลบโมเดลออกจากที่จัดเก็บข้อมูลระยะไกล โดยอ้างอิงจาก uid ครับ/ค่ะ

#ตัวอย่าง FlowModelRepository

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

  async findOne(query) {
    const { uid, parentId } = query;
    // การนำไปใช้งาน: ดึงโมเดลด้วย uid
    return null;
  }

  async save(model: FlowModel) {
    console.log('Saving model:', model);
    // การนำไปใช้งาน: บันทึกโมเดล
    return model;
  }

  async destroy(uid: string) {
    // การนำไปใช้งาน: ลบโมเดลด้วย uid
    return true;
  }
}

#การตั้งค่า FlowModelRepository

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

#เมธอดสำหรับการจัดการโมเดลที่ FlowEngine มีให้ใช้งาน

#เมธอดภายใน (Local Methods)

flowEngine.createModel(options); // สร้างอินสแตนซ์โมเดลภายใน
flowEngine.getModel(uid);        // ดึงอินสแตนซ์โมเดลภายใน
flowEngine.removeModel(uid);     // ลบอินสแตนซ์โมเดลภายใน

#เมธอดระยะไกล (Remote Methods) (ที่ถูกนำไปใช้งานโดย ModelRepository)

await flowEngine.loadModel(uid);     // โหลดโมเดลจากระยะไกล
await flowEngine.saveModel(model);   // บันทึกโมเดลไปยังระยะไกล
await flowEngine.destroyModel(uid);  // ลบโมเดลจากระยะไกล

#เมธอดของอินสแตนซ์โมเดล (Model Instance Methods)

const model = this.flowEngine.createModel({
  use: 'FlowModel',
});
await model.save();     // บันทึกไปยังระยะไกล
await model.destroy();  // ลบจากระยะไกล