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


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 相关文章推荐
解决iframe的frameborder在chrome/ff/ie下的差异
Aug 12 Javascript
解析javascript 浏览器关闭事件
Jul 08 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
Jan 09 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
Feb 15 Javascript
浅谈被jQuery抛弃的函数及替代函数
May 03 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
Aug 24 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
Sep 08 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
May 04 Javascript
用图片替换checkbox原始样式并实现同样的功能
Nov 15 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
Jan 28 Javascript
vue-next/runtime-core 源码阅读指南详解
Oct 25 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
Oct 29 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 显示指定路径下的图片
2009/10/29 PHP
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
2016/09/22 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
Thinkphp 5.0实现微信企业付款到零钱
2018/09/30 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
基于jquery的获取浏览器窗口大小的代码
2011/03/28 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
javascript实现树形菜单的方法
2015/07/17 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
给Python中的MySQLdb模块添加超时功能的教程
2015/05/05 Python
python实现统计文本中单词出现的频率详解
2019/05/20 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
pytorch masked_fill报错的解决
2020/02/18 Python
Python数组并集交集补集代码实例
2020/02/18 Python
pytorch数据预处理错误的解决
2020/02/20 Python
python数字类型math库原理解析
2020/03/02 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
鲜为人知的HTML5语音合成功能
2019/05/17 HTML / CSS
Html5页面二次分享的实现
2018/07/30 HTML / CSS
英国版MAC彩妆品牌:Illamasqua
2018/04/18 全球购物
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
机械设计职业生涯规划书
2013/12/27 职场文书
大四学生思想汇报
2014/01/13 职场文书
小学生获奖感言范文
2014/02/02 职场文书
保护环境建议书300字
2014/05/13 职场文书
大学生学期个人总结
2015/02/12 职场文书
初三化学教学反思
2016/02/22 职场文书
MySQL示例讲解数据库约束以及表的设计
2022/06/16 MySQL