背景
对于验证码的应用场景还是十分多的,很多网站上的验证码堪称是形形色色,上面是我应用 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 代码
<!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/