Tento dokument byl přeložen umělou inteligencí. V případě nepřesností se prosím obraťte na anglickou verzi
V NocoBase každý požadavek vygeneruje objekt ctx, což je instance Contextu. Context zapouzdřuje informace o požadavku a odpovědi a zároveň nabízí funkce specifické pro NocoBase, jako je přístup k databázi, operace s cache, správa oprávnění, internacionalizace a logování.
Application NocoBase je postavena na Koa, takže ctx je v podstatě Koa Context. NocoBase ho ale rozšířila o bohaté API, které vývojářům umožňuje pohodlně zpracovávat obchodní logiku v Middleware a Action. Každý požadavek má nezávislý ctx, což zajišťuje izolaci dat a bezpečnost mezi požadavky.
ctx.action poskytuje přístup k Action, která se provádí pro aktuální požadavek. Zahrnuje:
Podpora internacionalizace (i18n).
ctx.i18n poskytuje informace o jazykovém prostředíctx.t() se používá k překladu řetězců na základě jazykactx.db poskytuje rozhraní pro přístup k databázi, které vám umožňuje přímo pracovat s modely a provádět dotazy.
ctx.cache poskytuje operace s cache, podporuje čtení a zápis do cache, běžně se používá k urychlení přístupu k datům nebo k ukládání dočasného stavu.
ctx.app je instance aplikace NocoBase, která umožňuje přístup ke globální konfiguraci, pluginům a službám.
ctx.auth.user načítá informace o aktuálně ověřeném uživateli, vhodné pro použití při kontrole oprávnění nebo v obchodní logice.
ctx.state se používá ke sdílení dat v řetězci middleware.
ctx.logger poskytuje možnosti logování, podporuje výstup logů na více úrovních.
ctx.permission se používá pro správu oprávnění, ctx.can() se používá k ověření, zda má aktuální uživatel oprávnění provést určitou operaci.
ctx.ctx je rozšířením Koa Contextu, které integruje funkce NocoBase.ctx.db, ctx.cache, ctx.auth, ctx.state, ctx.logger, ctx.can(), ctx.t() atd.ctx v Middleware a Action umožňuje pohodlně pracovat s požadavky, odpověďmi, oprávněními, logy a databází.