乐趣区

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

其实微信小程序前端和云端都是可以调用短信平台接口发送短信的,使用云端云函数的好处是无需配置域名,也没有个数限制。
本文使用的是榛子云短信平台(http://smsow.zhenzikj.com),SDK 下载: http://smsow.zhenzikj.com/doc…
安装
下载后的 SDK 在 cloudfunctions 文件夹下会包含 3 个云函数文件夹,如下:
由于目前 IDE 没有云函数导入功能,您需要手工创建同名的云函数,然后将云函数下的文件手工拷进去
注:下载的 SDK 是一个完整的工程,包含 SDK 和使用示例,可实际运行演示
 
2. 申请账号, 获取 AppId、AppSecret 免费注册地址: http://sms_developer.zhenzikj…
使用注册账号登录用户中心,在 ” 我的应用 ”-> “ 详情 ” 中可以查询 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.zhenzik…,企业开发者使用 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 字符串

退出移动版