Bu belge yapay zeka tarafından çevrilmiştir. Doğru bilgi için İngilizce sürüme bakın.
NocoBase iş akışı motorunun bağlam sistemi, farklı kapsamlara karşılık gelen üç katmana ayrılır; makul kullanım, hizmetlerin, yapılandırmaların ve verilerin esnek paylaşımını ve izolasyonunu sağlayarak iş sürdürülebilirliğini ve ölçeklenebilirliğini artırır.
mode: 'runtime' | 'settings' olmak üzere iki modu destekler, bunlar sırasıyla çalışma zamanı ve yapılandırma moduna karşılık gelir.Tüm FlowEngineContext (Küresel Bağlam), FlowModelContext (Model Bağlamı), FlowRuntimeContext (İş Akışı Çalışma Zamanı Bağlamı) vb., FlowContext'in alt sınıfları veya örnekleridir.
FlowModelContext, bir vekillik (delegate) mekanizması aracılığıyla FlowEngineContext özelliklerine ve yöntemlerine erişebilir, böylece küresel yetenek paylaşımı sağlanır.FlowModelContext'i, bir vekillik (delegate) mekanizması aracılığıyla üst modelin bağlamına erişebilir (senkron ilişki) ve aynı isimli geçersiz kılmaları destekler.FlowRuntimeContext her zaman ilgili FlowModelContext'ine bir vekillik (delegate) mekanizması aracılığıyla erişir, ancak yukarıya geri gönderim yapmaz.FlowRuntimeContext, mode parametresiyle ayrılan iki modu destekler:
mode: 'runtime' (Çalışma zamanı): İş akışının gerçek yürütme aşaması için kullanılır, özellikler ve yöntemler gerçek verileri döndürür. Örneğin:
mode: 'settings' (Yapılandırma modu): İş akışı tasarım ve yapılandırma aşaması için kullanılır, özellik erişimi değişken şablon dizeleri döndürür, ifade ve değişken seçimini kolaylaştırır. Örneğin:
Bu çift modlu tasarım, hem çalışma zamanındaki veri kullanılabilirliğini garanti eder hem de yapılandırma sırasındaki değişken referanslarını ve ifade oluşturmayı kolaylaştırarak iş akışı motorunun esnekliğini ve kullanım kolaylığını artırır.
Belirli senaryolarda (örneğin JS*Model'in RunJS kod düzenlemesi, AI kodlama), "çağıran tarafın" kodu yürütmeden şunları anlaması gerekir:
ctx altında hangi statik yeteneklerin (API belgeleri, parametreler, örnekler, belge bağlantıları vb.) olduğuawait ctx.getApiInfos(options?) (Statik API Bilgisi)await ctx.getVarInfos(options?) (Değişken Yapısı Bilgisi)defineProperty(...).meta (meta factory dahil) temel alınarak değişken yapısı oluşturulurpath kırpma ve maxDepth derinlik kontrolünü desteklerYaygın parametreler:
maxDepth: Maksimum genişleme derinliği (varsayılan 3)path: string | string[]: Kırpma, sadece belirtilen yolun alt ağacını çıktı verirawait ctx.getEnvInfos() (Çalışma Zamanı Ortam Anlık Görüntüsü)Düğüm yapısı (basitleştirilmiş):