vue中使用vaptcha
2021/8/26 23:09:51
本文主要是介绍vue中使用vaptcha,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
根据官网文档进行了简单的封装
<template> <!-- 点击式按钮建议高度介于36px与46px --> <div id="vaptchaContainer" style="width: 300px;height: 36px;"> <!--vaptcha-container是用来引入VAPTCHA的容器,下面代码为预加载动画,仅供参考--> <div class="vaptcha-init-main"> <div class="vaptcha-init-loading"> <a href="/" target="_blank"> <img src="https://r.vaptcha.net/public/img/vaptcha-loading.gif" /> </a> <span class="vaptcha-text">VAPTCHA is initializing...</span> </div> </div> </div> </template> <script> import axios from "axios"; // 引入axios let obj = {} export default { name: "Vaptcha", data() { return { vid: '', // 填写vaptcha的vid server: '', token: '' } }, methods: { getToken() { return token; }, load() { let _this = this vaptcha({ vid: _this.vid, // 验证单元id type: 'click', // 显示类型 点击式 scene: 0, // 场景值 默认0 container: '#vaptchaContainer', // 容器,可为Element 或者 selector //可选参数 //lang: 'auto', // 语言 默认auto,可选值auto,zh-CN,en,zh-TW,jp //https: true, // 使用https 默认 true //style: 'dark' //按钮样式 默认dark,可选值 dark,light //color: '#57ABFF' //按钮颜色 默认值#57ABFF //area: 'auto' //验证节点区域,默认 cn,可选值 auto,sea,na,cn }).then(function (vaptchaObj) { obj = vaptchaObj //将VAPTCHA验证实例保存到局部变量中 vaptchaObj.render() // 调用验证实例 vpObj 的 render 方法加载验证按钮 //获取token的方式一: //vaptchaObj.renderTokenInput('.login-form')//以form的方式提交数据时,使用此函数向表单添加server,token值 //获取token的方式二: vaptchaObj.listen('pass', function () { let serverToken = vaptchaObj.getServerToken() // 验证成功进行后续操作 let data = { server: serverToken.server, token: serverToken.token } axios.post('/login', data).then(res => { if (r.code !== 200) { console.log('登录失败') vaptchaObj.reset() //重置 VAPTCHA } }).catch(err => { console.log(err) }) }) //关闭验证弹窗时触发 vaptchaObj.listen('close', function () { //验证弹窗关闭触发 }) }) } }, mounted() { this.load() } } </script> <style scoped> .vaptcha-init-main { display: table; width: 100%; height: 100%; background-color: #eeeeee; } .vaptcha-init-loading { display: table-cell; vertical-align: middle; text-align: center; } .vaptcha-init-loading > a { display: inline-block; width: 18px; height: 18px; border: none; } .vaptcha-init-loading > a img { vertical-align: middle; } .vaptcha-init-loading .vaptcha-text { font-family: sans-serif; font-size: 12px; color: #cccccc; vertical-align: middle; } </style>
这篇关于vue中使用vaptcha的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15useCallback教程:React Hook入门与实践
- 2024-11-15React中使用useContext开发:初学者指南
- 2024-11-15拖拽排序js案例详解:新手入门教程
- 2024-11-15React中的自定义Hooks案例详解
- 2024-11-14受控组件项目实战:从零开始打造你的第一个React项目
- 2024-11-14React中useEffect开发入门教程
- 2024-11-14React中的useMemo教程:从入门到实践
- 2024-11-14useReducer开发入门教程:轻松掌握React中的useReducer
- 2024-11-14useRef开发入门教程:轻松掌握React中的useRef用法
- 2024-11-14useState开发:React中的状态管理入门教程