SDK runtime cho code module tự viết
Phần này là những gì có thể dùng ngay khi viết mã bên trong module (khác với việc đóng gói và nộp ở các trang trước).
Đã có — SDK phía máy chủ (TypeScript)
Gói @platform/sdk-web (sdk/typescript/README.md), chạy trên Node 22+. Tóm
tắt những gì đã dùng được:
sdk.middleware()— kiểmX-Tenant-Contextdo Gateway ký, nạp ngữ cảnh yêu cầu.sdk.auth.require(code)/sdk.auth.can(code)/sdk.auth.requireRole(role)/sdk.auth.requireSensitive(code)— kiểm quyền lớp 3, so khớp nguyên văn vớipermissionsđã khai ởmodule.yaml.sdk.db.tenant()—query(text, params)vàtransaction(fn)vào database của module cho tenant trong ngữ cảnh.sdk.directory— đọc hồ sơ người dùng và phòng ban của tenant (users,usersInDepartment,departments).sdk.files.sign(...)— URL ký tới object storage.sdk.runJob(...)/sdk.db.tenantForJob(...)— ngữ cảnh cho tiến trình nền (worker), kiểm tenant/module cònACTIVE.createEventsApi(sdk)— phát sự kiện{code}.{entity}.{action}.createAiModelsApi(sdk)— danh mục model AI đang bật cho tenant.
Đã có — SDK phía máy chủ (Java)
Gói platform-sdk-core (sdk/java/README.md), cùng hành vi với bản
TypeScript. Dùng PlatformSdk.builder(code).fromEnv(...).build(),
sdk.require(...), sdk.db() (JDBC/Hikari theo tenant), sdk.context(),
sdk.runJob(...). Module tham chiếu đầu tiên: modules/van-ban.
Đã có — nạp giao diện module vào cổng tenant
Cổng tenant nạp ./App của remote Module Federation theo frontend.remote và sinh menu từ menus, truyền
basePath, path, locale, getAccessToken() vào component. Xem trang Giao diện module.
⚠️ Chưa có — phải tự làm thay
- SDK frontend client (
usePermission, provider ngữ cảnh, điều hướng trong module) — đầu việcG2-D3-4, chưa triển khai. Hiện module chỉ có bốn props ở trên; quyền phía client tự đọc từGET /api/v1/users/me/context. platform-cli(init,validate,pack,publish) — đầu việcG3-D3-2, chưa triển khai. Hiện tại không có công cụ dòng lệnh hỗ trợ đóng gói hay ký — tự viết script như ở trang Ký gói và File mẫu, hoặc dùngscripts/sinh-goi-module-demo.mjslàm khung tham khảo.sdk.events.emit/onđầy đủ hai chiều, webhookX-Platform-Signature— chỉ có phần phát, chưa có phần nhận.- SDK Python — chưa triển khai (để giai đoạn sau).
Đọc hai README gốc ở trên để biết chi tiết biến môi trường, giới hạn hiện tại, và phần "Còn thiếu so với đặc tả" — đừng giả định một API tồn tại nếu nó không nằm trong README đó.