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