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


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 分号引起的一段调试问题
Jun 18 Javascript
原生js写的放大镜效果
Aug 22 Javascript
javascript-简单的日历实现及Date对象语法介绍(附图)
May 30 Javascript
两种JS实现屏蔽鼠标右键的方法
Aug 20 Javascript
谈谈jQuery Ajax用法详解
Nov 27 Javascript
Javascript 对cookie操作详解及实例
Dec 29 Javascript
微信小程序 图片边框解决方法
Jan 16 Javascript
vue调用高德地图实例代码
Apr 28 Javascript
在Vue项目中使用d3.js的实例代码
May 01 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
Sep 06 Javascript
js函数和this用法实例分析
Mar 13 Javascript
vue 在单页面应用里使用二级套嵌路由
Dec 19 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 验证图片生成函数
2009/05/21 PHP
php模拟js函数unescape的函数代码
2012/10/20 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
2014/06/30 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
Javascript实现div的toggle效果实例分析
2015/06/09 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
jquery读写cookie操作实例分析
2015/12/24 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
2017/05/08 jQuery
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
通过实例解析json与jsonp原理及使用方法
2020/09/27 Javascript
vue 插槽简介及使用示例
2020/11/19 Vue.js
Vue 的 v-model用法实例
2020/11/23 Vue.js
js实现有趣的倒计时效果
2021/01/19 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
Python如何批量生成和调用变量
2020/11/21 Python
利用python实现汉诺塔游戏
2021/03/01 Python
Html5游戏开发之乒乓Ping Pong游戏示例(一)
2013/01/21 HTML / CSS
生产副总岗位职责
2013/11/28 职场文书
工作交流会欢迎词
2014/01/12 职场文书
初中教师业务学习材料
2014/05/12 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
2015年社区统计工作总结
2015/04/21 职场文书
七夕情人节问候语
2015/11/11 职场文书
无线电通信名词解释
2022/02/18 无线电