Dokumen ini diterjemahkan oleh AI. Untuk ketidakakuratan apa pun, silakan lihat versi bahasa Inggris
Di NocoBase, setiap permintaan akan menghasilkan objek ctx, yang merupakan instance dari Context. Context merangkum informasi permintaan dan respons, sekaligus menyediakan fungsionalitas khusus NocoBase, seperti akses basis data, operasi cache, manajemen izin, internasionalisasi, dan pencatatan log.
Aplikasi NocoBase dibangun di atas Koa, sehingga ctx pada dasarnya adalah Koa Context. Namun, NocoBase memperluasnya dengan API yang kaya, memungkinkan pengembang untuk dengan mudah menangani logika bisnis di Middleware dan Action. Setiap permintaan memiliki ctx yang independen, memastikan isolasi dan keamanan data antar permintaan.
ctx.action menyediakan akses ke Action yang sedang dieksekusi untuk permintaan saat ini. Meliputi:
Dukungan internasionalisasi (i18n).
ctx.i18n menyediakan informasi lokal (locale)ctx.t() digunakan untuk menerjemahkan string berdasarkan bahasactx.db menyediakan antarmuka akses basis data, memungkinkan Anda untuk langsung mengoperasikan model dan mengeksekusi kueri.
ctx.cache menyediakan operasi cache, mendukung pembacaan dan penulisan ke cache, umumnya digunakan untuk mempercepat akses data atau menyimpan status sementara.
ctx.app adalah instance aplikasi NocoBase, memungkinkan akses ke konfigurasi global, plugin, dan layanan.
ctx.auth.user mengambil informasi pengguna yang saat ini terautentikasi, cocok digunakan dalam pemeriksaan izin atau logika bisnis.
ctx.state digunakan untuk berbagi data dalam rantai middleware.
ctx.logger menyediakan kemampuan pencatatan log, mendukung keluaran log multi-level.
ctx.permission digunakan untuk manajemen izin, ctx.can() digunakan untuk memeriksa apakah pengguna saat ini memiliki izin untuk mengeksekusi operasi tertentu.
ctx yang independen.ctx adalah ekstensi dari Koa Context, yang mengintegrasikan fungsionalitas NocoBase.ctx.db, ctx.cache, ctx.auth, ctx.state, ctx.logger, ctx.can(), ctx.t(), dll.ctx di Middleware dan Action dapat mempermudah pengoperasian permintaan, respons, izin, log, dan basis data.