轻量级、零依赖的人机验证解决方案。二维拖拽 + 图片选择 + AI 轨迹分析,多维度防机器人。
三种方式接入,最快只需一行代码
只需引入 loader.js 并添加一个容器,自动完成所有初始化工作。
loader.js 会自动扫描页面中所有 [data-captcha] 容器并初始化验证码组件。
将验证码放在 form 内,会自动拦截表单提交,验证通过后自动注入隐藏字段。
验证通过后会自动注入 <input type="hidden" name="captcha_token">。
使用 Captcha.init() 进行精细控制,支持回调函数和 Promise。
所有接口均使用 JSON 格式通信
服务端返回加密的 token 和目标图片 URL。客户端渲染目标图片后,用户将圆球拖拽至目标位置。
二次验证时,前端弹出图片选择题弹窗,用户选择后将答案再次提交到 /api/v1/verify。
重要:主站服务端在接收注册/登录请求时,务必调用此接口验证 token(一次性消耗),不要直接信任客户端提交的 token。
组件参数与 HTML 属性
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
apiUrl | string | https://meteorcaptcha.yulovehan.top | 验证服务器地址 |
theme | string | 'light' | 主题:'light' 或 'dark' |
debug | boolean | false | 调试模式 |
mock | boolean | false | 模拟模式(跳过真实验证) |
autoVerify | boolean | false | 是否自动验证 |
onVerified | function | - | 验证成功回调 |
onError | function | - | 验证失败回调 |
| 属性 | 说明 |
|---|---|
data-captcha | 标记为验证容器(必须) |
data-captcha-api | API 地址 |
data-captcha-theme | 主题:light / dark |
data-captcha-debug | 调试模式:true |
data-captcha-mock | 模拟模式:true |
data-captcha-onverified | 验证成功回调函数名 |
data-captcha-onerror | 验证失败回调函数名 |