Questa documentazione è stata tradotta automaticamente dall'IA.
In NocoBase, ogni richiesta genera un oggetto ctx, che è un'istanza di Context. Il Context incapsula le informazioni della richiesta e della risposta, fornendo al contempo funzionalità specifiche di NocoBase, come l'accesso al database, le operazioni di cache, la gestione dei permessi, l'internazionalizzazione e la registrazione dei log.
L'Application di NocoBase è basata su Koa, quindi ctx è essenzialmente un Koa Context. Tuttavia, NocoBase lo estende con ricche API, consentendo agli sviluppatori di gestire comodamente la logica di business nei Middleware e negli Action. Ogni richiesta ha un ctx indipendente, garantendo l'isolamento e la sicurezza dei dati tra le richieste.
ctx.action fornisce l'accesso all'Action in esecuzione per la richiesta corrente. Include:
Supporto all'internazionalizzazione (i18n).
ctx.i18n fornisce le informazioni sulla lingua e la localizzazionectx.t() viene utilizzato per tradurre le stringhe in base alla linguactx.db fornisce un'interfaccia per l'accesso al database, consentendovi di operare direttamente sui modelli ed eseguire query.
ctx.cache fornisce operazioni di cache, supportando la lettura e la scrittura nella cache, comunemente utilizzato per accelerare l'accesso ai dati o salvare stati temporanei.
ctx.app è l'istanza dell'applicazione NocoBase, che consente di accedere alla configurazione globale, ai plugin e ai servizi.
ctx.auth.user recupera le informazioni dell'utente attualmente autenticato, adatto per l'uso nei controlli di permesso o nella logica di business.
ctx.state viene utilizzato per condividere dati nella catena di middleware.
ctx.logger fornisce capacità di registrazione dei log, supportando l'output di log a più livelli.
ctx.permission viene utilizzato per la gestione dei permessi, mentre ctx.can() serve a verificare se l'utente corrente ha il permesso di eseguire una determinata operazione.
ctx indipendentectx è un'estensione di Koa Context, che integra le funzionalità di NocoBasectx.db, ctx.cache, ctx.auth, ctx.state, ctx.logger, ctx.can(), ctx.t(), ecc.ctx nei Middleware e negli Action consente di gestire comodamente richieste, risposte, permessi, log e il database.