Dit document is vertaald door AI. Voor onnauwkeurigheden, raadpleeg de Engelse versie
In NocoBase genereert elk verzoek een ctx object, een instantie van Context. Context omvat informatie over het verzoek en de respons, en biedt tegelijkertijd NocoBase-specifieke functionaliteiten, zoals databasetoegang, cachebewerkingen, rechtenbeheer, internationalisering en logging.
De Application van NocoBase is gebaseerd op Koa, dus ctx is in wezen een Koa Context. NocoBase heeft deze echter uitgebreid met uitgebreide API's, waardoor ontwikkelaars eenvoudig bedrijfslogica kunnen afhandelen in Middleware en Actions. Elk verzoek heeft een onafhankelijke ctx, wat zorgt voor data-isolatie en veiligheid tussen verzoeken.
ctx.action geeft toegang tot de Action die wordt uitgevoerd voor het huidige verzoek. Dit omvat:
Ondersteuning voor internationalisering (i18n).
ctx.i18n biedt informatie over de taalinstellingen (locale).ctx.t() wordt gebruikt om strings te vertalen op basis van de taal.ctx.db biedt een interface voor databasetoegang, waarmee u direct modellen kunt bewerken en query's kunt uitvoeren.
ctx.cache biedt cachebewerkingen, ondersteunt het lezen uit en schrijven naar de cache, en wordt vaak gebruikt om datatoegang te versnellen of tijdelijke status op te slaan.
ctx.app is de NocoBase applicatie-instantie, die toegang geeft tot de globale configuratie, plugins en services.
ctx.auth.user haalt de informatie op van de momenteel geauthenticeerde gebruiker, geschikt voor gebruik bij rechtencontroles of bedrijfslogica.
ctx.state wordt gebruikt om gegevens te delen binnen de middleware-keten.
ctx.logger biedt loggingmogelijkheden, met ondersteuning voor loguitvoer op meerdere niveaus.
ctx.permission wordt gebruikt voor rechtenbeheer, en ctx.can() om te controleren of de huidige gebruiker toestemming heeft om een bepaalde bewerking uit te voeren.
ctx object.ctx is een uitbreiding van Koa Context en integreert NocoBase functionaliteit.ctx.db, ctx.cache, ctx.auth, ctx.state, ctx.logger, ctx.can(), ctx.t(), enz.ctx in Middleware en Actions maakt het gemakkelijk om verzoeken, responsen, rechten, logs en de database af te handelen.