欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

VUE接入腾讯验证码功能(滑块验证)备忘

时间:2021-01-15 11:13:24|栏目:vue|点击:

最近在用VUE做个简单的用户系统,登录注册需要验证码,想找个那种拖动的,找geetest居然已经不面向小客户了(或者说只有收费套餐)。

腾讯防水墙的验证码免费使用,有2000/小时的免费额度,对于小网站完全足够了,阿里应该也有,我看discuz有插件直接能用,但没找到入口

腾讯的在这,和腾讯云无关:https://007.qq.com/captcha/#/  申请api很简单,QQ登录,创建应用,ID和secretkey就出来了,直接在文档里展示,赞一个。

vue有人做了封装了geetest+腾讯验证码的插件,但实现不了我想要的逻辑,而且似乎把简单的东西复杂化了,遂放弃自己接。

我的应用的需求是:

用户点击按钮后,先执行我的验证逻辑,验证逻辑通过后再执行验证码逻辑,插件实现了一个vue组件进行绑定验证过程,但这样就没法实现我的需求了。而且我一开始找插件是因为以为腾讯提供的JS没有带UI,后来发现其实已经自带UI,一个函数就可以调起自适应的验证码界面,很方便。

接入方法

那么进入记录的正题

1.引入JS

在VUE的index.html头部加入以下内容即可

<script src="https://ssl.captcha.qq.com/TCaptcha.js"></script>

2.调起腾讯验证码

有两种方式可以调起,第一种采用dom元素加data属性

<button id="TencentCaptcha"
  data-appid="你的APPID"
  data-cbfn="callback"
>验证</button>

这样这个元素被点击的时候就会触发了(也就实现了前面说的第三方插件的功能了,所以不知道那个插件有啥意义..)

第二种方式是我使用的,JS内写逻辑:

new TencentCaptcha('腾讯验证码APPID', (rsp)=>{
   if(rsp.ret===0){
   //我的验证码通过后的逻辑写在此
   }else{
   this.$vux.toast.show({
    text: '请完成滑块验证',
    type: 'warn'
   })
   }
  },{});

这种方式可以完成我的需求,在验证表单数据的逻辑通过后调用此逻辑,此逻辑内再写表单提交请求,就可以了

3.腾讯验证码的一些设置

今天又看了下腾讯验证码的后台,感觉功能做的挺齐全也很实用。作为一个免费产品非常不错了:

可以看数据:

可以轻微定义界面(本身界面不会有广告):

可以设置体验更好的验证模式等:

总结

上一篇:vue中计算属性(computed)、methods和watched之间的区别

栏    目:vue

下一篇:基于canvas实现手写签名(vue)

本文标题:VUE接入腾讯验证码功能(滑块验证)备忘

本文地址:http://www.codeinn.net/misctech/45526.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有