Aviso de traducción por IA

Esta documentación ha sido traducida automáticamente por IA.

Visión general

Los plugins de cliente de NocoBase pueden hacer muchas cosas: registrar nuevas páginas, escribir componentes personalizados, llamar a la API del backend, añadir Blocks y Fields, e incluso extender botones de Action. Todas estas capacidades se organizan a través de un punto de entrada de Plugin unificado.

Si usted ya tiene experiencia con React, le resultará rápido empezar: en la mayoría de los casos solo se trata de escribir componentes React normales y, mediante las capacidades de contexto que proporciona NocoBase (como enviar peticiones, internacionalización), integrarlos con NocoBase. Solo cuando necesite que un componente aparezca en la interfaz de configuración visual de NocoBase, tendrá que conocer FlowEngine.

Atención

NocoBase está migrando de client (v1) a client-v2, y client-v2 aún está en desarrollo. El contenido de este documento es para experimentación previa y no se recomienda su uso directo en producción. Los nuevos plugins deben utilizar el directorio src/client-v2/ y la API de @nocobase/client-v2.

Ruta de aprendizaje

Se recomienda conocer el desarrollo de plugins de cliente en el siguiente orden, de lo simple a lo complejo:

Plugin (entrada) → Router (página) → Component (componente) → Context (contexto) → FlowEngine (extensión de UI)

Donde:

  1. Plugin: la clase de entrada del plugin, que registra rutas, modelos y otros recursos en ciclos de vida como load().
  2. Router: registre rutas de página mediante router.add() y registre páginas de configuración del plugin mediante pluginSettingsManager.
  3. Component: lo que la ruta monta es un componente React. Por defecto basta con usar React + Antd, sin diferencia respecto al desarrollo frontend habitual.
  4. Context: dentro del plugin puede obtener el contexto mediante this.context, y dentro de los componentes mediante useFlowContext(), para utilizar las capacidades que ofrece NocoBase: enviar peticiones (ctx.api), internacionalización (ctx.t), logs (ctx.logger), etc.
  5. FlowEngine: si su componente necesita aparecer en los menús «Add Block / Field / Action» y permitir configuración visual del usuario, debe envolverlo con FlowModel.

Los primeros cuatro pasos cubren la mayoría de los escenarios de plugins. Solo cuando necesite una integración profunda con el sistema de configuración de UI de NocoBase deberá llegar al quinto paso. Si no está seguro de qué método utilizar, consulte Component vs FlowModel.

Índice rápido

Quiero…Dónde mirar
Conocer la estructura básica del plugin de clientePlugin
Añadir una página independienteRouter
Añadir una página de configuración del pluginRouter
Escribir un componente React normalDesarrollo de Component
Llamar a la API del backend, usar las capacidades integradas de NocoBaseContext → Capacidades comunes
Personalizar el estilo del componenteStyles & Themes
Añadir un nuevo BlockFlowEngine → Extensión de Block
Añadir un nuevo componente de FieldFlowEngine → Extensión de Field
Añadir un nuevo botón de ActionFlowEngine → Extensión de Action
No estoy seguro de usar Component o FlowModelComponent vs FlowModel
Ver cómo se construye un plugin completoEjemplos prácticos de plugin

Enlaces relacionados