如何使用canvas顯示驗(yàn)證碼-創(chuàng)新互聯(lián)

這篇文章主要介紹了如何使用canvas顯示驗(yàn)證碼,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在松北等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需求定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都營(yíng)銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè),松北網(wǎng)站建設(shè)費(fèi)用合理。

最近做了一個(gè)小需求,就是點(diǎn)擊刪除按鈕,彈出提示彈框讓你輸入驗(yàn)證碼確認(rèn)刪除。

那么怎么顯示從后臺(tái)獲取的驗(yàn)證碼供用戶輸入呢?我在理解需求時(shí)還以為是后臺(tái)直接把驗(yàn)證碼發(fā)到用戶的手機(jī)上 然后讓其輸入,其實(shí)不然,我理解錯(cuò)了,應(yīng)該用canvas 把驗(yàn)證碼畫出來(lái)。

理解需求之后我扒著有驗(yàn)證碼的網(wǎng)址看,開(kāi)始canvas 畫圖之旅。

技術(shù)棧:quasar (基于vue的一種框架) /canvas

點(diǎn)擊刪除按鈕,觸發(fā)彈框彈出

如何使用canvas顯示驗(yàn)證碼

彈框?yàn)槭裁磿?huì)彈出呢? 因?yàn)辄c(diǎn)擊刪除按鈕,觸發(fā)handleAddDialogOpened 事件,使得data里面的addDialogOpened 由false變成true,彈框就由之前的不顯示變成顯示啦。

如圖代碼是彈框代碼:其中canvas 標(biāo)簽上的ref 是多余的,抱歉吶,忘記刪掉了

如何使用canvas顯示驗(yàn)證碼

data 里面定義的數(shù)據(jù):定義canvas 畫布的寬高

verifyCode_ 綁定用戶輸入input框的驗(yàn)證碼

如何使用canvas顯示驗(yàn)證碼

computed 計(jì)算屬性里面mapState 映射verifyCode 數(shù)據(jù),mapState 是輔助函數(shù),用于幫助我們簡(jiǎn)化生成計(jì)算屬性,不懂的可以扒著vuex 的官網(wǎng)瞅瞅

如何使用canvas顯示驗(yàn)證碼

mapActions 也是輔助函數(shù),用于將組件的方法映射為store.dispatch

getVerifyCode 就是向后臺(tái)獲取驗(yàn)證的請(qǐng)求方法

如何使用canvas顯示驗(yàn)證碼

canvasclick 方法用于 當(dāng)用戶辨認(rèn)不清驗(yàn)證碼,或者輸入錯(cuò)誤重新輸入時(shí),點(diǎn)擊換一個(gè) 即可更新驗(yàn)證碼(此時(shí)要重新從后臺(tái)獲取驗(yàn)證碼) 后臺(tái)小哥哥不打烊吶~~~

如何使用canvas顯示驗(yàn)證碼

核心代碼:drawPic() 方法就是畫驗(yàn)證碼的核心方法

1 獲取畫布標(biāo)簽 使用getElementById 原生獲取dom

2 使用.getContext('2d') 準(zhǔn)備畫布.textBaseline 定義畫布描繪的基線

3 繪制背景

4 繪制驗(yàn)證碼

5 繪制干擾視覺(jué)的線和點(diǎn)

如何使用canvas顯示驗(yàn)證碼

drawText() 繪制驗(yàn)證碼的方法

如何使用canvas顯示驗(yàn)證碼

drawLine() 繪制干擾線的方法

如何使用canvas顯示驗(yàn)證碼

drawDot() 繪制干擾點(diǎn)的方法

如何使用canvas顯示驗(yàn)證碼

定義彈框彈出的方法以及刪除的方法,回歸需求 ,到此這個(gè)需求就完成了 可以和后臺(tái)聯(lián)調(diào),沒(méi)啥問(wèn)題就可提交代碼啦

如何使用canvas顯示驗(yàn)證碼

總結(jié):

a. 遇到?jīng)]有做過(guò)的需求,要去看看別人怎么做的,目前還沒(méi)有難到要你自己創(chuàng)新,沒(méi)有任何類比的代碼

b. 善于使用debugger調(diào)試代碼,看看自己代碼那里出了問(wèn)題,有bug不要慌,喝口水,去debugger打斷點(diǎn)深入理解代碼執(zhí)行邏輯,效率解決

c. 作為社畜大軍的一員,要自律,要輸出 ,要鍛煉,有時(shí)間還要看看代碼大全,地鐵上擼擼MDN文檔,扎實(shí)js, 期待那個(gè)你想成為的你, 共勉

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用canvas顯示驗(yàn)證碼”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

新聞名稱:如何使用canvas顯示驗(yàn)證碼-創(chuàng)新互聯(lián)
分享鏈接:http://muchs.cn/article4/dhdpie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站虛擬主機(jī)、做網(wǎng)站、Google、網(wǎng)站策劃、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化