詳解如何使用微信小程序云函數(shù)發(fā)送短信驗(yàn)證碼
其實(shí)微信小程序前端和云端都是可以調(diào)用短信平臺(tái)接口發(fā)送短信的,使用云端云函數(shù)的好處是無(wú)需配置域名,也沒(méi)有個(gè)數(shù)限制。
本文使用的是榛子云短信平臺(tái)(http://smsow.zhenzikj.com) ,SDK下載: http://smsow.zhenzikj.com/doc/sdk.html
1.安裝
下載后的SDK在cloudfunctions文件夾下會(huì)包含3個(gè)云函數(shù)文件夾,如下:
由于目前IDE沒(méi)有云函數(shù)導(dǎo)入功能,您需要手工創(chuàng)建同名的云函數(shù),然后將云函數(shù)下的文件手工拷進(jìn)去
注:下載的SDK是一個(gè)完整的工程,包含SDK和使用示例,可實(shí)際運(yùn)行演示
2.申請(qǐng)賬號(hào),獲取AppId、AppSecret
免費(fèi)注冊(cè)地址: http://sms_developer.zhenzikj.com/zhenzisms_user/register.html
使用注冊(cè)賬號(hào)登錄用戶(hù)中心,在"我的應(yīng)用"-> "詳情"中可以查詢(xún)AppId、AppSecret
AppId、AppSecret是用于開(kāi)發(fā)者使用賬號(hào)和秘鑰, 以下的所有api中都需要用到
3.發(fā)送短信
wx.cloud.callFunction({ // 云函數(shù)名稱(chēng) name: 'zhenzisms_send', // 傳給云函數(shù)的參數(shù) data: { apiUrl: '你的apiUrl', appId: '你的appId', appSecret: '你的appSecret', message: '你的驗(yàn)證碼為:1234', number: '15811111111', messageId: '' }, success(res) { console.log(res.result.body) }, fail: console.error }) }
apiUrl為請(qǐng)求地址,個(gè)人開(kāi)發(fā)者使用https://sms_developer.zhenzikj.com,企業(yè)開(kāi)發(fā)者使用https://sms.zhenzikj.com
send方法用于單條發(fā)送短信
參數(shù)message:發(fā)送的短信內(nèi)容
參數(shù)number:接收者手機(jī)號(hào)碼
參數(shù)messageId:該條信息的唯一標(biāo)識(shí),可用于查詢(xún)
返回結(jié)果是json格式的字符串, code: 發(fā)送狀態(tài),0為成功。非0為發(fā)送失敗,可從data中查看錯(cuò)誤信息
4.查看余額
通過(guò)該接口可查看當(dāng)前剩余的短信條數(shù)
wx.cloud.callFunction({ // 云函數(shù)名稱(chēng) name: 'zhenzisms_balance', // 傳給云函數(shù)的參數(shù) data: { apiUrl: '你的apiUrl', appId: '你的appId', appSecret: '你的appSecret' }, success(res) { console.log(res.result.body) }, fail: console.error }) }
返回結(jié)果是json格式的字符串, code: 查詢(xún)狀態(tài),0為成功,data為剩余短信條數(shù)。非0為查詢(xún)失敗,可從data中查看錯(cuò)誤信息
錯(cuò)誤代碼表
錯(cuò)誤碼 原因 解決方案
100 參數(shù)格式錯(cuò)誤 檢查請(qǐng)求參數(shù)是否為空
105 appId錯(cuò)誤或應(yīng)用不存在 請(qǐng)聯(lián)系工作人員申請(qǐng)應(yīng)用或檢查appId是否輸入錯(cuò)誤
106 應(yīng)用被禁止 請(qǐng)聯(lián)系工作人員查看原因
107 ip錯(cuò)誤 如果設(shè)置了ip白名單,系統(tǒng)會(huì)檢查請(qǐng)求服務(wù)器的ip地址,已確定是否為安全的來(lái)源訪(fǎng)問(wèn)
110 應(yīng)用秘鑰(AppSecret)錯(cuò)誤 檢查AppSecret是否輸入錯(cuò)誤,或是否已在用戶(hù)中心進(jìn)行了秘鑰重置
1000 系統(tǒng)位置錯(cuò)誤 請(qǐng)聯(lián)系工作人員或技術(shù)人員檢查原因
5.查詢(xún)短信
接口描述
根據(jù)messageId查詢(xún)已發(fā)送短信
wx.cloud.callFunction({ // 云函數(shù)名稱(chēng) name: 'zhenzisms_findSmsByMessageId', // 傳給云函數(shù)的參數(shù) data: { appId: '你的appId', appSecret: '你的appSecret', messageId: 'messageId信息' }, success(res) { console.log(res.result.body) }, fail: console.error })
請(qǐng)求參數(shù)
參數(shù)名稱(chēng) 必選 類(lèi)型 描述
messageId 是 string 信息id,對(duì)應(yīng)發(fā)送短信接口的messageId字段
返回結(jié)果
返回結(jié)果是json格式的字符串, code: 查詢(xún)狀態(tài),0為成功。非0為失敗,可從data中查看錯(cuò)誤信息
{ "code":0, "data":{} }
返回結(jié)果是json格式的字符串, code: 查詢(xún)狀態(tài),0為成功,data短信信息的json字符串
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JS上傳圖片前實(shí)現(xiàn)圖片預(yù)覽效果的方法
這篇文章主要介紹了JS上傳圖片前實(shí)現(xiàn)圖片預(yù)覽效果的方法,涉及javascript操作圖片的技巧,需要的朋友可以參考下2015-03-03談?wù)勎覍?duì)JavaScript原型和閉包系列理解(隨手筆記6)
這篇文章主要介紹我對(duì)JavaScript原型和閉包系列理解(隨手筆記6)的相關(guān)資料,需要的朋友可以參考下2015-12-12轉(zhuǎn)換json格式的日期為Javascript對(duì)象的函數(shù)
項(xiàng)目中碰到了用jQuery從后臺(tái)獲取的json格式的日期的字符串,需要將此字符串轉(zhuǎn)換成JavaScript的日期對(duì)象,記在此處,以備后用。2010-07-07JS獲取整個(gè)頁(yè)面文檔的實(shí)現(xiàn)代碼
就是在當(dāng)前頁(yè)面用AJAX請(qǐng)求當(dāng)前頁(yè)面,返回的就是整個(gè)頁(yè)面的HTML··既然是整個(gè)頁(yè)面,所以也包括文檔聲明2011-12-12JS在Chrome瀏覽器中showModalDialog函數(shù)返回值為undefined的解決方法
這篇文章主要介紹了JS在Chrome瀏覽器中showModalDialog函數(shù)返回值為undefined的解決方法,涉及javascript針對(duì)谷歌瀏覽器事件判定相關(guān)操作技巧,需要的朋友可以參考下2016-08-08JS短路原理的應(yīng)用示例 精簡(jiǎn)代碼的途徑
正如標(biāo)題所言,js中||和&&的特性幫我們精簡(jiǎn)了代碼的同時(shí),也帶來(lái)了代碼可讀性的降低。這就需要我們自己來(lái)權(quán)衡了,下面有個(gè)不錯(cuò)的示例2013-12-12javascript的parseFloat()方法精度問(wèn)題探討
javascript中的parseFloat()方法,大家應(yīng)該不陌生吧,下面為大家介紹下其精度問(wèn)題,感興趣的朋友不要錯(cuò)過(guò)2013-11-11幾種設(shè)置表單元素中文本輸入框不可編輯的方法總結(jié)
這篇文章主要是對(duì)幾種設(shè)置表單元素中文本輸入框不可編輯的方法進(jìn)行了總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-11-11詳解微信小程序-獲取用戶(hù)session_key,openid,unionid - 后端為nodejs
這篇文章主要介紹了微信小程序獲取session_key,openid,unionid的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04