在项目中使用滑动验证,可以调用腾讯云的组件和接口(付费项目)
导言
首先看看官方的步骤教学:
https://cloud.tencent.com/document/product/1110/36839
其中,前端涉及到的是“步骤3:客户端接入”,里面介绍了两种接入方法:“快速接入”和“定制接入”。
项目是原生HTML 或者 jQuery 开发,那么可以使用“快速接入”。
项目使用 vue、react 等框架开发,则需要使用“定制接入”。
步骤
1、新建项目对应 appid
在 验证码控制台 中注册 AppID 和 AppSecret。
其中的“所在网址”可以填本地开发IP地址,例如 “192.168.20.28”
注意,自己测试的话,需要先领取免费包。即在 APPID 列表里新建验证成功后,选择列表 table 上面的 “领取免费包”,领取2万次调用次数
2、在 index.html 中引入验证 js 文件
<script src="/UploadFiles/2021-04-02/TCaptcha.js">3、在按钮中绑定点击事件,实例化 TencentCaptcha ,制定回调函数
// vue 例子 // 点击按钮,出现拼图弹窗 <el @click="varify" > 验证</el - button > methods: { varify() { let appid = 'xxxxx'; // 腾讯云控制台中对应这个项目的 appid //生成一个滑块验证码对象 let captcha = new TencentCaptcha(appid, function (res) { // 用户滑动结束或者关闭弹窗,腾讯返回的内容 console.log(res) if (res.ret === 0) { //成功,传递数据给后台进行验证 axios.post('接口路径', { Ticket: res.ticket, CaptchaAppId: res.appid, Randstr: res.randstr, // 其他参数 }) .then( // 后台验证通过,返回用户信息 // 前端接收并登陆系统 ) .catch( // 验证失败 ) } else { // 提示用户完成验证 } }); // 滑块显示 captcha.show(); } }其中,腾讯返回的数据格式是这样的:
appid: "xxxx" bizState: "xxx" randstr: "@0N2" ret: 0 // 2 代表用户关闭验证弹窗 ticket: "xxxxx"4、在线调试
后台未接入腾讯云验证接口,也可以通过腾讯云提供的在线调试工具,测试验证结果
步骤:
- 前端滑动验证,打印返回结果
- 在工具网页点选 “只看必填参数”,将所需内容填好,Ticket 啥的就填返回的结果
- 选择右侧 在线调用 -> 发送请求