极验验证_验证码平台

极验验证_验证码平台发送验证码下面是具体实现步骤:handleSendCode(){const{mobile}=this.formaxios({method:'GET',url

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

发送验证码

1674837-9b3f19bfc595a766

  1. 点击获取验证码,发送请求 获取人机验证码(极验 API1),获取用来初始化验证码的参数
  2. 调用极验的 JavaScript SDK 提供的 API,通过上一步得到的数据初始化验证码
  3. 用户通过人机交互验证之后,极验会给你返回一些验证的结果数据,然后调用你的 获取短信验证码 (极验 API2) 接口,如果正确,短信就可以发出去了
  4. 按钮倒计时效果

下面是具体实现步骤:

  1. 点击获取验证码按钮,发送请求,获取用来初始化验证码的参数
handleSendCode () { const { mobile } = this.form axios({ method: 'GET', url: `http://ttapi.research.itcast.cn/mp/v1_0/captchas/${mobile}` }).then(res => { const { data } = res.data }) }

请求结果数据如下:

{ "message": "xxx", "data": { "success": "xxx", "gt": "xxx", "challenge": "xxx", new_captcha: "xxx" } } 
 
  1. 加载极验提供的 JavaScript SDK 到项目中

将 gt.js 文件下载到项目的 src/vendor 目录中,然后在 src/views/login/index.vue 中加载该文件。

小提示:我们建议把没有提供 npm 包的第三方内容都放到项目的 src/vendor 目录中

... # gt.js 会提供一个全局函数 initGeetest import '@/vendor/gt.js' ... 
 

一个小插曲:当你在项目中引入 gt.js 模块之后你会发现在终端中输出很多(400+)语法格式错误,这是因为 ESLint 也把 gt.js 当作我们自己写的 JavaScript 文件去进行代码格式检查了。

极验虽然是一个第三方文件,但是该文件是我们手动下载到项目中(非npm模块)去加载使用的,所以 ESLint 也会检查该文件的代码规则,在这里是没有必要的,代码格式检查应该主要针对我们的代码文件,解决方法就是在项目的根目录创建一个文件 .eslintignore并写入以下内容:

src/vendor/gt.js
 

.eslintignore 文件类似于 .gitignore,它的作用是手动配置 ESLint 不需要校验的代码文件。

配置好以后,重启服务就好了。

  1. 查看极验文档,体验官方demo
  2. 根据文档中的说明,调用 initGeetest 函数初始化极验验证码

handleSendCode () { const { mobile } = this.form axios({ method: 'GET', url: `http://ttapi.research.itcast.cn/mp/v1_0/captchas/${mobile}` }).then(res => { const { data } = res.data window.initGeetest({ // 以下配置参数来自服务端 SDK gt: data.gt, challenge: data.challenge, offline: !data.success, new_captcha: data.new_captcha, product: 'bind' // 隐藏,直接弹出式 }, (captchaObj) => { this.captchaObj = captchaObj captchaObj.onReady(function () { // 验证码ready之后才能调用verify方法显示验证码 captchaObj.verify() }).onSuccess(function () { // 人机交互验证通过 console.log(captchaObj.getValidate()) }).onError(function () { // your code }) }) }) } 
 
  1. 在极验的 onSuccess 回调函数中,将调用 captchaObj.getValidate() 获取到的结果参数作为发送短信验证码接口的请求参数发出获取短信验证码请求
handleSendCode () { const { mobile } = this.form axios({ method: 'GET', url: `http://ttapi.research.itcast.cn/mp/v1_0/captchas/${mobile}` }).then(res => { const { data } = res.data window.initGeetest({ // 以下配置参数来自服务端 SDK gt: data.gt, challenge: data.challenge, offline: !data.success, new_captcha: data.new_captcha, product: 'bind' // 隐藏,直接弹出式 }, (captchaObj) => { captchaObj.onReady(function () { // 验证码ready之后才能调用verify方法显示验证码 captchaObj.verify() }).onSuccess(function () { // 人机交互验证通过 const { geetest_challenge: challenge, geetest_seccode: seccode, geetest_validate: validate } = captchaObj.getValidate() axios({ method: 'GET', url: `http://ttapi.research.itcast.cn/mp/v1_0/sms/codes/${mobile}`, params: { challenge, validate, seccode } }).then(res => { console.log(res.data) // 开启倒计时效果 }) }).onError(function () { // your code }) }) }) }
  1. 不出意外的话,你应该可以收到短信验证码了。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166916.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【软件工程师之路一】咸鱼翻身之自学软件开发[通俗易懂]

    【软件工程师之路一】咸鱼翻身之自学软件开发[通俗易懂]给大家推荐一个网站,主要是给在校学生提供资料和交流的平台,也希望社会人士能进来给与一些经验和建议,把这个网站维持下去。阳光沙滩 http://bbs.sunofbeaches.com/?fromuid=9791“做人如果没有梦想,跟咸鱼有什么分别?”我们的梦想就是如何从零基础去学习软件开发,最后达到我们心目中的高度,首先我按自己的理解大致将各个阶段进行划分,每个公司

    2022年5月6日
    45
  • 2021年G3锅炉水处理模拟试题及G3锅炉水处理模拟考试题库[通俗易懂]

    题库来源:安全生产模拟考试一点通公众号小程序安全生产模拟考试一点通:N1叉车司机实操考试视频参考答案及N1叉车司机考试试题解析是安全生产模拟考试一点通题库老师及N1叉车司机操作证已考过的学员汇总,相对有效帮助N1叉车司机操作证考试学员顺利通过考试。1、【多选题】《特种设备使用管理规则》规定,特种设备安全管理制度中,包括特种设备采购、安装、()等制度。(ACD)A、改造B、销售C、修理D、报废2、【多选题】叉车工作中要保持三个距离:()。(ABC)A、叉车与…

    2022年4月16日
    40
  • 用js来实现那些数据结构03(数组篇03-排序及多维数组)

    终于,这是有关于数组的最后一篇,下一篇会真真切切给大家带来数据结构在js中的实现方式。那么这篇文章还是得啰嗦一下数组的相关知识,因为数组真的太重要了!不要怀疑数组在JS中的重要性与实用性。这篇文章分为

    2022年3月25日
    40
  • WebStorm 2021.11.3激活码(注册激活)

    (WebStorm 2021.11.3激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月29日
    89
  • Java的反射机制原理[通俗易懂]

    Java的反射机制原理[通俗易懂]一、什么是反射:(1)Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到class对象之后,再通过class对象进行反编译,从而获取对象的各种信息。(2)Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了,而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期知道运行的对象是谁。二.反射机制的概念指在运行状态中..

    2022年7月8日
    34
  • Pytest(11)allure报告「建议收藏」

    Pytest(11)allure报告「建议收藏」前言allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。mac环境:

    2022年7月31日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号