--- 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)