Skip to content

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.tsx

2. 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.

Lex oleh Gavalytics AI