背景
关于验证码的使用场景还是非常多的,很多网站上的验证码可谓是五花八门,下面是我使用Vue.js实现滑动拼图验证码做的一个笔记。
准备工作
- 访问KgCaptcha网站,注册账号后登录控制台,访问“无感验证”模块,申请开通后系统会分配给应用一个唯一的AppId、AppSecret。
- 提供后端SDK来校验token(即安全凭据)是否合法 ,目前支持PHP版、Python版、Java/JSP版、.Net C#版。
- 访问Vue.js中文官网,复制Vue.js插件链接。
- 注意:先HTML头部初始化行为验证码,然后HTML底部初始化Vue.js,否则KgCaptcha的js部分函数与被Vue.js发生冲突,导致失效。
HTML、JS代码
代码语言:html复制<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<!--头部引入vue.js插件-->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!--头部引入vue.js插件-->
<!--头部引入行为验证码js插件-->
<script id="KgCaptcha" src="captcha.js?appid=xxx"></script>
<script>
kg.captcha({
// 绑定元素,验证框显示区域
bind: "#captchaBox", //嵌入式、触发式( 嵌入式、触发式标签及事件 和 弹窗式标签及事件 ,二选一)
button: "#captchaButton", //弹窗式( 嵌入式、触发式标签及事件 和 弹窗式标签及事件 ,二选一)
// 验证成功事务处理
success: function(e) {
console.log(e);
kg.$('#token').value = e['token'];
},
// 验证失败事务处理
failure: function(e) {
console.log(e);
},
// 点击刷新按钮时触发
refresh: function(e) {
console.log(e);
}
});
</script>
<!--头部引入行为验证码js插件-->
</head>
<body>
<div id="app">
<!--自定义内容、vue组件-->
token: <input name="token" id="token">
<!--行为验证码组件-->
<div id="captchaBox"></div> <!--嵌入式、触发式( 嵌入式、触发式标签及事件 和 弹窗式标签及事件 ,二选一) -->
<!--行为验证码组件-->
<button type="button">提交</button>
<a id="captchaButton">点击弹出验证窗口</a> <!--弹窗式( 嵌入式、触发式标签及事件 和 弹窗式标签及事件 ,二选一)-->
<!--自定义内容、vue组件-->
</div>
</body>
<!--底部运行vue.js代码-->
<script>
var app = new Vue({
el: '#app',
})
</script>
<!--底部运行vue.js代码-->
</html>
最后
SDK开源地址:https://github.com/KgCaptcha,顺便做了一个演示:https://www.kgcaptcha.com/demo/