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

借助云開發(fā)實(shí)現(xiàn)小程序短信驗(yàn)證碼的發(fā)送

 更新時(shí)間:2020年01月06日 09:55:26   作者:wx5cef8dfc0aa1c  
這篇文章主要介紹了借助云開發(fā)實(shí)現(xiàn)小程序短信驗(yàn)證碼的發(fā)送,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

最近在做小程序驗(yàn)證碼登陸時(shí),用到了短信發(fā)送驗(yàn)證碼的需求,自己也研究了下,用云開發(fā)結(jié)合云函數(shù)來實(shí)現(xiàn)驗(yàn)證碼短信發(fā)送還是很方便的。

老規(guī)矩,先看效果圖


這是我調(diào)用騰訊云的短信平臺(tái)發(fā)送的登陸驗(yàn)證碼。核心代碼其實(shí)只有下面這么多


是不是感覺實(shí)現(xiàn)起來特別簡單,怎么說呢,我們代碼調(diào)用其實(shí)就這么幾行,就可以實(shí)現(xiàn)短信的發(fā)送,但是騰訊云短信模板的審核比較繁瑣,還有我們先去申請(qǐng)短信模板,短信模板審核通過后才可以使用。
我們就先來說代碼實(shí)現(xiàn),然后再帶大家簡單的學(xué)習(xí)下短信模板的申請(qǐng)。

一,安裝node類庫

其實(shí)我們這里用到了云開發(fā)的云函數(shù),我們是在云函數(shù)里調(diào)用短信發(fā)送的。為什么要在云函數(shù)里調(diào)用呢,因?yàn)槲覀冏龆绦虐l(fā)送,需要用到騰訊云的一個(gè)短信發(fā)送的類庫,而這個(gè)類庫是node庫,所以只能在云函數(shù)里調(diào)用了。

在安裝這個(gè)類庫之前,我們需要先創(chuàng)建一個(gè)云函數(shù),關(guān)于云函數(shù)的創(chuàng)建,我其實(shí)已經(jīng)講過很多遍了,不知道的同學(xué),去翻看下我的歷史文章,或者看下我錄制的云開發(fā)入門視頻《5小時(shí)零基礎(chǔ)入門小程序云開發(fā)

我后面也會(huì)把這節(jié)內(nèi)容錄制出視頻出來。

創(chuàng)建完云函數(shù)后,右鍵點(diǎn)擊在終端中打開,打開終端后,在終端中輸入以下命令來安裝qcloudsms_js類庫

npm install qcloudsms_js


這里需要注意,我們安裝類庫前需要先下載node并配置npm環(huán)境變量,這里我也有寫文章的
nodeJs的安裝與npm全局環(huán)境變量的配置

二,編寫云函數(shù)

上面類庫安裝好以后,我們就可以來編寫云函數(shù)了。

其實(shí)代碼編寫起來很簡單,就下面這些,對(duì)應(yīng)的注解我也都已經(jīng)寫出來了。


這里要發(fā)送的手機(jī)號(hào),和隨機(jī)驗(yàn)證碼需要?jiǎng)討B(tài)傳進(jìn)來的。

三,調(diào)用云函數(shù)

調(diào)用云函數(shù)這里也很簡單,我們需要傳入手機(jī)號(hào)和驗(yàn)證碼


手機(jī)號(hào)這里,我做了一個(gè)輸入框,可以動(dòng)態(tài)的輸入。驗(yàn)證碼的話,我寫了一個(gè)方法來隨機(jī)生成數(shù)字和字母的組合驗(yàn)證碼。


我等下會(huì)把完整的代碼貼出來給大家。


這樣我們輸入完手機(jī)號(hào)以后,點(diǎn)擊發(fā)送短信按鈕,就可以成功的發(fā)送短信給到對(duì)應(yīng)的手機(jī)號(hào)了。

可以看到我們生成的隨機(jī)驗(yàn)證碼如下


我們手機(jī)接受到的短信驗(yàn)證碼如下


這樣我們做登陸或者做校驗(yàn)時(shí),用戶手機(jī)短信收到的驗(yàn)證碼,和我們隨機(jī)生成的驗(yàn)證碼一樣,即代表用戶驗(yàn)證成功。

完整的index.js代碼給大家貼出來

var chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
let phone = ''
Page({
//獲取隨機(jī)驗(yàn)證碼,n代表幾位
generateMixed(n) {
var res = "";
for (var i = 0; i < n; i++) {
 var id = Math.ceil(Math.random() * 35);
 res += chars[id];
}
return res;
},
//調(diào)用云函數(shù)發(fā)送短信
sendSMS() {
if (phone.length != 11) {
 wx.showToast({
 icon: 'none',
 title: '輸入11位手機(jī)號(hào)',
 })
 return
}
let code = this.generateMixed(4)
console.log('本地生成的驗(yàn)證碼', code)
wx.cloud.callFunction({
 name: "sendSms",
 data: {
 phone: phone,
 code: code //生成4位的驗(yàn)證碼
 }
}).then(res => {
 console.log('發(fā)送成功', res)
}).catch(res => {
 console.log('發(fā)送失敗', res)
})
},
//獲取要發(fā)送的手機(jī)號(hào)
getPhone(event) {
console.log(event.detail.value)
phone = event.detail.value
},
})

