Esta documentación ha sido traducida automáticamente por IA.
Referencia de la API
Lado del servidor
Las APIs disponibles en la estructura del paquete del lado del servidor se muestran en el siguiente código:
PluginWorkflowServer
Clase del plugin de flujo de trabajo.
Normalmente, durante la ejecución de la aplicación, puede obtener la instancia del plugin de flujo de trabajo (referida como plugin a continuación) llamando a app.pm.get<PluginWorkflowServer>(PluginWorkflowServer) desde cualquier lugar donde pueda acceder a la instancia de la aplicación app.
registerTrigger()
Permite extender y registrar un nuevo tipo de disparador.
Firma
registerTrigger(type: string, trigger: typeof Trigger | Trigger })
Parámetros
Ejemplo
registerInstruction()
Permite extender y registrar un nuevo tipo de nodo.
Firma
registerInstruction(type: string, instruction: typeof Instruction | Instruction })
Parámetros
Ejemplo
trigger()
Dispara un flujo de trabajo específico. Se utiliza principalmente en disparadores personalizados para activar el flujo de trabajo correspondiente cuando se detecta un evento personalizado específico.
Firma
trigger(workflow: Workflow, context: any)
Parámetros
context actualmente es un elemento requerido. Si no se proporciona, el flujo de trabajo no se disparará.
Ejemplo
resume()
Reanuda la ejecución de un flujo de trabajo en espera con una tarea de nodo específica.
- Solo los flujos de trabajo en estado de espera (
EXECUTION_STATUS.STARTED) pueden reanudarse. - Solo las tareas de nodo en estado pendiente (
JOB_STATUS.PENDING) pueden reanudarse.
Firma
resume(job: JobModel)
Parámetros
El objeto de tarea que se pasa es generalmente un objeto actualizado, y su status se actualiza normalmente a un valor diferente de JOB_STATUS.PENDING; de lo contrario, seguirá en espera.
Ejemplo
Consulte el código fuente para más detalles.
Trigger
Clase base para disparadores, utilizada para extender tipos de disparadores personalizados.
on/off se utilizan para registrar/desregistrar oyentes de eventos cuando un flujo de trabajo se habilita/deshabilita. El parámetro pasado es la instancia del flujo de trabajo correspondiente al disparador, que puede procesarse según la configuración. Algunos tipos de disparadores que ya tienen eventos escuchados globalmente pueden no necesitar implementar estos dos métodos. Por ejemplo, en un disparador programado, puede registrar un temporizador en on y desregistrarlo en off.
Instruction
Clase base para tipos de instrucción, utilizada para extender tipos de instrucción personalizados.
Tipos relacionados
Para getScope, puede consultar la implementación del nodo de bucle, que se utiliza para proporcionar contenido de variables locales para las ramas.
EXECUTION_STATUS
Tabla de constantes para los estados del plan de ejecución del flujo de trabajo, utilizada para identificar el estado actual del plan de ejecución correspondiente.
Excepto por los tres primeros, todos los demás representan un estado de fallo, pero pueden usarse para describir diferentes motivos de fallo.
JOB_STATUS
Tabla de constantes para los estados de las tareas de los nodos del flujo de trabajo, utilizada para identificar el estado actual de la tarea del nodo correspondiente. El estado generado por el nodo también afecta el estado de todo el plan de ejecución.
Lado del cliente
Las APIs disponibles en la estructura del paquete del lado del cliente se muestran en el siguiente código:
PluginWorkflowClient
registerTrigger()
Registra el panel de configuración correspondiente al tipo de disparador.
Firma
registerTrigger(type: string, trigger: typeof Trigger | Trigger): void
Parámetros
registerInstruction()
Registra el panel de configuración correspondiente al tipo de nodo.
Firma
registerInstruction(type: string, instruction: typeof Instruction | Instruction): void
Parámetros
registerInstructionGroup()
Registra un grupo de tipos de nodo. NocoBase proporciona 4 grupos de tipos de nodo por defecto:
'control': Clases de control'collection': Operaciones de colección'manual': Procesamiento manual'extended': Otras extensiones
Si necesita extender otros grupos, puede utilizar este método para registrarlos.
Firma
registerInstructionGroup(type: string, group: { label: string }): void
Parámetros
Ejemplo
Trigger
Clase base para disparadores, utilizada para extender tipos de disparadores personalizados.
- Si
useVariablesno está configurado, significa que este tipo de disparador no proporciona una función de recuperación de valores, y los datos de contexto del disparador no se pueden seleccionar en los nodos del flujo.
Instruction
Clase base para instrucciones, utilizada para extender tipos de nodos personalizados.
Tipos relacionados
- Si
useVariablesno está configurado, significa que este tipo de nodo no proporciona una función de recuperación de valores, y los datos de resultado de este tipo de nodo no se pueden seleccionar en los nodos del flujo. Si el valor resultante es único (no seleccionable), puede devolver un contenido estático que exprese la información correspondiente (consulte: código fuente del nodo de cálculo). Si necesita que sea seleccionable (por ejemplo, una propiedad de un objeto), puede personalizar la salida del componente de selección correspondiente (consulte: código fuente del nodo de creación de datos). Componentes un componente de renderizado personalizado para el nodo. Cuando el renderizado predeterminado del nodo no es suficiente, puede anularlo y usarlo completamente para un renderizado de vista de nodo personalizado. Por ejemplo, si necesita proporcionar más botones de acción u otras interacciones para el nodo de inicio de un tipo de rama, deberá usar este método (consulte: código fuente de la rama paralela).useInitializersse utiliza para proporcionar un método para inicializar bloques. Por ejemplo, en un nodo manual, puede inicializar bloques de usuario relacionados basándose en los nodos anteriores. Si se proporciona este método, estará disponible al inicializar bloques en la configuración de la interfaz del nodo manual (consulte: código fuente del nodo de creación de datos).isAvailablese utiliza principalmente para determinar si un nodo puede usarse (añadirse) en el entorno actual. El entorno actual incluye el flujo de trabajo actual, los nodos anteriores y el índice de la rama actual.

