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


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 相关文章推荐
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
Jun 28 Javascript
改进版通过Json对象实现深复制的方法
Oct 24 Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
Jun 05 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
Apr 15 Javascript
Node调试工具JSHint的安装及配置教程
May 27 Javascript
JavaScript遍历table表格中的某行某列并打印其值
Jul 08 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
Oct 17 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
Apr 29 Javascript
jQuery实现的简单拖拽功能示例
Sep 13 Javascript
最基础的vue.js双向绑定操作
Aug 23 Javascript
优雅的使用javascript递归画一棵结构树示例代码
Sep 22 Javascript
javascript实现移动端上传图片功能
Aug 18 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目录操作实例代码
2014/02/21 PHP
PHP多线程类及用法实例
2014/12/03 PHP
针对PHP开发安全问题的相关总结
2019/03/22 PHP
基于jquery的页面划词搜索JS
2010/09/14 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
JavaScript第一篇之实现按钮全选、功能
2016/08/21 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
2016/12/14 Javascript
js实现日历与定时器
2017/02/22 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
2018/04/08 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
详解微信小程序开发(项目从零开始)
2019/06/06 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
Python利用多进程将大量数据放入有限内存的教程
2015/04/01 Python
用Python实现换行符转换的脚本的教程
2015/04/16 Python
Python脚本实现虾米网签到功能
2016/04/12 Python
使用Python实现简单的服务器功能
2017/08/25 Python
Python实现的FTP通信客户端与服务器端功能示例
2018/03/28 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
开展批评与自我批评发言材料
2014/05/15 职场文书
文明生主要事迹
2014/05/25 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
大二学生自我检讨书
2014/10/23 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
邀请函怎么写
2015/01/30 职场文书
2015年光棍节活动总结
2015/03/24 职场文书
新年祝酒词大全
2015/08/11 职场文书
七年级作文之冬景
2019/11/07 职场文书
Python 中 Shutil 模块详情
2021/11/11 Python