--- title: Vue-SDK --- # Vue-SDK Offizielle Vue 3-Komponente für CaptchaLa CAPTCHA — veröffentlicht als [`@captcha-la/vue`](https://www.npmjs.com/package/@captcha-la/vue). ## Live-Demo ::: tip 📦 [demo-v1.captcha.la/vue](https://demo-v1.captcha.la/vue/) — lauffähige Demo mit allen vier Produkt-Modi. Quellcode: [Captcha-La/vue-example](https://github.com/Captcha-La/vue-example). ::: ## Installation ```bash npm install @captcha-la/vue # or yarn add @captcha-la/vue # or pnpm add @captcha-la/vue ``` Peer-Abhängigkeit: `vue@^3.2.0`. ## Schnellstart ```vue ``` ## Props | Prop | Typ | Standard | Beschreibung | |------|------|---------|-------------| | `appKey` | `string` | *erforderlich* | CaptchaLa Application Key | | `serverToken` | `string` | - | Einmal-Challenge-Token, der vom Server ausgestellt wird. Erforderlich, wenn für die Anwendung `server_token_required=true` gesetzt ist. | | `product` | `'popup' \| 'float' \| 'embed' \| 'bind'` | `'popup'` | Anzeigemodus | | `action` | `string` | `'default'` | Action-Bezeichner (z. B. `login`, `register`, `checkout`) | | `lang` | `string` | `'zh-CN'` | Sprachcode (`zh-CN`, `en`, `ja`, …) | | `bindTo` | `string \| HTMLElement` | - | Element-Selektor oder -Knoten, an den gebunden wird (nur für `product="bind"`) | ## Events | Event | Payload | Beschreibung | |-------|---------|-------------| | `success` | `{ token, type, action }` | Verifizierung erfolgreich | | `error` | `error` | Verifizierung fehlgeschlagen | | `close` | — | CAPTCHA geschlossen | | `ready` | — | CAPTCHA bereit | ## Methoden (via `ref`) ```vue ``` | Methode | Beschreibung | |--------|-------------| | `verify()` | Verifizierung auslösen | | `reset()` | CAPTCHA-Status zurücksetzen | | `destroy()` | Instanz zerstören | | `bindTo(selector)` | An Element binden (für `bind`-Modus) | | `setLang(lang)` | Sprache zur Laufzeit wechseln | ## Produktion: `serverToken`-Modus Für hochwertige Flows (Anmeldung, Registrierung, Bezahlung) empfehlen wir den **servergenerierten Token-Flow**. Ihr Backend stellt einen Einmal-`server_token` (TTL 5 Minuten) über `POST /v1/server/challenge/issue` aus und übergibt ihn an den Browser: ```vue ``` Siehe [API-Referenz](/de/api-reference) für den vollständigen Backend-Vertrag. ## Links - [npm](https://www.npmjs.com/package/@captcha-la/vue) · [GitHub](https://github.com/Captcha-La/vue) · [Beispiel](https://github.com/Captcha-La/vue-example) - [Web-SDK-Übersicht](/de/web-sdk) · [API-Referenz](/de/api-reference)