---
title: Vue SDK
---
# Vue SDK
CaptchaLa 验证码官方 Vue 3 组件 —— 已发布到 npm:[`@captcha-la/vue`](https://www.npmjs.com/package/@captcha-la/vue)。
## 在线 Demo
::: tip 📦
[demo-v1.captcha.la/vue](https://demo-v1.captcha.la/vue/) —— 可直接体验,含 4 种 product 模式。
源码:[Captcha-La/vue-example](https://github.com/Captcha-La/vue-example)。
:::
## 安装
```bash
npm install @captcha-la/vue
# 或
yarn add @captcha-la/vue
# 或
pnpm add @captcha-la/vue
```
Peer 依赖:`vue@^3.2.0`。
## 快速上手
```vue
```
## Props
| 属性 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `appKey` | `string` | *必填* | CaptchaLa 应用 key |
| `serverToken` | `string` | - | 服务端签发的一次性 challenge token。当应用配置 `server_token_required=true` 时必填。 |
| `product` | `'popup' \| 'float' \| 'embed' \| 'bind'` | `'popup'` | 显示模式 |
| `action` | `string` | `'default'` | 业务场景标识(如 `login`、`register`、`checkout`) |
| `lang` | `string` | `'zh-CN'` | 语言代码(`zh-CN`、`en`、`ja` 等) |
| `bindTo` | `string \| HTMLElement` | - | 绑定的元素选择器或节点(仅 `product="bind"`) |
## 事件
| 事件 | Payload | 说明 |
|------|---------|------|
| `success` | `{ token, type, action }` | 验证成功 |
| `error` | `error` | 验证失败 |
| `close` | — | 验证码关闭 |
| `ready` | — | 验证码就绪 |
## 通过 `ref` 调用方法
```vue
```
| 方法 | 说明 |
|------|------|
| `verify()` | 手动触发验证 |
| `reset()` | 重置验证码状态 |
| `destroy()` | 销毁验证码实例 |
| `bindTo(selector)` | 绑定到指定元素(仅 `bind` 模式) |
| `setLang(lang)` | 原地切换语言 |
## 生产环境:`serverToken` 模式
注册 / 登录 / 支付等高价值场景推荐使用 **服务端签发的一次性 token**。后端调
`POST /v1/server/challenge/issue` 签发 `server_token`(TTL 5 分钟,单次消费),下发给前端:
```vue
```
完整契约见 [API Reference](/zh-CN/api-reference)。
## 链接
- [npm](https://www.npmjs.com/package/@captcha-la/vue) · [GitHub](https://github.com/Captcha-La/vue) · [example](https://github.com/Captcha-La/vue-example)
- [Web SDK 总览](/zh-CN/web-sdk) · [API Reference](/zh-CN/api-reference)