--- title: SDK Vue --- # SDK Vue Componente oficial de Vue 3 para el CAPTCHA de CaptchaLa — publicado como [`@captcha-la/vue`](https://www.npmjs.com/package/@captcha-la/vue). ## Demo en vivo ::: tip 📦 [demo-v1.captcha.la/vue](https://demo-v1.captcha.la/vue/) — demo ejecutable con los cuatro modos de producto. Fuente: [Captcha-La/vue-example](https://github.com/Captcha-La/vue-example). ::: ## Instalación ```bash npm install @captcha-la/vue # or yarn add @captcha-la/vue # or pnpm add @captcha-la/vue ``` Dependencia entre pares: `vue@^3.2.0`. ## Inicio rápido ```vue ``` ## Props | Prop | Tipo | Por defecto | Descripción | |------|------|---------|-------------| | `appKey` | `string` | *obligatorio* | Clave de aplicación de CaptchaLa | | `serverToken` | `string` | - | Token de desafío de un solo uso emitido por el servidor. Obligatorio cuando la aplicación tiene `server_token_required=true`. | | `product` | `'popup' \| 'float' \| 'embed' \| 'bind'` | `'popup'` | Modo de visualización | | `action` | `string` | `'default'` | Identificador de acción (p. ej. `login`, `register`, `checkout`) | | `lang` | `string` | `'zh-CN'` | Código de idioma (`zh-CN`, `en`, `ja`, …) | | `bindTo` | `string \| HTMLElement` | - | Selector o nodo del elemento al que enlazar (solo para `product="bind"`) | ## Eventos | Evento | Carga útil | Descripción | |-------|---------|-------------| | `success` | `{ token, type, action }` | Verificación correcta | | `error` | `error` | Verificación fallida | | `close` | — | CAPTCHA cerrado | | `ready` | — | CAPTCHA listo | ## Métodos (vía `ref`) ```vue ``` | Método | Descripción | |--------|-------------| | `verify()` | Lanza la verificación | | `reset()` | Reinicia el estado del CAPTCHA | | `destroy()` | Destruye la instancia | | `bindTo(selector)` | Enlaza al elemento (para el modo `bind`) | | `setLang(lang)` | Cambia el idioma en caliente | ## Producción: modo `serverToken` Para flujos de alto valor (inicio de sesión, registro, pago) recomendamos el **flujo de token emitido por el servidor**. Tu backend genera un `server_token` de un solo uso (TTL de 5 minutos) vía `POST /v1/server/challenge/issue` y se lo entrega al navegador: ```vue ``` Consulta la [Referencia de la API](/es/api-reference) para el contrato completo del backend. ## Enlaces - [npm](https://www.npmjs.com/package/@captcha-la/vue) · [GitHub](https://github.com/Captcha-La/vue) · [ejemplo](https://github.com/Captcha-La/vue-example) - [Visión general del SDK Web](/es/web-sdk) · [Referencia de la API](/es/api-reference)