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实例教程(19) 使用HoTMetal(2)
Dec 23 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
Mar 07 Javascript
给应用部分的js代码设定一个统一的入口
Jun 15 Javascript
Bootstrap每天必学之媒体对象
Nov 30 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
Dec 26 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
Feb 09 Javascript
使用JS实现图片轮播的实例(前后首尾相接)
Sep 21 Javascript
微信小程序实现验证码获取倒计时效果
Feb 08 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
Jul 19 Javascript
解决vue打包后刷新页面报错:Unexpected token
Aug 27 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
Oct 24 Javascript
WebRTC记录音视频流(web技术分享)
Feb 24 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 self,$this,const,static,-&amp;gt;的使用
2009/10/22 PHP
PHP 中检查或过滤IP地址的实现代码
2011/11/27 PHP
PHP随机生成随机个数的字母组合示例
2014/01/14 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
2007/03/12 Javascript
Windows系统中安装nodejs图文教程
2015/02/28 NodeJs
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
JavaScript中实现Map的示例代码
2015/09/09 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
AngularJS入门教程之迭代器过滤详解
2016/08/18 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
js继承的这6种方式!(上)
2019/04/23 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
tensorflow实现逻辑回归模型
2018/09/08 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
django和vue实现数据交互的方法
2019/08/21 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
质检部职责
2013/12/28 职场文书
开工典礼策划方案
2014/05/23 职场文书
平面设计师岗位职责
2014/09/18 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
Java实现带图形界面的聊天程序
2022/06/10 Java/Android
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers