如何使用微信小程序雲函數發送短信驗證碼

其實微信小程序前端和雲端都是能夠調用短信平臺接口發送短信的,使用雲端雲函數的好處是無需配置域名,也沒有個數限制。 html

 本文使用的是榛子云短信平臺(smsow.zhenzikj.com) ,SDK下載: smsow.zhenzikj.com/doc/sdk.htm…  前端


1. 安裝 

下載後的SDK在cloudfunctions文件夾下會包含3個雲函數文件夾,以下: 
json


因爲目前IDE沒有云函數導入功能,您須要手工建立同名的雲函數,而後將雲函數下的文件手工拷進去小程序

注:下載的SDK是一個完整的工程,包含SDK和使用示例,可實際運行演示微信小程序


2.申請帳號,獲取AppId、AppSecret 

免費註冊地址: http://sms_developer.zhenzikj.com/zhenzisms_user/register.html 使用註冊帳號登陸用戶中心,在"個人應用"-> "詳情"中能夠查詢AppId、AppSecret AppId、AppSecret是用於開發者使用帳號和祕鑰, 如下的全部api中都須要用到 
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方法用於單條發送短信 bash

 參數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 是 對應發送短信接口的messageId字段

返回結果 

返回結果是json格式的字符串, code: 查詢狀態,0爲成功。非0爲失敗,可從data中查看錯誤信息 { "code":0, "data":{} } 返回結果是json格式的字符串, code: 查詢狀態,0爲成功,data短信信息的json字符串

相關文章
相關標籤/搜索