slider-captcha-sdk 1.0.9 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/LICENSE +0 -0
- package/dist/README.md +172 -0
- package/dist/index.esm.js +985 -0
- package/dist/index.min.js +1 -1
- package/dist/password-validator.esm.js +204 -0
- package/dist/password-validator.min.js +1 -1
- package/dist/slider-captcha.d.ts +3 -1
- package/dist/slider-captcha.esm.js +763 -0
- package/package.json +13 -11
package/dist/LICENSE
ADDED
|
File without changes
|
package/dist/README.md
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Slider Captcha SDK
|
|
2
|
+
|
|
3
|
+
[](https://badge.fury.io/js/slider-captcha-sdk)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
|
|
6
|
+
纯JavaScript滑块验证码SDK,无外部依赖,支持多种模块格式。
|
|
7
|
+
|
|
8
|
+
## ✨ 特性
|
|
9
|
+
|
|
10
|
+
- 🚀 **零依赖** - 纯JavaScript实现,无外部依赖
|
|
11
|
+
- 📱 **响应式** - 完美支持移动端和桌面端
|
|
12
|
+
- 🎨 **可定制** - 丰富的配置选项和样式定制
|
|
13
|
+
- 📦 **多格式** - 支持UMD、ES Module、CommonJS
|
|
14
|
+
- 💪 **TypeScript** - 完整的TypeScript类型定义
|
|
15
|
+
- 🔧 **易集成** - 简单的API,快速集成
|
|
16
|
+
- 🛡️ **安全可靠** - 防暴力破解,多重验证
|
|
17
|
+
|
|
18
|
+
## 📦 安装
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install slider-captcha-sdk
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
或者使用yarn:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
yarn add slider-captcha-sdk
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 🚀 快速开始
|
|
31
|
+
|
|
32
|
+
### ES Module
|
|
33
|
+
```javascript
|
|
34
|
+
import { PopupSliderCaptcha} from 'slider-captcha-sdk'
|
|
35
|
+
|
|
36
|
+
const captcha = new PopupSliderCaptcha({
|
|
37
|
+
apiUrl: '/api/captcha',
|
|
38
|
+
verifyUrl: '/api/captcha/verify',
|
|
39
|
+
onSuccess: (data) => {
|
|
40
|
+
console.log('验证成功:', data)
|
|
41
|
+
},
|
|
42
|
+
onFail: (error) => {
|
|
43
|
+
console.log('验证失败:', error)
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
// 显示验证码
|
|
48
|
+
captcha.show()
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### UMD (浏览器直接引入)
|
|
52
|
+
```html
|
|
53
|
+
<script src="https://unpkg.com/slider-captcha-sdk/dist/slider-captcha.min.js"></script>
|
|
54
|
+
<script>
|
|
55
|
+
const captcha = new SliderCaptcha({
|
|
56
|
+
apiUrl: '/api/captcha',
|
|
57
|
+
verifyUrl: '/api/captcha/verify'
|
|
58
|
+
})
|
|
59
|
+
captcha.show()
|
|
60
|
+
</script>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### CommonJS
|
|
64
|
+
```javascript
|
|
65
|
+
const SliderCaptcha = require('slider-captcha-sdk')
|
|
66
|
+
|
|
67
|
+
const captcha = new SliderCaptcha()
|
|
68
|
+
captcha.show()
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## 📖 API文档
|
|
72
|
+
|
|
73
|
+
### 配置选项
|
|
74
|
+
|
|
75
|
+
| 参数 | 类型 | 默认值 | 描述 |
|
|
76
|
+
|------|------|--------|---------|
|
|
77
|
+
| `width` | `number` | `350` | 验证码宽度 |
|
|
78
|
+
| `height` | `number` | `200` | 验证码高度 |
|
|
79
|
+
| `sliderSize` | `number` | `42` | 滑块大小 |
|
|
80
|
+
| `maxRetries` | `number` | `3` | 最大重试次数 |
|
|
81
|
+
| `timeout` | `number` | `30000` | 超时时间(ms) |
|
|
82
|
+
| `apiUrl` | `string` | `'/api/captcha'` | 获取验证码接口 |
|
|
83
|
+
| `verifyUrl` | `string` | `'/api/captcha/verify'` | 验证接口 |
|
|
84
|
+
| `onSuccess` | `function` | `undefined` | 验证成功回调 |
|
|
85
|
+
| `onFail` | `function` | `undefined` | 验证失败回调 |
|
|
86
|
+
| `onClose` | `function` | `undefined` | 关闭回调 |
|
|
87
|
+
|
|
88
|
+
### 实例方法
|
|
89
|
+
|
|
90
|
+
#### `show(): Promise<any>`
|
|
91
|
+
显示验证码弹窗
|
|
92
|
+
|
|
93
|
+
#### `hide(): void`
|
|
94
|
+
隐藏验证码弹窗
|
|
95
|
+
|
|
96
|
+
#### `refresh(): Promise<void>`
|
|
97
|
+
刷新验证码
|
|
98
|
+
|
|
99
|
+
#### `destroy(): void`
|
|
100
|
+
销毁实例,清理所有事件监听器
|
|
101
|
+
|
|
102
|
+
#### `reset(): void`
|
|
103
|
+
重置验证码状态
|
|
104
|
+
|
|
105
|
+
### 静态方法
|
|
106
|
+
|
|
107
|
+
#### `SliderCaptcha.create(options): PopupSliderCaptcha`
|
|
108
|
+
创建验证码实例
|
|
109
|
+
|
|
110
|
+
#### `SliderCaptcha.show(options): Promise<PopupSliderCaptcha>`
|
|
111
|
+
快速显示验证码
|
|
112
|
+
|
|
113
|
+
## 🔧 服务端接口
|
|
114
|
+
|
|
115
|
+
### 获取验证码 (GET /api/captcha)
|
|
116
|
+
|
|
117
|
+
**响应格式:**
|
|
118
|
+
```json
|
|
119
|
+
{
|
|
120
|
+
"id": "captcha_id",
|
|
121
|
+
"backgroundImage": "data:image/png;base64,...",
|
|
122
|
+
"sliderImage": "data:image/png;base64,...",
|
|
123
|
+
"y": 120
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 验证接口 (POST /api/captcha/verify)
|
|
128
|
+
|
|
129
|
+
**请求格式:**
|
|
130
|
+
```json
|
|
131
|
+
{
|
|
132
|
+
"id": "captcha_id",
|
|
133
|
+
"x": 200,
|
|
134
|
+
"times": [100, 200, 300]
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**响应格式:**
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"success": true,
|
|
142
|
+
"message": "验证成功",
|
|
143
|
+
"token": "verification_token"
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## 🎨 自定义样式
|
|
148
|
+
|
|
149
|
+
你可以通过CSS覆盖默认样式:
|
|
150
|
+
|
|
151
|
+
```css
|
|
152
|
+
.slider-captcha-modal {
|
|
153
|
+
border-radius: 12px;
|
|
154
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.slider-captcha-btn {
|
|
158
|
+
background: linear-gradient(45deg, #667eea 0%, #764ba2 100%);
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## 📄 许可证
|
|
163
|
+
|
|
164
|
+
MIT License - 详见 [LICENSE](LICENSE) 文件
|
|
165
|
+
|
|
166
|
+
## 🤝 贡献
|
|
167
|
+
|
|
168
|
+
欢迎提交 Issue 和 Pull Request!
|
|
169
|
+
|
|
170
|
+
## 📞 支持
|
|
171
|
+
|
|
172
|
+
如果你觉得这个项目有用,请给它一个 ⭐️
|