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 this关键字使用分析
Oct 21 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
Feb 25 Javascript
js快速排序的实现代码
Dec 08 Javascript
jQuery中prev()方法用法实例
Jan 08 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
May 10 Javascript
JS实现点击循环切换显示内容的方法
Oct 19 Javascript
微信小程序生成分享海报方法(附带二维码生成)
Mar 29 Javascript
记一次用vue做的活动页的方法步骤
Apr 11 Javascript
react MPA 多页配置详解
Oct 18 Javascript
浅谈关于vue中scss公用的解决方案
Dec 02 Javascript
Vue.js仿Select下拉框效果
Feb 18 Javascript
原生JS封装拖动验证滑块的实现代码示例
Jun 01 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编程最快明白》第三讲:php数组
2010/11/01 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
2015/05/08 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
2016/10/08 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
Javascript 作用域使用说明
2009/08/13 Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
2014/11/02 Javascript
freemarker判断对象是否为空的方法
2015/08/13 Javascript
原生js实现autocomplete插件
2016/04/14 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
2018/08/11 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
2019/09/16 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
javascript 数组精简技巧小结
2020/02/26 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
Python continue继续循环用法总结
2018/06/10 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
python添加菜单图文讲解
2019/06/04 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
浅谈Django+Gunicorn+Nginx部署之路
2019/09/11 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
Django多数据库联用实现方法解析
2020/11/12 Python
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
KOHLER科勒美国官网:国际著名卫浴橱柜领先品牌
2020/06/27 全球购物
电子商务个人职业生涯规划范文
2014/02/12 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
会计求职信怎么写
2015/03/20 职场文书
2015年重阳节主持词
2015/07/04 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python