Esta documentação foi traduzida automaticamente por IA.
No NocoBase, cada requisição gera um objeto ctx, que é uma instância de Contexto. O Contexto encapsula informações de requisição e resposta, e também oferece funcionalidades específicas do NocoBase, como acesso a banco de dados, operações de cache, gerenciamento de permissões, internacionalização e registro de logs.
A Application do NocoBase é implementada com base no Koa, portanto, ctx é essencialmente um Koa Context. No entanto, o NocoBase o estende com APIs ricas, permitindo que os desenvolvedores lidem convenientemente com a lógica de negócios em Middleware e Actions. Cada requisição tem um ctx independente, garantindo o isolamento e a segurança dos dados entre as requisições.
ctx.action fornece acesso à Action sendo executada para a requisição atual. Inclui:
Suporte à internacionalização (i18n).
ctx.i18n fornece informações de localidadectx.t() é usado para traduzir strings com base no idiomactx.db fornece uma interface para acesso ao banco de dados, permitindo que você opere diretamente em modelos e execute consultas.
ctx.cache fornece operações de cache, suportando leitura e escrita no cache, comumente usado para acelerar o acesso a dados ou salvar estados temporários.
ctx.app é a instância da aplicação NocoBase, permitindo acesso à configuração global, plugins e serviços.
ctx.auth.user recupera as informações do usuário atualmente autenticado, adequado para uso em verificações de permissão ou lógica de negócios.
ctx.state é usado para compartilhar dados na cadeia de middleware.
ctx.logger fornece capacidades de registro de logs, suportando saída de logs em múltiplos níveis.
ctx.permission é usado para gerenciamento de permissões, e ctx.can() é usado para verificar se o usuário atual tem permissão para executar uma determinada operação.
ctx independentectx é uma extensão do Koa Context, integrando funcionalidades do NocoBasectx.db, ctx.cache, ctx.auth, ctx.state, ctx.logger, ctx.can(), ctx.t(), etc.ctx em Middleware e Actions permite lidar convenientemente com requisições, respostas, permissões, logs e o banco de dados