Cette documentation a été traduite automatiquement par IA.
Dans NocoBase, chaque requête génère un objet ctx, qui est une instance de Contexte. Le Contexte encapsule les informations de la requête et de la réponse, tout en offrant des fonctionnalités spécifiques à NocoBase, telles que l'accès à la base de données, les opérations de cache, la gestion des permissions, l'internationalisation et la journalisation.
L'Application de NocoBase est basée sur Koa. Par conséquent, ctx est essentiellement un Contexte Koa, mais NocoBase l'étend avec de riches API, permettant aux développeurs de gérer facilement la logique métier dans les Middleware et les Actions. Chaque requête possède son propre ctx indépendant, ce qui garantit l'isolation et la sécurité des données entre les requêtes.
ctx.action vous donne accès à l'Action en cours d'exécution pour la requête actuelle. Il inclut :
Prise en charge de l'internationalisation (i18n).
ctx.i18n fournit les informations de locale (paramètres régionaux).ctx.t() est utilisé pour traduire des chaînes de caractères en fonction de la langue.ctx.db fournit une interface d'accès à la base de données, vous permettant d'opérer directement sur les modèles et d'exécuter des requêtes.
ctx.cache offre des opérations de cache, prenant en charge la lecture et l'écriture dans le cache. Il est couramment utilisé pour accélérer l'accès aux données ou pour sauvegarder un état temporaire.
ctx.app est l'instance de l'application NocoBase, vous permettant d'accéder à la configuration globale, aux plugins et aux services.
ctx.auth.user récupère les informations de l'utilisateur actuellement authentifié, ce qui est utile pour les vérifications de permissions ou la logique métier.
ctx.state est utilisé pour partager des données au sein de la chaîne de middleware.
ctx.logger offre des capacités de journalisation, prenant en charge la sortie de logs à plusieurs niveaux.
ctx.permission est utilisé pour la gestion des permissions, et ctx.can() permet de vérifier si l'utilisateur actuel a la permission d'exécuter une certaine opération.
ctx indépendant.ctx est une extension du Contexte Koa, intégrant les fonctionnalités de NocoBase.ctx.db, ctx.cache, ctx.auth, ctx.state, ctx.logger, ctx.can(), ctx.t(), etc.ctx dans les Middleware et les Actions facilite la manipulation des requêtes, des réponses, des permissions, des logs et de la base de données.