Esta documentação foi traduzida automaticamente por IA.
Contexto
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
ctx.action fornece acesso à Action sendo executada para a requisição atual. Inclui:
- ctx.action.params
- ctx.action.actionName
- ctx.action.resourceName
ctx.i18n & ctx.t()
Suporte à internacionalização (i18n).
ctx.i18nfornece informações de localidadectx.t()é usado para traduzir strings com base no idioma
ctx.db
ctx.db fornece uma interface para acesso ao banco de dados, permitindo que você opere diretamente em modelos e execute consultas.
ctx.cache
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
ctx.app é a instância da aplicação NocoBase, permitindo acesso à configuração global, plugins e serviços.
ctx.auth.user
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.currentRoles
ctx.state é usado para compartilhar dados na cadeia de middleware.
ctx.logger
ctx.logger fornece capacidades de registro de logs, suportando saída de logs em múltiplos níveis.
ctx.permission & ctx.can()
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.
Resumo
- Cada requisição corresponde a um objeto
ctxindependente ctxé uma extensão do Koa Context, integrando funcionalidades do NocoBase- Propriedades comuns incluem:
ctx.db,ctx.cache,ctx.auth,ctx.state,ctx.logger,ctx.can(),ctx.t(), etc. - Usar
ctxem Middleware e Actions permite lidar convenientemente com requisições, respostas, permissões, logs e o banco de dados

