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 面向对象(一)(共有方法,私有方法,特权方法)
May 23 Javascript
JQuery动画和停止动画实例代码
Mar 01 Javascript
通过伪协议解决父页面与iframe页面通信的问题
Apr 05 Javascript
js+HTML5实现视频截图的方法
Jun 16 Javascript
理解JavaScript事件对象
Jan 25 Javascript
JS实现用户注册时获取短信验证码和倒计时功能
Oct 27 Javascript
基于bootstrap实现收缩导航条
Mar 17 Javascript
angularjs实现上拉加载和下拉刷新数据功能
Jun 12 Javascript
vue使用vue-cli快速创建工程
Jul 28 Javascript
vue src动态加载请求获取图片的方法
Oct 17 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
Oct 19 Javascript
layui--js控制switch的切换方法
Sep 03 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
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
十天学会php(3)
2006/10/09 PHP
php使用cookie保存用户登录的用户名实例
2015/01/26 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
JQuery操作单选按钮以及复选按钮示例
2013/09/23 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
解决Antd Table组件表头不对齐的问题
2020/10/27 Javascript
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python常用列表数据结构小结
2014/08/06 Python
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
Python fileinput模块使用实例
2015/05/28 Python
利用django如何解析用户上传的excel文件
2017/07/24 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
python 安装impala包步骤
2020/03/28 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
详解HTML5中的picture元素响应式处理图片
2018/01/03 HTML / CSS
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
好家长事迹材料
2014/01/23 职场文书
小学三年级数学教学反思
2014/01/31 职场文书
抽样调查项目计划书
2014/04/24 职场文书
建立共青团委员会的请示
2019/04/02 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python
python爬取某网站原图作为壁纸
2021/06/02 Python
WebWorker 封装 JavaScript 沙箱详情
2021/11/02 Javascript