欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-12 22:48:22
最近在用vue做个简单的用户系统,登录注册需要验证码,想找个那种拖动的,找geetest居然已经不面向小客户了(或者说只有收费套餐)。 腾讯防水墙的验证码免费使用,有20...

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

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

腾讯的在这,和腾讯云无关:  申请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接入腾讯验证码功能(滑块验证)备忘

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

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

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

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

总结

以上所述是小编给大家介绍的vue接入腾讯验证码功能(滑块验证)备忘,希望对大家有所帮助

上一篇:

下一篇: