Detta dokument har översatts av AI. För eventuella felaktigheter, se den engelska versionen
I NocoBase genererar varje förfrågan ett ctx-objekt, som är en instans av Context. Context kapslar in information om förfrågan och svaret, samtidigt som den tillhandahåller NocoBase-specifika funktioner som databasåtkomst, cache-operationer, behörighetshantering, internationalisering och loggning.
NocoBase's Application bygger på Koa, så ctx är i grunden en Koa Context. NocoBase har dock utökat den med rika API:er, vilket gör att utvecklare smidigt kan hantera affärslogik i Middleware och Actions. Varje förfrågan har ett oberoende ctx, vilket säkerställer dataseparation och säkerhet mellan förfrågningarna.
ctx.action ger åtkomst till den Action som utförs för den aktuella förfrågan. Den inkluderar:
Stöd för internationalisering (i18n).
ctx.i18n tillhandahåller information om språkinställningar.ctx.t() används för att översätta strängar baserat på språket.ctx.db tillhandahåller ett gränssnitt för databasåtkomst, vilket gör att ni direkt kan manipulera modeller och utföra frågor.
ctx.cache tillhandahåller cache-operationer, med stöd för att läsa från och skriva till cachen. Detta används ofta för att snabba upp dataåtkomst eller spara temporära tillstånd.
ctx.app är NocoBase-applikationsinstansen, som ger åtkomst till global konfiguration, plugin och tjänster.
ctx.auth.user hämtar information om den för närvarande autentiserade användaren. Detta är lämpligt att använda vid behörighetskontroller eller i affärslogik.
ctx.state används för att dela data i middleware-kedjan.
ctx.logger tillhandahåller loggningsfunktioner och stöder loggutskrifter på flera nivåer.
ctx.permission används för behörighetshantering, och ctx.can() används för att kontrollera om den aktuella användaren har behörighet att utföra en viss operation.
ctx-objekt.ctx är en utökning av Koa Context som integrerar NocoBase-funktionalitet.ctx.db, ctx.cache, ctx.auth, ctx.state, ctx.logger, ctx.can(), ctx.t() med mera.ctx i Middleware och Actions kan ni enkelt hantera förfrågningar, svar, behörigheter, loggar och databasen.