如何使用微信小程序云函数发送短信验证码
发布于 1 个月前 作者 doliangzhe 230 次浏览 来自 分享

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

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

  1. 安装 下载后的SDK在cloudfunctions文件夹下会包含3个云函数文件夹,如下:

img05.png

由于目前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查询已发送短信 请求参数 参数名称 必选 类型 描述 messageId 是 string 信息id,对应发送短信接口的messageId字段 返回结果 返回结果是json格式的字符串, code: 查询状态,0为成功。非0为失败,可从data中查看错误信息

		{
		    "code":0,
		    "data":{}
		}

返回结果是json格式的字符串, code: 查询状态,0为成功,data短信信息的json字符串

回到顶部