Referência da API
Lado do servidor
As APIs disponíveis na estrutura do pacote do lado do servidor são mostradas no código a seguir:
PluginWorkflowServer
Classe do plugin de fluxo de trabalho.
Geralmente, durante a execução do aplicativo, você pode chamar app.pm.get<PluginWorkflowServer>(PluginWorkflowServer) em qualquer lugar onde possa obter a instância do aplicativo app para acessar a instância do plugin de fluxo de trabalho (referida como plugin abaixo).
registerTrigger()
Estende e registra um novo tipo de gatilho.
Assinatura
registerTrigger(type: string, trigger: typeof Trigger | Trigger })
Parâmetros
Exemplo
registerInstruction()
Estende e registra um novo tipo de nó.
Assinatura
registerInstruction(type: string, instruction: typeof Instruction | Instruction })
Parâmetros
Exemplo
trigger()
Aciona um fluxo de trabalho específico. Usado principalmente em gatilhos personalizados para acionar o fluxo de trabalho correspondente quando um evento personalizado específico é detectado.
Assinatura
trigger(workflow: Workflow, context: any)
Parâmetros
Atualmente, context é um item obrigatório. Se não for fornecido, o fluxo de trabalho não será acionado.
Exemplo
resume()
Retoma a execução de um fluxo de trabalho em espera com uma tarefa de nó específica.
- Apenas fluxos de trabalho no estado de espera (
EXECUTION_STATUS.STARTED) podem ser retomados. - Apenas tarefas de nó no estado pendente (
JOB_STATUS.PENDING) podem ser retomadas.
Assinatura
resume(job: JobModel)
Parâmetros
O objeto da tarefa passado é geralmente um objeto atualizado, e seu status é normalmente atualizado para um valor diferente de JOB_STATUS.PENDING, caso contrário, ele continuará em espera.
Exemplo
Veja os detalhes no código-fonte.
Trigger
A classe base para gatilhos, usada para estender tipos de gatilhos personalizados.
on/off são usados para registrar/desregistrar listeners de eventos quando um fluxo de trabalho é ativado/desativado. O parâmetro passado é a instância do fluxo de trabalho correspondente ao gatilho, que pode ser processado de acordo com a configuração. Alguns tipos de gatilho que já possuem eventos escutados globalmente podem não precisar implementar esses dois métodos. Por exemplo, em um gatilho agendado, você pode registrar um temporizador em on e desregistrá-lo em off.
Instruction
A classe base para tipos de instrução, usada para estender tipos de instrução personalizados.
Tipos Relacionados
Para getScope, você pode consultar a implementação do nó de loop, que é usada para fornecer o conteúdo da variável local para as ramificações.
EXECUTION_STATUS
Uma tabela de constantes para os status do plano de execução do fluxo de trabalho, usada para identificar o status atual do plano de execução correspondente.
Exceto pelos três primeiros, todos os outros representam um estado de falha, mas podem ser usados para descrever diferentes motivos de falha.
JOB_STATUS
Uma tabela de constantes para os status das tarefas de nó do fluxo de trabalho, usada para identificar o status atual da tarefa de nó correspondente. O status gerado pelo nó também afeta o status de todo o plano de execução.
Lado do cliente
As APIs disponíveis na estrutura do pacote do lado do cliente são mostradas no código a seguir:
PluginWorkflowClientV2
Classe do plugin de fluxo de trabalho do lado do cliente. Geralmente obtida via this.app.pm.get('workflow').
registerTrigger()
Registra o painel de configuração para um tipo de gatilho.
Assinatura
registerTrigger(type: string, trigger: typeof Trigger | Trigger): void
Parâmetros
registerInstruction()
Registra o painel de configuração para um tipo de nó.
Assinatura
registerInstruction(type: string, instruction: typeof Instruction | Instruction): void
Parâmetros
registerInstructionGroup()
Registra um grupo de tipos de nó. O NocoBase oferece 4 grupos de tipos de nó padrão:
'control': Controle'collection': Operações de coleção'manual': Processamento manual'extended': Outras extensões
Se você precisar estender outros grupos, pode usar este método para registrá-los.
Assinatura
registerInstructionGroup(type: string, group: { label: string }): void
Parâmetros
Exemplo
isWorkflowSync()
Determina se um fluxo de trabalho está no modo síncrono.
Assinatura
isWorkflowSync(workflow: object): boolean
Trigger
A classe base para gatilhos, usada para estender tipos de gatilhos personalizados.
Tipos Relacionados
- Se
useVariablesnão for definido, significa que este tipo de gatilho não fornece uma função de recuperação de valor, e os dados de contexto do gatilho não podem ser selecionados nos nós do fluxo de trabalho.
Instruction
A classe base para instruções, usada para estender tipos de nós personalizados.
Tipos Relacionados
- Se
useVariablesnão for definido, significa que este tipo de nó não fornece uma função de recuperação de valor, e os dados de resultado deste tipo de nó não podem ser selecionados nos nós do fluxo de trabalho. Se o valor do resultado for singular (não selecionável), você pode retornar um conteúdo estático que expresse a informação correspondente (consulte: código-fonte do nó de cálculo). Se for necessário que seja selecionável (por exemplo, uma propriedade de um Object), você pode personalizar a saída do componente de seleção correspondente (consulte: código-fonte do nó de consulta de dados). ComponentLoaderé um componente de renderização personalizado para o nó. Quando a renderização padrão do nó não é suficiente, ele pode ser completamente substituído para uma renderização de visualização de nó personalizada. Por exemplo, para fornecer renderização adicional de ramificação para nós do tipo ramificação (consulte: código-fonte do nó de condição).isAvailableé usado principalmente para determinar se um nó pode ser usado (adicionado) no ambiente atual. O ambiente atual inclui a instância do plugin de fluxo de trabalho, o fluxo de trabalho atual, nós upstream e o índice da ramificação atual.
Componentes de Entrada de Variáveis
O fluxo de trabalho fornece um conjunto de componentes de entrada de variáveis para permitir que os usuários selecionem variáveis do fluxo de trabalho nos formulários de configuração de nós/gatilhos.
WorkflowVariableInput
Entrada de variável que suporta selecionar uma variável e continuar digitando conteúdo. Adequado para cenários de entrada de linha única que requerem uma mistura de referências de variável e texto livre.

Props
WorkflowVariableTextArea
Área de texto de múltiplas linhas que suporta inserir referências de variável em qualquer posição do cursor. Adequado para cenários de texto livre como corpo HTTP, texto de template, etc.

Props
Herda outras Props do TextArea do antd (como autoSize, placeholder, etc.).
WorkflowTypedVariableInput
Entrada tipada que alterna entre os modos "constante" e "referência de variável". No modo variável, você só pode selecionar uma variável; não é possível continuar digitando após a seleção. No modo constante, cinco tipos são suportados: string, number, boolean, date e object.

Props
Herda outras Props de TypedVariableInput (excluindo extraNodes, metaTree, namespaces usados internamente).
WorkflowVariableWrapper
Wrapper genérico para substituir diferentes componentes de entrada em diferentes contextos. Por exemplo, quando o mesmo campo requer diferentes métodos de entrada na configuração do nó gatilho e na gaveta de configuração do nó, você pode usar este componente para envolver uma entrada nativa em uma entrada com alternância de modo variável.
Props

