---
title: Vue SDK
---
# Vue SDK
Component Vue 3 chính thức cho CaptchaLa CAPTCHA — phát hành dưới dạng [`@captcha-la/vue`](https://www.npmjs.com/package/@captcha-la/vue).
## Demo trực tiếp
::: tip 📦
[demo-v1.captcha.la/vue](https://demo-v1.captcha.la/vue/) — demo chạy được với cả bốn chế độ sản phẩm.
Mã nguồn: [Captcha-La/vue-example](https://github.com/Captcha-La/vue-example).
:::
## Cài đặt
```bash
npm install @captcha-la/vue
# hoặc
yarn add @captcha-la/vue
# hoặc
pnpm add @captcha-la/vue
```
Peer dependency: `vue@^3.2.0`.
## Bắt đầu nhanh
```vue
```
## Props
| Prop | Kiểu | Mặc định | Mô tả |
|------|------|---------|-------------|
| `appKey` | `string` | *bắt buộc* | Khóa ứng dụng CaptchaLa |
| `serverToken` | `string` | - | Token thử thách do máy chủ phát hành, dùng một lần. Bắt buộc khi ứng dụng có `server_token_required=true`. |
| `product` | `'popup' \| 'float' \| 'embed' \| 'bind'` | `'popup'` | Chế độ hiển thị |
| `action` | `string` | `'default'` | Định danh hành động (ví dụ `login`, `register`, `checkout`) |
| `lang` | `string` | `'zh-CN'` | Mã ngôn ngữ (`zh-CN`, `en`, `ja`, …) |
| `bindTo` | `string \| HTMLElement` | - | Selector hoặc node để gắn vào (chỉ cho `product="bind"`) |
## Sự kiện
| Sự kiện | Payload | Mô tả |
|-------|---------|-------------|
| `success` | `{ token, type, action }` | Xác minh thành công |
| `error` | `error` | Xác minh thất bại |
| `close` | — | CAPTCHA bị đóng |
| `ready` | — | CAPTCHA sẵn sàng |
## Phương thức (qua `ref`)
```vue
```
| Phương thức | Mô tả |
|--------|-------------|
| `verify()` | Kích hoạt xác minh |
| `reset()` | Đặt lại trạng thái CAPTCHA |
| `destroy()` | Hủy instance |
| `bindTo(selector)` | Gắn vào phần tử (cho chế độ `bind`) |
| `setLang(lang)` | Đổi ngôn ngữ tại chỗ |
## Production: chế độ `serverToken`
Đối với các luồng quan trọng (đăng nhập, đăng ký, thanh toán), chúng tôi khuyến nghị
**luồng token do máy chủ phát hành**. Backend của bạn phát hành một `server_token` dùng một lần
(TTL 5 phút) qua `POST /v1/server/challenge/issue` và trao nó cho trình duyệt:
```vue
```
Xem [Tài liệu API](/vi/api-reference) để biết toàn bộ hợp đồng phía backend.
## Liên kết
- [npm](https://www.npmjs.com/package/@captcha-la/vue) · [GitHub](https://github.com/Captcha-La/vue) · [ví dụ](https://github.com/Captcha-La/vue-example)
- [Tổng quan Web SDK](/vi/web-sdk) · [Tài liệu API](/vi/api-reference)