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 相关文章推荐
经验几则 推荐
Sep 05 Javascript
JavaScript Undefined,Null类型和NaN值区别
Oct 22 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
Jul 12 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
Jan 09 Javascript
JavaScript实现SHA-1加密算法的方法
Mar 11 Javascript
javascript引用类型指针的工作方式
Apr 13 Javascript
JavaScript简单下拉菜单实例代码
Sep 07 Javascript
JS清除字符串中重复值的实现方法
Aug 03 Javascript
玩转NODE.JS(四)-搭建简单的聊天室的代码
Nov 11 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
Jun 04 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
Oct 24 Javascript
vue中过滤器filter的讲解
Jan 21 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版(4)
2006/10/09 PHP
PHP set_time_limit(0)长连接的实现分析
2010/03/02 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
PHP file_exists问题杂谈
2012/05/07 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
简单实用的PHP文本缓存类实例
2019/03/22 PHP
jquery 获取json数据实现代码
2009/04/27 Javascript
JavaScript EasyPager 分页函数
2011/05/25 Javascript
iframe 异步加载技术及性能分析
2011/07/19 Javascript
a标签的href和onclick 的事件的区别介绍
2013/07/26 Javascript
form表单只提交数据而不进行页面跳转的解决方案
2013/09/18 Javascript
用jquery实现动画跳到顶部和底部(这个比较简单)
2014/09/01 Javascript
javascript实现分栏显示小技巧附图
2014/10/13 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
2015/09/08 Javascript
超漂亮的jQuery图片轮播特效
2015/11/24 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
微信小程序 详解Page中data数据操作和函数调用
2017/01/12 Javascript
用nodeJS搭建本地文件服务器的几种方法小结
2017/03/16 NodeJs
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
vue中动态绑定表单元素的属性方法
2018/02/23 Javascript
js实现拖动缓动效果
2020/01/13 Javascript
vue.js实现h5机器人聊天(测试版)
2020/07/16 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
sqlalchemy对象转dict的示例
2014/04/22 Python
Python之reload流程实例代码解析
2018/01/29 Python
python按照list中字典的某key去重的示例代码
2020/10/13 Python
python文件路径操作方法总结
2020/12/21 Python
去加拿大的旅行和假期:Canadian Affair
2016/10/25 全球购物
就业协议书
2014/09/12 职场文书
高中生逃课检讨书
2014/10/10 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
再谈python_tkinter弹出对话框创建
2022/03/20 Python