vue中使用极验验证码的方法(附demo)


Posted in Javascript onDecember 04, 2019

前言:

vue中使用极验验证码,最好是在页面渲染的时候(mounted)进行验证码的初始化,然后在初始化回调中绑定触发弹出验证码的事件。这样在点击按钮或者进行特定操作时能够快速的弹出验证码。

关键代码:

<!DOCTYPE html>
<html>

  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1,user-scalable=0">
    <title>极验使用实例</title>
  </head>

  <body>
    <div id="app">
      <div class="item">
        <h4>bind(隐藏式)</h4>
        <button id="btn">提交</button>
      </div>
    </div>
  </body>
  <script src="https://magicactivity.oss-cn-hangzhou.aliyuncs.com/activity/common_js/lib/jquery.min.js"></script>
  <script src="http://static.geetest.com/static/tools/gt.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script>
    let {
      log
    } = console
    Vue.config.silent = false;
    Vue.config.devtools = true;
    var app = new Vue({
      el: '#app',
      data: {},
      created: function() {},
      mounted: function() {
        this.init()
      },
      methods: {
        init() {
          $.ajax({
            url: "http://xxx.cn/user/getCheckCode",
            success: function(data) {
              var data = data.d
              initGeetest({
                // 以下配置参数来自服务端 SDK
                gt: data.gtId,
                challenge: data.gtTrans,
                offline: data.offline == 1 ? true : false, //极验API服务器是否宕机 false:宕机
                new_captcha: true,
                https: false,
                product: "bind" // 产品形式,包括:float,popup
              }, function(captchaObj) {
                captchaObj.onReady(function() {
                  $("#btn").click(function() {
                    captchaObj.verify();
                  })
                }).onSuccess(function() {
                  var result = captchaObj.getValidate();
                  if(!result) {
                    log("出错啦,请先完成验证!")
                  } else {
                    log("ok")
                    //验证通过后的业务逻辑
                    //......
                  }
                }).onError(function() {
                  console("出错啦,请稍后重试!")
                  //监听验证出错事件,提供用户或者刷新页面重试
                }).onClose(function() {
                  //对于product为bind形式的验证。当用户关闭弹出来的验证时,会触发该回调。
                });
              })
            }
          });
        }
      }
    })
  </script>
</html>

如上,在页面渲染的时候就进行验证码初始化,这样在点击按钮的时候就能快速的弹出验证码。但是,如果后端无法拿到uuid,而需要输入手机号码之类的账号进行验证,那么就需要在用户输入手机号码之后才能进行初始化了。这样的话,也就只能再获取到用户输入的手机号之后才能进行验证码初始化了。但是,在用户输入手机号码之后进行初始化,验证码弹窗弹出会有些延迟,在初始化之前进行loading就好了,初始化完成后隐藏loading,体验就会好一些。

总结

以上所述是小编给大家介绍的vue中使用极验验证码的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
比较详细的关于javascript中void(0)的具体含义解释
Aug 02 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
Jun 02 Javascript
动态加载脚本提升javascript性能
Feb 24 Javascript
举例讲解JavaScript substring()的使用方法
Nov 09 Javascript
JavaScript Promise 用法
Jun 14 Javascript
JS中使用 after 伪类清除浮动实例
Mar 01 Javascript
vue.js数据绑定操作详解
Apr 23 Javascript
Vue中的v-for指令不起效果的解决方法
Sep 27 Javascript
js实现随机8位验证码
Jul 24 Javascript
JS实现的字符串数组去重功能小结
Jun 17 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
vue3中provide && inject的使用
Jul 01 Vue.js
基于vue-cli3创建libs库的实现方法
Dec 04 #Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
Dec 04 #Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
Dec 04 #Javascript
jQuery实现全选、反选和不选功能的方法详解
Dec 04 #jQuery
JavaScript中如何对多维数组(矩阵)去重的实现
Dec 04 #Javascript
Vue实现base64编码图片间的切换功能
Dec 04 #Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
Dec 04 #Javascript
You might like
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
javascript 继承实现方法
2009/08/26 Javascript
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
JQuery ztree 异步加载实例讲解
2016/02/25 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
2020/03/12 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
python 写的一个爬虫程序源码
2016/02/28 Python
浅析python中的分片与截断序列
2016/08/09 Python
Python绘制3D图形
2018/05/03 Python
django js实现部分页面刷新的示例代码
2018/05/28 Python
在Python中pandas.DataFrame重置索引名称的实例
2018/11/06 Python
详解Python正则表达式re模块
2019/03/19 Python
python 公共方法汇总解析
2019/09/16 Python
Python流程控制常用工具详解
2020/02/24 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
利用SVG和CSS3来实现一个炫酷的边框动画
2015/07/22 HTML / CSS
谈谈对css属性box-sizing的了解
2017/01/04 HTML / CSS
KEETSA环保床垫:更好的睡眠,更好的生活!
2016/11/24 全球购物
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
公证委托书模板
2014/04/03 职场文书
乡镇保密工作责任书
2014/07/28 职场文书
慈善捐赠倡议书
2014/08/30 职场文书
法人授权委托书样本
2014/09/19 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
瘦西湖导游词
2015/02/03 职场文书
教师党员个人总结
2015/02/10 职场文书