当前位置: 首页 > news >正文

【Vue】图形验证码功能

说明:

  1. 图形验证码,本质就是一个请求回来的图片
  2. 用户将来输入图形验证码,用于强制人机交互,可以抵御机器自动化攻击 (例如:避免批量请求获取短信)

需求:

  1. 动态将请求回来的 base64 图片,解析渲染出来
  2. 点击验证码图片盒子,要刷新验证码

image-20230617163721858

  1. 准备数据,获取图形验证码后存储图片路径,存储图片唯一标识
async created () {this.getPicCode()
},
data () {return {picKey: '', // 将来请求传递的图形验证码唯一标识picUrl: '', // 存储请求渲染的图片地址picCode: '' // 用户输入的图形验证码}
},
methods: {// 获取图形验证码// 将方法封装起来:1.更清晰,全写在created里太麻烦了 2.点击盒子需要刷新,刷新又需要重新调async getPicCode () {// 后端可以通过这个key找到验证码图片const { data: { base64, key } } = await request.get('/captcha/image')this.picUrl = base64this.picKey = key}
}
  1. 动态渲染图形验证码,并且点击时要重新刷新验证码
<!-- 顺便将picCode的v-model绑定一下 -->
<input v-model="picCode" class="inp" maxlength="5" placeholder="请输入图形验证码" type="text">
<!-- v-if="picUrl":有图片的时候才渲染,或者可以给个默认的图片加载失败的图片 -->
<img v-if="picUrl" :src="picUrl" @click="getPicCode">

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python类中常见的内置函数
  • 表的设计与查询
  • 豆瓣电影信息爬虫实战-2024年6月
  • 《Navi日语社》App:日语学习与翻译的智能助手,支持日文OCR识别提取文字,无需打字对着说话就能翻译的日语语音翻译工具!
  • 华为od-C卷100分题目-3用连续自然数之和来表达整数
  • Word中插入Mathtype右编号,调整公式与编号的位置
  • PHP维吾尔文转换成拉丁文
  • 前端JS必用工具【js-tool-big-box】学习,获取当前浏览器向上滚动还是向下滚动,获取当前距离顶部和底部的距离
  • vue-$set修改深层对象的值
  • 【云原生进阶之数据库技术】第二章-Oracle-原理-4.6.3.7-闪回事务查询技术
  • 我用香橙派做了一个Klipper 3D打印控制器
  • QuanTA: 一种新的高秩高效微调范式
  • 码蹄集部分题目(2024OJ赛18期;并查集+ST表+贪心)
  • GMT shp转gmt数据
  • 618大促有哪些好物是必买的?这些好物你绝对不能错过!
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 2017届校招提前批面试回顾
  • bootstrap创建登录注册页面
  • Bytom交易说明(账户管理模式)
  • CAP理论的例子讲解
  • Laravel 中的一个后期静态绑定
  • Tornado学习笔记(1)
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 读懂package.json -- 依赖管理
  • 工程优化暨babel升级小记
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 前端技术周刊 2019-01-14:客户端存储
  • 使用common-codec进行md5加密
  • 数组的操作
  • 网络应用优化——时延与带宽
  • 我是如何设计 Upload 上传组件的
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 用element的upload组件实现多图片上传和压缩
  • zabbix3.2监控linux磁盘IO
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • # 飞书APP集成平台-数字化落地
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (八)Spring源码解析:Spring MVC
  • (第二周)效能测试
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .net core 6 redis操作类
  • .net core 依赖注入的基本用发
  • .net core使用ef 6
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理