最近在做小程序驗證碼登陸時,用到了短信發(fā)送驗證碼的需求,自己也研究了下,用云開發(fā)結(jié)合云函數(shù)來實現(xiàn)驗證碼短信發(fā)送還是很方便的。
紅花崗ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
這是我調(diào)用騰訊云的短信平臺發(fā)送的登陸驗證碼。核心代碼其實只有下面這么多
是不是感覺實現(xiàn)起來特別簡單,怎么說呢,我們代碼調(diào)用其實就這么幾行,就可以實現(xiàn)短信的發(fā)送,但是騰訊云短信模板的審核比較繁瑣,還有我們先去申請短信模板,短信模板審核通過后才可以使用。
我們就先來說代碼實現(xiàn),然后再帶大家簡單的學(xué)習(xí)下短信模板的申請。
其實我們這里用到了云開發(fā)的云函數(shù),我們是在云函數(shù)里調(diào)用短信發(fā)送的。為什么要在云函數(shù)里調(diào)用呢,因為我們做短信發(fā)送,需要用到騰訊云的一個短信發(fā)送的類庫,而這個類庫是node庫,所以只能在云函數(shù)里調(diào)用了。
在安裝這個類庫之前,我們需要先創(chuàng)建一個云函數(shù),關(guān)于云函數(shù)的創(chuàng)建,我其實已經(jīng)講過很多遍了,不知道的同學(xué),去翻看下我的歷史文章,或者看下我錄制的云開發(fā)入門視頻《5小時零基礎(chǔ)入門小程序云開發(fā)》
我后面也會把這節(jié)內(nèi)容錄制出視頻出來。
創(chuàng)建完云函數(shù)后,右鍵點擊在終端中打開,打開終端后,在終端中輸入以下命令來安裝qcloudsms_js類庫
npm install qcloudsms_js
這里需要注意,我們安裝類庫前需要先下載node并配置npm環(huán)境變量,這里我也有寫文章的
《nodeJs的安裝與npm全局環(huán)境變量的配置》
上面類庫安裝好以后,我們就可以來編寫云函數(shù)了。
其實代碼編寫起來很簡單,就下面這些,對應(yīng)的注解我也都已經(jīng)寫出來了。
這里要發(fā)送的手機號,和隨機驗證碼需要動態(tài)傳進來的。
調(diào)用云函數(shù)這里也很簡單,我們需要傳入手機號和驗證碼
手機號這里,我做了一個輸入框,可以動態(tài)的輸入。驗證碼的話,我寫了一個方法來隨機生成數(shù)字和字母的組合驗證碼。
我等下會把完整的代碼貼出來給大家。
這樣我們輸入完手機號以后,點擊發(fā)送短信按鈕,就可以成功的發(fā)送短信給到對應(yīng)的手機號了。
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({
//獲取隨機驗證碼,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位手機號',
})
return
}
let code = this.generateMixed(4)
console.log('本地生成的驗證碼', code)
wx.cloud.callFunction({
name: "sendSms",
data: {
phone: phone,
code: code //生成4位的驗證碼
}
}).then(res => {
console.log('發(fā)送成功', res)
}).catch(res => {
console.log('發(fā)送失敗', res)
})
},
//獲取要發(fā)送的手機號
getPhone(event) {
console.log(event.detail.value)
phone = event.detail.value
},
})
index.wxml如下
到這里我們的短信驗證碼的發(fā)送就完整的實現(xiàn)了,是不是很簡單。
首先是去騰訊云自己開通短信功能,然后需要自己去申請模板,填寫簽名。
我這里把所需要的參數(shù),都給大家標(biāo)準(zhǔn)出來了。大家只需要自己去官網(wǎng)設(shè)置對應(yīng)的模板和簽名,然后審核通過后,把對應(yīng)的參數(shù)放到我們的云函數(shù)里即可。
在網(wǎng)上找了一張短信驗證的原理圖,如下
大家可以對照這看下,這個原理圖。對應(yīng)的源碼我上面其實已經(jīng)給大家貼出來了。
如果大家覺得不完整,我也已經(jīng)把完整源碼放到網(wǎng)盤里了,有需要的同學(xué)可以到我公號里回復(fù)“短信”獲取源碼。
后面我還會分享更多小程序相關(guān)的知識點出來,請持續(xù)關(guān)注。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。