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


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编程起步(第二课)
Feb 27 Javascript
prototype 中文参数乱码解决方案
Nov 09 Javascript
jQuery EasyUI API 中文文档 - Dialog对话框
Nov 15 Javascript
JavaScript中的ubound函数使用实例
Nov 04 Javascript
js简单抽奖代码
Jan 16 Javascript
jQuery晃动层特效实现方法
Mar 09 Javascript
jQuery处理json数据返回数组和输出的方法
Mar 11 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
Nov 03 Javascript
理解javascript模块化
Mar 28 Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
Mar 04 Javascript
layui之select的option叠加问题的解决方法
Mar 08 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
Nov 05 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
解析wamp5下虚拟机配置文档
2013/06/27 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
2014/05/15 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
PHP基于openssl实现非对称加密代码实例
2020/06/19 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
js实现目录定位正文示例
2013/11/14 Javascript
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
Mongoose学习全面理解(推荐)
2017/01/21 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
关于js中的鼠标事件总结
2017/07/11 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
2020/12/14 NodeJs
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
python笔记(2)
2012/10/24 Python
python万年历实现代码 含运行结果
2017/05/20 Python
对Python通过pypyodbc访问Access数据库的方法详解
2018/10/27 Python
对python 操作solr索引数据的实例详解
2018/12/07 Python
python实现socket+threading处理多连接的方法
2019/07/23 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
Pytorch实验常用代码段汇总
2020/11/19 Python
大学生预备党员自我评价分享
2013/11/16 职场文书
物理研修随笔感言
2014/02/14 职场文书
感恩父母的演讲稿
2014/05/06 职场文书
消防安全宣传口号
2014/06/10 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
2015年三年级班主任工作总结
2015/05/21 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书