index.wxml如下


到這里我們的短信驗(yàn)證碼的發(fā)送就完整的實(shí)現(xiàn)了,是不是很簡單。

短信發(fā)送參數(shù)的設(shè)置與獲取

首先是去騰訊云自己開通短信功能,然后需要自己去申請(qǐng)模板,填寫簽名。


我這里把所需要的參數(shù),都給大家標(biāo)準(zhǔn)出來了。大家只需要自己去官網(wǎng)設(shè)置對(duì)應(yīng)的模板和簽名,然后審核通過后,把對(duì)應(yīng)的參數(shù)放到我們的云函數(shù)里即可。

短信驗(yàn)證的原理講解

在網(wǎng)上找了一張短信驗(yàn)證的原理圖,如下

大家可以對(duì)照這看下,這個(gè)原理圖。對(duì)應(yīng)的源碼我上面其實(shí)已經(jīng)給大家貼出來了。

如果大家覺得不完整,我也已經(jīng)把完整源碼放到網(wǎng)盤里了,有需要的同學(xué)可以到我公號(hào)里回復(fù)“短信”獲取源碼。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 文章或博客自動(dòng)生成章節(jié)目錄索引(支持三級(jí))的實(shí)現(xiàn)代碼

    文章或博客自動(dòng)生成章節(jié)目錄索引(支持三級(jí))的實(shí)現(xiàn)代碼

    一個(gè)好的博文除了博文的質(zhì)量要好以外,好的組織結(jié)構(gòu)也能讓讀者閱讀的更加舒服與方便,我看很多網(wǎng)站里面有一些園友的博文都是分章節(jié)的,并且在博文的前面都帶有章節(jié)的目錄索引,點(diǎn)擊索引之后會(huì)跳轉(zhuǎn)到相應(yīng)的章節(jié)閱讀
    2020-05-05
  • javascript來定義類的規(guī)范小結(jié)

    javascript來定義類的規(guī)范小結(jié)

    javascript來定義類的規(guī)范,有利于代碼的可閱讀性。
    2010-11-11
  • webpack file-loader和url-loader的區(qū)別

    webpack file-loader和url-loader的區(qū)別

    這篇文章主要介紹了webpack file-loader和url-loader的區(qū)別,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • Bootstrap CSS組件之按鈕下拉菜單

    Bootstrap CSS組件之按鈕下拉菜單

    這篇文章主要為大家詳細(xì)介紹了Bootstrap CSS組件之按鈕下拉菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • javaScript給元素添加多個(gè)class的簡單實(shí)現(xiàn)

    javaScript給元素添加多個(gè)class的簡單實(shí)現(xiàn)

    下面小編就為大家?guī)硪黄猨avaScript給元素添加多個(gè)class的簡單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-07
  • 原生js實(shí)現(xiàn)隨機(jī)點(diǎn)餐效果

    原生js實(shí)現(xiàn)隨機(jī)點(diǎn)餐效果

    一款十分簡單的原生js實(shí)現(xiàn)的隨機(jī)點(diǎn)菜代碼,點(diǎn)擊點(diǎn)菜按鈕隨機(jī)點(diǎn)取上面菜單的菜品,可根據(jù)需求改成自己需要功能,比如說隨機(jī)點(diǎn)名。感興趣的朋友來參考實(shí)現(xiàn)代碼吧
    2019-12-12
  • javascript十六進(jìn)制數(shù)字和ASCII字符之間的轉(zhuǎn)換方法

    javascript十六進(jìn)制數(shù)字和ASCII字符之間的轉(zhuǎn)換方法

    下面小編就為大家?guī)硪黄猨avascript十六進(jìn)制數(shù)字和ASCII字符之間的轉(zhuǎn)換方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • three.js繪制地球、飛機(jī)與軌跡的效果示例

    three.js繪制地球、飛機(jī)與軌跡的效果示例

    Three.js 是一款運(yùn)行在瀏覽器中的 3D 引擎,你可以用它創(chuàng)建各種三維場景,包括了攝影機(jī)、光影、材質(zhì)等各種對(duì)象。下面這篇文章主要給大家介紹了利用three.js如何繪制地球、飛機(jī)與軌跡的效果,文中給出了詳細(xì)的示例代碼,需要的朋友們可以參考借鑒,下面來一起看看吧。
    2017-02-02
  • js+CSS 圖片等比縮小并垂直居中實(shí)現(xiàn)代碼

    js+CSS 圖片等比縮小并垂直居中實(shí)現(xiàn)代碼

    本例子在在 ff 2.0/ ie6 / ie7 中測試通過。但在 opera 8.5 cn中沒有通過。希望大家測試。
    2008-12-12
  • JS中循環(huán)遍歷數(shù)組的四種方式總結(jié)

    JS中循環(huán)遍歷數(shù)組的四種方式總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于JS中循環(huán)遍歷數(shù)組的四種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評(píng)論