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


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类库的顶层对象名用户体验分析
Oct 24 Javascript
Jquery 插件开发笔记整理
Jan 17 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
Dec 08 Javascript
BootStrap Fileinput初始化时的一些参数
Dec 30 Javascript
JavaScript中三种常见的排序方法
Feb 24 Javascript
JS点击缩略图整屏居中放大图片效果
Jul 04 Javascript
给vue项目添加ESLint的详细步骤
Sep 29 Javascript
微信小程序template模板实例详解
Oct 27 Javascript
vue展示dicom文件医疗系统的实现代码
Aug 27 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
Sep 19 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
Sep 21 Javascript
vue 组件简介
Jul 31 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
php中++i 与 i++ 的区别
2012/08/08 PHP
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
php is_writable判断文件是否可写实例代码
2016/10/13 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
尝试在让script的type属性等于text/html
2013/01/15 Javascript
Js+php实现异步拖拽上传文件
2015/06/23 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
VUE实现日历组件功能
2017/03/13 Javascript
微信小程序调用PHP后台接口 解析纯html文本
2017/06/13 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
详解webpack的proxyTable无效的解决方案
2018/06/15 Javascript
浅谈Angular7 项目开发总结
2018/12/19 Javascript
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
[03:47]2015国际邀请赛第三日现场精彩回顾
2015/08/08 DOTA
Python 字符串操作方法大全
2014/03/11 Python
Python创建日历实例
2014/08/21 Python
Python 操作文件的基本方法总结
2017/08/10 Python
python实现员工管理系统
2018/01/11 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
Python中函数参数调用方式分析
2018/08/09 Python
Python中利用aiohttp制作异步爬虫及简单应用
2018/11/29 Python
Python 3 使用Pillow生成漂亮的分形树图片
2019/12/24 Python
CSS3制作文字半透明倒影效果的两种实现方式
2014/08/08 HTML / CSS
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
党校个人自我鉴定范文
2014/03/28 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
门卫岗位职责
2015/02/09 职场文书
保研推荐信范文
2015/03/25 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
如何写辞职信
2015/05/13 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis