最近做了一个小需求,就是点击删除按钮,弹出提示弹框让你输入验证码确认删除。
那么怎么显示从后台获取的验证码供用户输入呢?我在理解需求时还以为是后台直接把验证码发到用户的手机上 然后让其输入,其实不然,我理解错了,应该用 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, 期待那个你想成为的你, 共勉
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 英雄联盟六个龙魂是哪六个 英雄联盟六个龙魂介绍一览
- 《忆蚀》Subliminal:揭秘后室之谜,路知行献声Weplay文化展
- 初始之部制作人气漫画改编游戏《我家大师兄脑子有坑》参展2024WePlay
- 《异环》「奇点测试」定档11.28 超自然都市轻喜剧即将放送!
- 16层乐队.2024-大快朵颐【摩登天空】【FLAC分轨】
- 群星.1988-电视金曲巡礼【EMI百代】【WAV+CUE】
- 群星.1992-电视金曲巡礼VOL.2【EMI百代】【WAV+CUE】
- 廖昌永《情缘HQ》头版限量[低速原抓WAV+CUE]
- 蔡琴《老歌》头版限量编号MQA-24K金碟[低速原抓WAV+CUE]
- 李嘉《国语转调》3CD[WAV+CUE]
- 谭咏麟《爱的根源 MQA-UHQCD》2022头版限量编号 [WAV+CUE][1G]
- 江洋 《江洋原创琵琶作品专辑》[320K/MP3][118.08MB]
- 江洋 《江洋原创琵琶作品专辑》[FLAC/分轨][228.33MB]
- 《战舰世界》语音包文件夹位置介绍
- 《CSGO》送好友皮肤方法介绍