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


Posted in Javascript onMarch 13, 2019

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

本文使用的是榛子云短信平台(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字符串

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
Nov 30 Javascript
js读写(删除)Cookie实例详解
Apr 17 Javascript
JavaScript获取onclick、onchange等事件值的代码
Jul 22 Javascript
一个支持任意尺寸的图片上下左右滑动效果
Aug 24 Javascript
jQuery中insertAfter()方法用法实例
Jan 08 Javascript
jQuery实现仿百度帖吧头部固定导航效果
Aug 07 Javascript
jQuery实现摸拟alert提示框
May 22 Javascript
javascript解决小数的加减乘除精度丢失的方案
May 31 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
Jun 25 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
Mar 21 Javascript
vue计算属性及使用详解
Apr 02 Javascript
JavaScript 与 TypeScript之间的联系
Nov 27 Javascript
vue计算属性computed的使用方法示例
Mar 13 #Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
Mar 13 #Javascript
vue生命周期与钩子函数简单示例
Mar 13 #Javascript
微信小程序picker组件关于objectArray数据类型的绑定方法
Mar 13 #Javascript
vue实现百度下拉列表交互操作示例
Mar 12 #Javascript
vue基础之使用get、post、jsonp实现交互功能示例
Mar 12 #Javascript
深入理解Node内建模块和对象
Mar 12 #Javascript
You might like
基于xcache的配置与使用详解
2013/06/18 PHP
php实现的mongodb操作类实例
2015/04/03 PHP
PHP自定义多进制的方法
2016/11/03 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
javascript中自定义对象的属性方法分享
2013/07/12 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
jquery实现的判断倒计时是否结束代码
2016/02/05 Javascript
JS随机密码生成算法
2019/09/23 Javascript
[03:02]2014DOTA2西雅图邀请赛 让队员自己告诉你DK NAVI备战情况
2014/07/08 DOTA
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
python zip文件 压缩
2008/12/24 Python
python中sets模块的用法实例
2014/09/30 Python
不要用强制方法杀掉python线程
2017/02/26 Python
Python中最大递归深度值的探讨
2019/03/05 Python
Python 利用高德地图api实现经纬度与地址的批量转换
2019/08/14 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
解决Python二维数组赋值问题
2019/11/28 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
html5响应式开发自动计算fontSize的方法
2020/01/13 HTML / CSS
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
会计应聘求职信范文
2013/12/17 职场文书
四川成都导游欢迎词
2014/01/18 职场文书
介绍信的写法
2015/01/31 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书
预备党员考察表党小组意见
2015/06/01 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python
5个实用的JavaScript新特性
2022/06/16 Javascript