如何使用微信小程序云函数发送短信验证码

其实微信小程序前端和云端都是可以调用短信平台接口发送短信的,使用云端云函数的好处是无需配置域名,也没有个数限制。 

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


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 是 对应发送短信接口的messageId字段

返回结果 

返回结果是json格式的字符串, code: 查询状态,0为成功。非0为失败,可从data中查看错误信息 { "code":0, "data":{} } 返回结果是json格式的字符串, code: 查询状态,0为成功,data短信信息的json字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值