Dựng CMS từ con số 0 #
Thứ tự việc cho một CMS / admin mới. Hướng dẫn chi tiết, có code: Dựng khung CMS (bước 1–5, 8) và Màn hình chung từ mô tả (bước 6–7). Hợp đồng từng bước ở CMS / admin và Phần chung.
- Lấy SDK đúng phiên bản server:
api.ts+runtime.ts(Tải SDK). Server phải mở CORS cho domain của CMS, hoặc CMS chạy trên tên miền đã gán cho khách (Phần chung §1.1). - Tạo
XforgeClientvớisessiondùng chung giữa các tab,idempotency: true, headerx-database/x-store/x-lang(Phần chung §1.2). - Màn đăng nhập: mật khẩu → chọn store (
store_required) → MFA nếu có → token; passkey; quên mật khẩu; bắt đổi mật khẩu / bắt buộc MFA (CMS §1). - Khung ứng dụng:
getMe()(quyền, ngôn ngữ của store) +listMenu()→ menu theokey. Mỗikeymở: màn hình tay của bạn nếu có; không thì màn hình chung khi mục cóscreen(module mô tả màn hình bằng dữ liệu); không nữa thì "chưa hỗ trợ" (Dựng khung CMS §7, CMS §3, Danh mục menu). - Một luồng realtime cho cả ứng dụng (
eventStream):core.menu_changed→ gọi lạilistMenu(),core.notification→ hộp thư; mỗireadyđọc lại thứ đang hiển thị (CMS §6). - Màn hình chung — một lần cho mọi module có mô tả: đọc
getMenuScreen, vẽ danh sách / form theolayout, gọi operation theo method + path bằngcall()(Màn hình chung từ mô tả, CMS §3.1). Kiểm CMS hỗ trợ đủ: Màn hình dựng sẵn. - Màn hình tay cho
keykhông có mô tả hoặc cần thao tác ngoài CRUD: đọc trang module tương ứng (mục Module), tra endpoint ở API CMS; dùng cùng khuôn danh sách theo con trỏ, lỗi theo ô, field dịch được (Phần chung §2, §3). - Trước khi ghép server thật: checklist CMS §12.
Khách tự làm CMS riêng dùng ĐÚNG các bước này — không có API riêng cho CMS của nhà cung cấp.