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 相关文章推荐
关于JS数组追加数组采用push.apply的问题
Jun 09 Javascript
node.js中的fs.writeFileSync方法使用说明
Dec 14 Javascript
jQuery常用且重要方法汇总
Jul 13 Javascript
jquery实现动静态条形统计图
Aug 17 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
Dec 01 Javascript
JavaScript地理位置信息API
Jun 11 Javascript
跨域请求的完美解决方法(JSONP, CORS)
Jun 12 Javascript
JS清除字符串中重复值的实现方法
Aug 03 Javascript
jQuery拖拽通过八个点改变div大小
Nov 29 Javascript
详解angularjs 学习之 scope作用域
Jan 15 Javascript
详解jQuery-each()方法
Mar 13 jQuery
JavaScript 防抖和节流遇见的奇怪问题及解决
Nov 20 Javascript
基于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
PHP clearstatcache()函数详解
2010/03/02 PHP
php下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
phpMyAdmin自动登录和取消自动登录的配置方法
2014/05/12 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
WordPress分页伪静态加html后缀
2016/06/08 PHP
PHP打印输出函数汇总
2016/08/28 PHP
PHP实现根据数组某个键值大小进行排序的方法
2018/03/13 PHP
Javascript图像处理—虚拟边缘介绍及使用方法
2012/12/27 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
JS面向对象编程详解
2016/03/06 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
解决vue打包项目后刷新404的问题
2018/03/06 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
利用js实现简易红绿灯
2020/10/15 Javascript
使用Python的PIL模块来进行图片对比
2016/02/18 Python
Python采用Django制作简易的知乎日报API
2016/08/03 Python
浅谈python numpy中nonzero()的用法
2018/04/02 Python
Python爬虫信息输入及页面的切换方法
2018/05/11 Python
python实现图片文件批量重命名
2020/03/23 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
python实现桌面壁纸切换功能
2019/01/21 Python
python 图像的离散傅立叶变换实例
2020/01/02 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
汽车专业毕业生推荐信
2013/11/12 职场文书
总经理秘书工作职责
2013/12/26 职场文书
优秀求职信范文分享
2014/01/26 职场文书
卫生系统先进事迹
2014/05/13 职场文书
党支部群众路线整改措施思想汇报
2014/10/10 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
Java练习之潜艇小游戏的实现
2022/03/16 Java/Android