您现在的位置是:网站首页> 编程资料编程资料
用canvas显示验证码的实现canvas基础之图形验证码的示例利用html5 canvas破解简单验证码及getImageData接口应用canvas实现滑动验证的实现示例
2021-08-30
1089人已围观
简介 这篇文章主要介绍了用canvas显示验证码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
最近做了一个小需求,就是点击删除按钮,弹出提示弹框让你输入验证码确认删除。
那么怎么显示从后台获取的验证码供用户输入呢?我在理解需求时还以为是后台直接把验证码发到用户的手机上 然后让其输入,其实不然,我理解错了,应该用 canvas 把验证码画出来。
理解需求之后我扒着有验证码的网址看,开始 canvas 画图之旅。
技术栈: quasar (基于vue的一种框架) / canvas
点击删除按钮,触发弹框弹出

弹框为什么会弹出呢? 因为点击删除按钮,触发 handleAddDialogOpened 事件,使得data里面的 addDialogOpened 由false变成true,弹框就由之前的不显示变成显示啦。
如图代码是弹框代码:其中 canvas 标签上的 ref 是多余的,抱歉呐,忘记删掉了
data 里面定义的数据:定义 canvas 画布的宽高
verifyCode_ 绑定用户输入input框的验证码
computed 计算属性里面 mapState 映射 verifyCode 数据, mapState 是辅助函数,用于帮助我们简化生成计算属性,不懂的可以扒着 vuex 的官网瞅瞅
mapActions 也是辅助函数,用于将组件的方法映射为 store.dispatch
getVerifyCode 就是向后台获取验证的请求方法
canvasclick 方法用于 当用户辨认不清验证码,或者输入错误重新输入时,点击 换一个 即可更新验证码(此时要重新从后台获取验证码) 后台小哥哥不打烊呐~~~
核心代码: drawPic() 方法就是画验证码的核心方法
1 获取画布标签 使用 getElementById 原生获取 dom
2 使用 .getContext('2d') 准备画布 .textBaseline 定义画布描绘的基线
3 绘制背景
4 绘制验证码
5 绘制干扰视觉的线和点
drawText() 绘制验证码的方法
drawLine() 绘制干扰线的方法
drawDot() 绘制干扰点的方法
定义弹框弹出的方法以及删除的方法, 回归需求 ,到此这个需求就完成了 可以和后台联调,没啥问题就可提交代码啦
总结:
a. 遇到没有做过的需求,要去看看别人怎么做的,目前还没有难到要你自己创新,没有任何类比的代码
b. 善于使用debugger调试代码,看看自己代码那里出了问题,有bug不要慌,喝口水,去debugger打断点深入理解代码执行逻辑,效率解决
c. 作为社畜大军的一员,要自律, 要输出 ,要锻炼,有时间还要看看代码大全,地铁上撸撸MDN文档,扎实js, 期待那个你想成为的你, 共勉
到此这篇关于用canvas显示验证码的实现的文章就介绍到这了,更多相关canvas显示验证码内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!
相关内容
- HTML5给汉字加拼音收起展开组件的实现代码
- iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配html5 分层屏幕适配的方法
- HTML5 textarea高度自适应的两种方案HTML页面自适应宽度的table(表格)HTML5 body设置自适应全屏html5移动端自适应布局的实现关于html选择框创建占位符的问题
- html5给汉字加拼音加进度条的实现代码基于HTML5 SVG实现的圆形滑块进度条特效源码HTML5超炫酷粒子效果的进度条的实现示例HTML5触摸事件实现移动端简易进度条的实现方法HTML5实现自带进度条和滑块滑杆效果html5新增的定时器requestAnimationFrame实现进度条功能HTML5实现仪表盘进度条特效代码
- 详解HTML5如何使用可选样式表为网站或应用添加黑暗模式HTML5 标准将把互联网视频扔回到黑暗时代
- HTML5拖放API实现自动生成相框功能html5视频常用API接口的实战示例HTML5拖拽API经典实例详解HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码你不知道的5个HTML5新功能
- canvas绘制树形结构可视图形的实现html5利用canvas绘画二级树形结构图的示例
- Html5踩坑记之mandMobile使用小记html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- 总结html5自定义属性有哪些浅谈html5增强的页面元素详解HTML5中CSS外观属性html5实现滑块功能之type="range"属性Html5之自定义属性(data-,dataset)浅析HTML5页面元素及属性
- 详解canvas.toDataURL()报错的解决方案全都在这了canvas.toDataURL image/png 报错处理方法推荐 关于canvas.toDataURL 在iOS运行失败的问题解决
