麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > HTML5 > 正文

用canvas顯示驗證碼的實現

2024-09-05 07:23:23
字體:
來源:轉載
供稿:網友

最近做了一個小需求,就是點擊刪除按鈕,彈出提示彈框讓你輸入驗證碼確認刪除。

那么怎么顯示從后臺獲取的驗證碼供用戶輸入呢?我在理解需求時還以為是后臺直接把驗證碼發到用戶的手機上 然后讓其輸入,其實不然,我理解錯了,應該用 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顯示驗證碼內容請搜索武林網以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av免费在线免费观看 | 国产毛片在线 | 中文字幕1区2区 | 日韩视频高清 | 亚洲免费看片网站 | 久久精品亚洲一区 | 性日本xxx| 国产一区二区视频在线播放 | 国产成人精品自拍视频 | 日本高清在线免费 | 亚洲第一成人在线视频 | 黄色免费高清网站 | 精品成人av一区二区三区 | 成人免费在线观看视频 | 一区二区精品视频 | 欧产日产国产精品v | 香蕉成人在线视频 | 刘亦菲一区二区三区免费看 | 国产中文99视频在线观看 | 钻石午夜影院 | 国产亚洲综合一区二区 | 中国a毛片| 国产美女白浆 | av日韩一区二区三区 | 成人福利在线视频 | 成年人网站国产 | 精品国产一区三区 | 成人黄色小视频网站 | 久久91精品久久久久清纯 | 国产精品久久久久久久久久iiiii | 国产99久久久久久免费看 | 欧美a∨一区二区三区久久黄 | 线观看免费完整aaa 欧美在线一级 | 在线播放中文 | 萌白酱福利视频在线网站 | 久草在线视频看看 | 高清做爰免费无遮网站挡 | 国产乱淫a∨片免费观看 | 国产成人在线免费视频 | 国产亚洲精品久久久久久久久久 | 欧美成年性h版影视中文字幕 |