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的Document属性和方法小结
Sep 17 Javascript
JSON传递bool类型数据的处理方式介绍
Sep 18 Javascript
js表单提交和submit提交的区别实例分析
Dec 10 Javascript
Node.js连接postgreSQL并进行数据操作
Dec 18 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
Apr 23 Javascript
JS实现留言板功能
Jun 17 Javascript
create-react-app构建项目慢的解决方法
Mar 14 Javascript
vue单页开发父子组件传值思路详解
May 18 Javascript
记React connect的几种写法(小结)
Sep 18 Javascript
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 jQuery
JS中的一些常用的函数式编程术语
Jun 15 Javascript
JS sort排序详细使用方法示例解析
Sep 27 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
MySQL连接数超过限制的解决方法
2011/07/17 PHP
Symfony2 session用法实例分析
2016/02/04 PHP
php JWT在web端中的使用方法教程
2018/09/06 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
JavaScript 三种创建对象的方法
2009/10/16 Javascript
jQuery学习笔记之jQuery的事件
2010/12/22 Javascript
Jquery实现简单的动画效果代码
2012/03/18 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
Labelauty?jQuery单选框/复选框美化插件分享
2015/09/26 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
微信小程序 PHP生成带参数二维码
2017/02/21 Javascript
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
微信小程序代码上传、审核发布小程序
2019/05/18 Javascript
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
jQuery使用jsonp实现百度搜索的示例代码
2020/07/08 jQuery
Python合并多个装饰器小技巧
2015/04/28 Python
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
python实现车牌识别的示例代码
2019/08/05 Python
Pycharm修改python路径过程图解
2020/05/22 Python
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
应届生骨科医生求职信
2013/10/31 职场文书
端午节活动策划方案
2014/03/09 职场文书
户外活动策划方案
2014/03/12 职场文书
中学生寄语大全
2014/04/03 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis
JS数组去重详情
2021/11/07 Javascript
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python