Référence de l'API
Côté serveur
Les API disponibles dans la structure du package côté serveur sont présentées dans le code suivant :
PluginWorkflowServer
Classe du plugin de flux de travail.
Généralement, pendant l'exécution de l'application, vous pouvez appeler app.pm.get<PluginWorkflowServer>(PluginWorkflowServer) partout où vous pouvez obtenir l'instance d'application app pour récupérer l'instance du plugin de flux de travail (désignée ci-après par plugin).
registerTrigger()
Permet d'étendre et d'enregistrer un nouveau type de déclencheur.
Signature
registerTrigger(type: string, trigger: typeof Trigger | Trigger })
Paramètres
Exemple
registerInstruction()
Permet d'étendre et d'enregistrer un nouveau type de nœud.
Signature
registerInstruction(type: string, instruction: typeof Instruction | Instruction })
Paramètres
Exemple
trigger()
Déclenche un flux de travail spécifique. Cette méthode est principalement utilisée dans les déclencheurs personnalisés pour activer le flux de travail correspondant lorsqu'un événement personnalisé spécifique est détecté.
Signature
trigger(workflow: Workflow, context: any)
Paramètres
context est actuellement un paramètre obligatoire. Si vous ne le fournissez pas, le flux de travail ne sera pas déclenché.
Exemple
resume()
Reprend l'exécution d'un flux de travail en attente à partir d'une tâche de nœud spécifique.
- Seuls les flux de travail en état d'attente (
EXECUTION_STATUS.STARTED) peuvent être repris. - Seules les tâches de nœud en état d'attente (
JOB_STATUS.PENDING) peuvent être reprises.
Signature
resume(job: JobModel)
Paramètres
L'objet tâche passé est généralement un objet mis à jour, et son status est généralement mis à jour avec une valeur autre que JOB_STATUS.PENDING, sinon il restera en attente.
Exemple
Pour plus de détails, consultez le code source.
Trigger
Classe de base pour les déclencheurs, utilisée pour étendre les types de déclencheurs personnalisés.
on/off sont utilisés pour enregistrer/désenregistrer des écouteurs d'événements lors de l'activation/désactivation d'un flux de travail. Le paramètre passé est l'instance du flux de travail correspondant au déclencheur, qui peut être traitée selon la configuration. Certains types de déclencheurs qui écoutent déjà des événements globalement n'ont pas besoin d'implémenter ces deux méthodes. Par exemple, dans un déclencheur programmé, vous pouvez enregistrer un minuteur dans on et le désenregistrer dans off.
Instruction
Classe de base pour les types d'instructions, utilisée pour étendre les types d'instructions personnalisés.
Types associés
Pour getScope, vous pouvez vous référer à l'implémentation du nœud de boucle, qui est utilisée pour fournir le contenu des variables locales pour les branches.
EXECUTION_STATUS
Tableau de constantes pour les statuts des plans d'exécution de flux de travail, utilisé pour identifier l'état actuel du plan d'exécution correspondant.
À l'exception des trois premiers, tous les autres représentent un état d'échec, mais peuvent être utilisés pour décrire différentes raisons d'échec.
JOB_STATUS
Tableau de constantes pour les statuts des tâches de nœud de flux de travail, utilisé pour identifier l'état actuel de la tâche de nœud correspondante. Le statut généré par le nœud affecte également le statut de l'ensemble du plan d'exécution.
Côté client
Les API disponibles dans la structure du package côté client sont présentées dans le code suivant :
PluginWorkflowClientV2
Classe du plugin client de flux de travail. Elle est généralement obtenue via this.app.pm.get('workflow').
registerTrigger()
Enregistre le panneau de configuration pour un type de déclencheur.
Signature
registerTrigger(type: string, trigger: typeof Trigger | Trigger): void
Paramètres
registerInstruction()
Enregistre le panneau de configuration pour un type de nœud.
Signature
registerInstruction(type: string, instruction: typeof Instruction | Instruction): void
Paramètres
registerInstructionGroup()
Enregistre un groupe de types de nœuds. NocoBase propose par défaut 4 groupes de types de nœuds :
'control': Contrôle'collection': Opérations sur les collections'manual': Traitement manuel'extended': Autres extensions
Si vous avez besoin d'étendre d'autres groupes, vous pouvez utiliser cette méthode pour les enregistrer.
Signature
registerInstructionGroup(type: string, group: { label: string }): void
Paramètres
Exemple
isWorkflowSync()
Détermine si un flux de travail est en mode synchrone.
Signature
isWorkflowSync(workflow: object): boolean
Trigger
Classe de base pour les déclencheurs, utilisée pour étendre les types de déclencheurs personnalisés.
Types associés
- Si
useVariablesn'est pas défini, cela signifie que ce type de déclencheur ne fournit pas de fonction de récupération de valeur, et les données de contexte du déclencheur ne peuvent pas être sélectionnées dans les nœuds du flux de travail.
Instruction
Classe de base pour les instructions, utilisée pour étendre les types de nœuds personnalisés.
Types associés
- Si
useVariablesn'est pas défini, cela signifie que ce type de nœud ne fournit pas de fonction de récupération de valeur, et les données de résultat de ce type de nœud ne peuvent pas être sélectionnées dans les nœuds du flux de travail. Si la valeur de résultat est unique (non sélectionnable), vous pouvez simplement retourner un contenu statique qui exprime l'information correspondante (voir : code source du nœud de calcul). Si elle doit être sélectionnable (par exemple, une propriété d'un objet), vous pouvez personnaliser la sortie du composant de sélection correspondant (voir : code source du nœud de requête de données). ComponentLoaderest un composant de rendu personnalisé pour le nœud. Lorsque le rendu par défaut du nœud n'est pas suffisant, il peut être entièrement remplacé pour un rendu de vue de nœud personnalisé. Par exemple, pour fournir un rendu de branche supplémentaire pour les nœuds de type branche (voir : code source du nœud de condition).isAvailableest principalement utilisé pour déterminer si un nœud peut être utilisé (ajouté) dans l'environnement actuel. L'environnement actuel comprend l'instance du plugin de flux de travail, le flux de travail en cours, les nœuds en amont et l'index de la branche actuelle.
Composants de saisie de variables
Le flux de travail fournit un ensemble de composants de saisie de variables permettant aux utilisateurs de sélectionner des variables de flux de travail dans les formulaires de configuration des nœuds et des déclencheurs.
WorkflowVariableInput
Champ de saisie de variable permettant de sélectionner une variable et de continuer à saisir du contenu. Adapté aux scénarios de saisie sur une seule ligne nécessitant un mélange de références de variables et de texte libre.

Props
WorkflowVariableTextArea
Zone de texte multiligne permettant d'insérer des références de variables à n'importe quelle position du curseur. Adaptée aux scénarios de texte libre tels que le corps HTTP, le texte de modèle, etc.

Props
Hérite des autres Props du composant TextArea d'antd (tels que autoSize, placeholder, etc.).
WorkflowTypedVariableInput
Champ de saisie typé qui bascule entre les modes "constante" et "référence de variable". En mode variable, vous ne pouvez que sélectionner une variable ; il est impossible de continuer la saisie après la sélection. En mode constante, cinq types sont pris en charge : string, number, boolean, date et object.

Props
Hérite des autres Props de TypedVariableInput (à l'exclusion de extraNodes, metaTree, namespaces utilisés en interne).
WorkflowVariableWrapper
Composant d'encapsulation générique permettant de substituer différents composants de saisie selon les contextes. Par exemple, lorsque le même champ nécessite des méthodes de saisie différentes dans la configuration du nœud déclencheur et dans le tiroir de configuration du nœud, vous pouvez utiliser ce composant pour encapsuler un champ de saisie natif dans un champ pouvant basculer en mode variable.
Props
Composants liés aux collections
Le flux de travail fournit également un ensemble de composants utilitaires liés aux collections :
CollectionCascader-- Sélecteur de collection avec prise en compte de la source de données (cascade)AppendsSelect-- Sélecteur de préchargement des champs d'association (sélection arborescente)FieldsSelect-- Sélecteur multiple de champs de collectionSortFieldsInput-- Champ de saisie pour le triPaginationFields-- Éléments de formulaire pour les paramètres de pagination

