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实现文本框支持加减运算的方法
Aug 19 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
Sep 06 Javascript
微信小程序 教程之注册程序
Oct 17 Javascript
jq checkbox 的全选并ajax传参的实例
Apr 01 Javascript
mui上拉加载功能实例详解
Apr 13 Javascript
vue父组件通过props如何向子组件传递方法详解
Aug 16 Javascript
解决vue打包项目后刷新404的问题
Mar 06 Javascript
Vue 获取数组键名的方法
Jun 21 Javascript
基于React+Redux的SSR实现方法
Jul 03 Javascript
详解Vue.js使用Swiper.js在iOS
Sep 10 Javascript
vue debug 二种方法
Sep 16 Javascript
webpack4.0 入门实践教程
Oct 08 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表达式
2006/10/09 PHP
用PHP实现维护文件代码
2007/06/14 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
PHP中soap的用法实例
2014/10/24 PHP
php中preg_match的isU代表什么意思
2015/10/01 PHP
php 基础函数
2017/02/10 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
js中arguments的用法(实例讲解)
2013/11/30 Javascript
jquery中的on方法使用介绍
2013/12/29 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
js获取隐藏元素宽高的实现方法
2016/05/19 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
JS中的算法与数据结构之集合(Set)实例详解
2019/08/20 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
2020/07/17 Javascript
vue-router 控制路由权限的实现
2020/09/24 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
python基础教程之元组操作使用详解
2014/03/25 Python
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
Python处理文本换行符实例代码
2018/02/03 Python
Python中一行和多行import模块问题
2018/04/01 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
Python通过socketserver处理多个链接
2020/03/18 Python
CSS3 不定高宽垂直水平居中的几种方式
2020/03/26 HTML / CSS
解决html5中的video标签ios系统中无法播放使用的问题
2020/08/10 HTML / CSS
环境工程求职简历的自我评价范文
2013/10/24 职场文书
企划专员岗位职责
2013/12/09 职场文书
七一党日活动总结
2014/07/08 职场文书
学校运动会通讯稿
2015/07/18 职场文书
2016年最美孝心少年事迹材料
2016/02/26 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python
Python编写nmap扫描工具
2021/07/21 Python