Diese Dokumentation wurde automatisch von KI übersetzt.
In NocoBase wird für jede Anfrage ein ctx-Objekt generiert. Dieses Objekt ist eine Instanz des Context. Der Context kapselt Anfrage- und Antwortinformationen und bietet gleichzeitig NocoBase-spezifische Funktionen wie Datenbankzugriff, Cache-Operationen, Berechtigungsverwaltung, Internationalisierung und Protokollierung.
Die Application von NocoBase basiert auf Koa, daher ist ctx im Wesentlichen ein Koa Context. NocoBase erweitert diesen jedoch um umfangreiche APIs, die es Entwicklern ermöglichen, Geschäftslogik bequem in Middleware und Actions zu verarbeiten. Jede Anfrage verfügt über ein unabhängiges ctx, was die Datenisolation und Sicherheit zwischen den Anfragen gewährleistet.
ctx.action bietet Zugriff auf die Action, die für die aktuelle Anfrage ausgeführt wird. Dazu gehören:
Unterstützung für Internationalisierung (i18n).
ctx.i18n stellt Informationen zum Gebietsschema (Locale) bereit.ctx.t() wird verwendet, um Zeichenketten basierend auf der Sprache zu übersetzen.ctx.db stellt eine Schnittstelle für den Datenbankzugriff bereit, über die Sie Modelle direkt bearbeiten und Abfragen ausführen können.
ctx.cache bietet Cache-Operationen und unterstützt das Lesen und Schreiben in den Cache. Dies wird häufig verwendet, um den Datenzugriff zu beschleunigen oder temporäre Zustände zu speichern.
ctx.app ist die NocoBase-Anwendungsinstanz und ermöglicht den Zugriff auf globale Konfigurationen, Plugins und Dienste.
ctx.auth.user ruft die Informationen des aktuell authentifizierten Benutzers ab und eignet sich für die Verwendung in Berechtigungsprüfungen oder der Geschäftslogik.
ctx.state wird verwendet, um Daten in der Middleware-Kette zu teilen.
ctx.logger bietet Protokollierungsfunktionen und unterstützt die Ausgabe von Protokollen auf mehreren Ebenen.
ctx.permission wird für die Berechtigungsverwaltung verwendet, und ctx.can() prüft, ob der aktuelle Benutzer die Berechtigung hat, eine bestimmte Operation auszuführen.
ctx-Objekt.ctx ist eine Erweiterung des Koa Context, die NocoBase-Funktionalitäten integriert.ctx.db, ctx.cache, ctx.auth, ctx.state, ctx.logger, ctx.can(), ctx.t() usw.ctx in Middleware und Actions ermöglicht eine bequeme Handhabung von Anfragen, Antworten, Berechtigungen, Protokollen und der Datenbank.