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


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 HashTable
Jan 22 Javascript
js实现网站首页图片滚动显示
Feb 04 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
Jun 05 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
Aug 13 Javascript
jquery获取div距离窗口和父级dv的距离示例
Oct 10 Javascript
node.js中的path.extname方法使用说明
Dec 09 Javascript
嵌入式iframe子页面与父页面js通信的方法
Jan 20 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
Mar 30 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
Dec 01 Javascript
详解基于node的前端项目编译时内存溢出问题
Aug 01 Javascript
详解微信小程序开发(项目从零开始)
Jun 06 Javascript
微信小程序使用 vant Dialog组件的正确方式
Feb 21 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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
PHP 解决utf-8和gb2312编码转换问题
2010/03/18 PHP
PHP仿博客园 个人博客(1) 数据库与界面设计
2013/07/05 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
thinkPHP5.0框架事务处理操作简单示例
2018/09/07 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
13个PHP函数超实用
2015/10/21 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
基于AGS JS开发自定义贴图图层
2017/03/31 Javascript
Vue中添加手机验证码组件功能操作方法
2017/12/07 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
Python自动扫雷实现方法
2015/07/25 Python
python中字符串的操作方法大全
2018/06/03 Python
Python实现查找最小的k个数示例【两种解法】
2019/01/08 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
python基于exchange函数发送邮件过程详解
2020/11/06 Python
python3中for循环踩过的坑记录
2020/12/14 Python
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
模具专业毕业生自荐书范文
2014/02/19 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
作文批改评语
2014/12/25 职场文书
党风廉正建设个人工作总结
2015/03/06 职场文书
2019生态环境保护倡议书!
2019/07/03 职场文书
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js