Esta documentación ha sido traducida automáticamente por IA.
En NocoBase, cada solicitud genera un objeto ctx, que es una instancia de Contexto. Este Contexto encapsula la información de la solicitud y la respuesta, a la vez que le proporciona funcionalidades específicas de NocoBase, como el acceso a la base de datos, operaciones de caché, gestión de permisos, internacionalización y registro de eventos (logging).
La Application de NocoBase se basa en Koa, por lo que ctx es esencialmente un Contexto de Koa. Sin embargo, NocoBase lo extiende con una gran cantidad de APIs, lo que permite a los desarrolladores manejar la lógica de negocio de manera conveniente en los Middleware y Actions. Cada solicitud tiene su propio ctx independiente, lo que garantiza el aislamiento y la seguridad de los datos entre las solicitudes.
ctx.action le proporciona acceso a la Action que se está ejecutando para la solicitud actual. Incluye:
ctx.action.paramsctx.action.actionNamectx.action.resourceNameSoporte para internacionalización (i18n).
ctx.i18n le proporciona información sobre la configuración regional (locale).ctx.t() se utiliza para traducir cadenas de texto según el idioma.ctx.db le proporciona una interfaz para acceder a la base de datos, lo que le permite operar directamente con modelos y ejecutar consultas.
ctx.cache le permite realizar operaciones de caché, soportando la lectura y escritura en la caché. Se utiliza comúnmente para acelerar el acceso a los datos o para guardar estados temporales.
ctx.app es la instancia de la aplicación NocoBase, lo que le permite acceder a la configuración global, los plugins y los servicios.
ctx.auth.user recupera la información del usuario actualmente autenticado, lo cual es útil para usar en verificaciones de permisos o en la lógica de negocio.
ctx.state se utiliza para compartir datos en la cadena de middleware.
ctx.logger le proporciona capacidades de registro de eventos (logging), soportando la salida de logs en múltiples niveles.
ctx.permission se utiliza para la gestión de permisos, y ctx.can() para verificar si el usuario actual tiene permiso para ejecutar una operación específica.
ctx independiente.ctx es una extensión del Contexto de Koa, que integra las funcionalidades de NocoBase.ctx.db, ctx.cache, ctx.auth, ctx.state, ctx.logger, ctx.can(), ctx.t(), entre otras.ctx en los Middleware y Actions le permite manejar convenientemente las solicitudes, respuestas, permisos, registros de eventos y la base de datos.