欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用canvas顯示驗(yàn)證碼的實(shí)現(xiàn)

  發(fā)布時(shí)間:2020-04-10 16:25:50   作者:zzjyr   我要評(píng)論
這篇文章主要介紹了用canvas顯示驗(yàn)證碼的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

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

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

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

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

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

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

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

 

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

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

 

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

 

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

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

 

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

 

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

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

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

3 繪制背景

4 繪制驗(yàn)證碼

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

 

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

 

drawLine() 繪制干擾線的方法

 

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

 

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

 

總結(jié):

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

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

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

到此這篇關(guān)于用canvas顯示驗(yàn)證碼的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)canvas顯示驗(yàn)證碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

相關(guān)文章

  • canvas基礎(chǔ)之圖形驗(yàn)證碼的示例

    這篇文章主要介紹了canvas基礎(chǔ)之圖形驗(yàn)證碼的示例的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-02
  • 利用html5 canvas破解簡(jiǎn)單驗(yàn)證碼及getImageData接口應(yīng)用

    :HTML 5中的canvas有個(gè)接口getImageData可以用來(lái)從驗(yàn)證碼圖像中取得像素?cái)?shù)據(jù)。每一個(gè)像素有對(duì)應(yīng)r,g,b,a四個(gè)值,r,g,b是紅綠藍(lán)三色,a是透明度;觀察了一下,接下來(lái)說(shuō)下思路
    2013-01-25
  • canvas實(shí)現(xiàn)滑動(dòng)驗(yàn)證的實(shí)現(xiàn)示例

    這篇文章主要介紹了canvas實(shí)現(xiàn)滑動(dòng)驗(yàn)證的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)
    2020-08-11

最新評(píng)論