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


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 相关文章推荐
js form 验证函数 当前比较流行的错误提示
Jun 23 Javascript
Javascript Global对象
Aug 13 Javascript
JavaScript 错误处理与调试经验总结
Aug 10 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
Jul 04 Javascript
尝试动手制作javascript放大镜效果
Dec 25 Javascript
微信jssdk在iframe页面失效问题的解决措施
Mar 03 Javascript
jQuery实现的导航动画效果(附demo源码)
Apr 01 Javascript
js判断PC端与移动端跳转
Dec 24 Javascript
深入浅析AngularJs模版与v-bind
Jul 06 Javascript
koa-router源码学习小结
Sep 07 Javascript
angular4自定义表单控件[(ngModel)]的实现
Nov 23 Javascript
Vue 的 v-model用法实例
Nov 23 Vue.js
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获取字符串的编码格式的方法(函数)
2013/06/21 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
PHP实现简易图形计算器
2020/08/28 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
Javascript中this的用法详解
2014/09/22 Javascript
jquery+json实现分页效果
2016/03/07 Javascript
浅谈JavaScript for循环 闭包
2016/06/22 Javascript
JavaScript 用fetch 实现异步下载文件功能
2017/07/21 Javascript
Promise.all中对于reject的处理方法
2018/08/01 Javascript
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
转换layUI的数据表格中的日期格式方法
2019/09/19 Javascript
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
Python全局变量操作详解
2015/04/14 Python
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
如何通过Django使用本地css/js文件
2020/01/20 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
阿尔卡特(中国)的面试题目
2014/08/20 面试题
老师自我鉴定范文
2013/12/25 职场文书
学习自我鉴定
2014/02/01 职场文书
家长会主持词
2014/03/26 职场文书
竞选大队委员演讲稿
2014/04/28 职场文书
现场活动策划方案
2014/08/22 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
给上级领导的感谢信
2015/01/22 职场文书
2015年节能减排工作总结
2015/05/14 职场文书
教师节晚会主持词
2015/06/30 职场文书
2016春季幼儿园大班开学寄语
2015/12/03 职场文书
Vue实现动态查询规则生成组件
2021/05/27 Vue.js
详细介绍Next.js脚手架完整搭建封装
2022/04/26 Javascript