用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显示验证码内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!
上一篇: R语言-如何读取前n行数据
下一篇: R语言-使用快捷键快速注释的实现
推荐阅读
-
用jQuery模拟页面加载进度条的实现代码
-
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
-
微信小程序实现用table显示数据库反馈的多条数据功能示例
-
C#用递归算法实现:一列数的规则如下: 1、1、2、3、5、8、13、21、34,求第30位数是多少
-
android通过Location API显示地址信息的实现方法
-
JSP实用教程之简易图片验证码的实现方法(附源码)
-
用Pycharm实现鼠标滚轮控制字体大小的方法
-
用AJAX技术实现在自己Blog上聚合并显示朋友Blog的最新文章
-
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
-
Android编程实现ListView内容无限循环显示的方法