यह दस्तावेज़ AI द्वारा अनुवादित है। सटीक जानकारी के लिए कृपया अंग्रेज़ी संस्करण देखें।
NocoBase वर्कफ़्लो इंजन की संदर्भ प्रणाली तीन परतों में विभाजित है, जिनमें से प्रत्येक एक अलग कार्यक्षेत्र (scope) के अनुरूप है। इनका उचित उपयोग सेवाओं, कॉन्फ़िगरेशन और डेटा के लचीले साझाकरण और अलगाव को प्राप्त कर सकता है, जिससे व्यवसाय की रखरखाव क्षमता और स्केलेबिलिटी में सुधार होता है।
mode: 'runtime' | 'settings' दो मोड का समर्थन करता है, जो क्रमशः रनटाइम मोड और कॉन्फ़िगरेशन मोड के अनुरूप हैं।सभी FlowEngineContext (ग्लोबल संदर्भ), FlowModelContext (मॉडल संदर्भ), FlowRuntimeContext (वर्कफ़्लो रनटाइम संदर्भ) आदि, FlowContext के उप-वर्ग या इंस्टेंस हैं।
FlowModelContext डेलीगेट (delegate) तंत्र के माध्यम से FlowEngineContext के गुणों और विधियों तक पहुँच सकता है, जिससे वैश्विक क्षमताओं को साझा किया जा सकता है।FlowModelContext डेलीगेट (delegate) तंत्र के माध्यम से पैरेंट मॉडल के संदर्भ (सिंक्रोनस संबंध) तक पहुँच सकता है, और समान नाम ओवरराइड का समर्थन करता है।FlowRuntimeContext हमेशा डेलीगेट (delegate) तंत्र के माध्यम से अपने संबंधित FlowModelContext तक पहुँचता है, लेकिन यह ऊपर की ओर वापस नहीं भेजता है।FlowRuntimeContext दो मोड का समर्थन करता है, जिन्हें mode पैरामीटर द्वारा अलग किया जाता है:
mode: 'runtime' (रनटाइम मोड): वर्कफ़्लो के वास्तविक निष्पादन चरण के लिए उपयोग किया जाता है, जहाँ गुण और विधियाँ वास्तविक डेटा लौटाते हैं। उदाहरण के लिए:
mode: 'settings' (कॉन्फ़िगरेशन मोड): वर्कफ़्लो डिज़ाइन और कॉन्फ़िगरेशन चरण के लिए उपयोग किया जाता है, जहाँ गुण एक्सेस वेरिएबल टेम्पलेट स्ट्रिंग लौटाता है, जिससे एक्सप्रेशन और वेरिएबल चयन में आसानी होती है। उदाहरण के लिए:
यह डुअल-मोड डिज़ाइन रनटाइम पर डेटा की उपलब्धता सुनिश्चित करता है और कॉन्फ़िगरेशन के समय वेरिएबल संदर्भ और एक्सप्रेशन जनरेशन की सुविधा देता है, जिससे वर्कफ़्लो इंजन के लचीलेपन और उपयोग में आसानी बढ़ती है।
कुछ परिदृश्यों में (जैसे JS*Model का RunJS कोड संपादन, AI कोडिंग), "कॉल करने वाले" को कोड निष्पादित किए बिना यह समझने की आवश्यकता होती है कि:
ctx के तहत कौन सी स्थिर क्षमताएं (API दस्तावेज़, पैरामीटर, उदाहरण, दस्तावेज़ लिंक आदि) उपलब्ध हैं।await ctx.getApiInfos(options?) (स्थिर API जानकारी)await ctx.getVarInfos(options?) (वेरिएबल संरचना जानकारी)defineProperty(...).meta (मेटा फैक्ट्री सहित) पर आधारित वेरिएबल संरचना का निर्माण।path क्लिपिंग और maxDepth गहराई नियंत्रण का समर्थन करता है।सामान्य पैरामीटर:
maxDepth: अधिकतम विस्तार स्तर (डिफ़ॉल्ट 3)path: string | string[]: क्लिपिंग, केवल निर्दिष्ट पाथ सब-ट्री को आउटपुट करता है।await ctx.getEnvInfos() (रनटाइम वातावरण स्नैपशॉट)नोड संरचना (सरलीकृत):