Mulai cepat
1. Buat Mini Program
Login ke platform.lexcetha.com dan pilih New Mini Program. Tentukan slug (a-z, 0-9, -) dan nama. Anda mendapat proyek awal:
manifest.json
src/index.tsx2. Tulis kodenya
src/index.tsx harus me-render ke #root:
tsx
import { useEffect, useState } from 'react';
import { createRoot } from 'react-dom/client';
import { createLex, LexError, type LexContext } from '@lex/sdk';
const lex = createLex();
function App() {
const [ctx, setCtx] = useState<LexContext | null>(null);
const [count, setCount] = useState(0);
useEffect(() => {
lex.getContext().then(setCtx);
lex.storage.get<number>('count').then((v) => setCount(v ?? 0));
}, []);
async function increment() {
const next = count + 1;
setCount(next);
await lex.storage.set('count', next);
if (next % 5 === 0) await lex.notify({ title: 'Pencapaian', message: `${next} klik`, level: 'success' });
}
return (
<main>
<h1>Halo{ctx?.user.displayName ? `, ${ctx.user.displayName}` : ''} 👋</h1>
<button onClick={increment}>Diklik {count} kali</button>
</main>
);
}
createRoot(document.getElementById('root')!).render(<App />);Deklarasikan apa yang dipakai di manifest.json:
json
{
"manifestVersion": 1,
"id": "app.lex.hello-world",
"name": "Hello World",
"icon": "👋",
"version": "0.1.0",
"sdkVersion": "^0.1.0",
"entry": "src/index.tsx",
"permissions": ["ui.notifications", "storage.scoped"],
"compatibility": { "runtime": "^1.0.0" }
}Hanya import berikut yang diizinkan: react, react/jsx-runtime, react-dom, react-dom/client, dan @lex/sdk.
3. Validasi, build, dan preview
- Validate memeriksa manifest.
- Build mem-bundle kode Anda di platform (esbuild, maksimal 2 MB) dan memberi peringatan untuk kode yang akan diblokir sandbox.
- Preview menjalankan hasil build di sandbox yang sama dengan host simulasi: storage di memori, notifikasi sebagai toast, dan asisten simulasi.
4. Ajukan
Ajukan build yang berhasil. Lexcetha mereview kode, izin, dan log build; setelah disetujui, Anda menerbitkannya dari tab Rilis. Lihat Review & publikasi.
Bekerja secara lokal
SDK dan dua contohnya ada di repository lex-sdk (examples/hello-world, examples/task-board). Jadikan referensi, dan uji dengan bridge tiruan.
