其實微信小程序前端和云端都是可以調用短信平臺接口發送短信的,使用云端云函數的好處是無需配置域名,也沒有個數限制。
本文使用的是榛子云短信平臺(http://smsow.zhenzikj.com) ,SDK下載: http://smsow.zhenzikj.com/doc/sdk.html
1.安裝
下載后的SDK在cloudfunctions文件夾下會包含3個云函數文件夾,如下:
由于目前IDE沒有云函數導入功能,您需要手工創建同名的云函數,然后將云函數下的文件手工拷進去
注:下載的SDK是一個完整的工程,包含SDK和使用示例,可實際運行演示
2.申請賬號,獲取AppId、AppSecret
免費注冊地址: http://sms_developer.zhenzikj.com/zhenzisms_user/register.html
使用注冊賬號登錄用戶中心,在"我的應用"-> "詳情"中可以查詢AppId、AppSecret
AppId、AppSecret是用于開發者使用賬號和秘鑰, 以下的所有api中都需要用到
3.發送短信
wx.cloud.callFunction({ // 云函數名稱 name: 'zhenzisms_send', // 傳給云函數的參數 data: { apiUrl: '你的apiUrl', appId: '你的appId', appSecret: '你的appSecret', message: '你的驗證碼為:1234', number: '15811111111', messageId: '' }, success(res) { console.log(res.result.body) }, fail: console.error }) }
apiUrl為請求地址,個人開發者使用https://sms_developer.zhenzikj.com,企業開發者使用https://sms.zhenzikj.com
send方法用于單條發送短信
參數message:發送的短信內容
參數number:接收者手機號碼
參數messageId:該條信息的唯一標識,可用于查詢
返回結果是json格式的字符串, code: 發送狀態,0為成功。非0為發送失敗,可從data中查看錯誤信息
4.查看余額
通過該接口可查看當前剩余的短信條數
wx.cloud.callFunction({ // 云函數名稱 name: 'zhenzisms_balance', // 傳給云函數的參數 data: { apiUrl: '你的apiUrl', appId: '你的appId', appSecret: '你的appSecret' }, success(res) { console.log(res.result.body) }, fail: console.error }) }
返回結果是json格式的字符串, code: 查詢狀態,0為成功,data為剩余短信條數。非0為查詢失敗,可從data中查看錯誤信息
錯誤代碼表
錯誤碼 原因 解決方案
100 參數格式錯誤 檢查請求參數是否為空
105 appId錯誤或應用不存在 請聯系工作人員申請應用或檢查appId是否輸入錯誤
106 應用被禁止 請聯系工作人員查看原因
107 ip錯誤 如果設置了ip白名單,系統會檢查請求服務器的ip地址,已確定是否為安全的來源訪問
110 應用秘鑰(AppSecret)錯誤 檢查AppSecret是否輸入錯誤,或是否已在用戶中心進行了秘鑰重置
1000 系統位置錯誤 請聯系工作人員或技術人員檢查原因
5.查詢短信
接口描述
根據messageId查詢已發送短信
wx.cloud.callFunction({ // 云函數名稱 name: 'zhenzisms_findSmsByMessageId', // 傳給云函數的參數 data: { appId: '你的appId', appSecret: '你的appSecret', messageId: 'messageId信息' }, success(res) { console.log(res.result.body) }, fail: console.error })
請求參數
參數名稱 必選 類型 描述
messageId 是 string 信息id,對應發送短信接口的messageId字段
返回結果
返回結果是json格式的字符串, code: 查詢狀態,0為成功。非0為失敗,可從data中查看錯誤信息
{ "code":0, "data":{} }
返回結果是json格式的字符串, code: 查詢狀態,0為成功,data短信信息的json字符串
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答