自从微信小程序提供云开发支持,开发者无需搭建后台服务器,使用微信提供的核心API就可以实现应用功能,此时就需要小程序能够自己发送短信,比如短信验证码,榛子云短信(http://smsow.zhenzikj.com)为此开发了一套专门用于小城的SDK,详情参考: http://smsow.zhenzikj.com/doc/sdk.html

下面小编就详细讲解一下如何使用:

1.安装

下载后的SDK只包含一个zhenzisms.js文件,可直接放在utils文件夹中,然后通过require引入,如下:

var zhenzisms = require('../../utils/zhenzisms.js');

2.配置域名

在微信公众平台-小程序管理中配置域名https://smsdeveloper.zhenzikj.com,如下图:

3.用法

使用事先申请的AppId、AppSecret初始化:

zhenzisms.client.init(apiUrl, appId, appSecret);

apiUrl为请求地址,个人开发者使用https://sms_developer.zhenzikj.com,企业开发者使用https://sms.zhenzikj.com

1)发送短信

zhenzisms.client.send(function(res){
                console.log(res.data);
              })
             }, '15811111111', '您的验证码为2323');

send方法用于单条发送短信

参数1:请求后的用于接收返回结果的回调函数,参数2:接收者手机号码,参数3:短信内容

返回结果是json格式的字符串, code: 发送状态,0为成功。非0为发送失败,可从data中查看错误信息

注: 测试发送短信内容不要使用"你好"或"12132"全数字形式,这种短信内容没有具体的意义,可能会被运营商屏蔽

{
    "code":0,
    "data":"发送成功"
}

2)发送短信(返回状态报告)

zhenzisms.client.send(function(res){
                console.log(res.data);
              })
             }, '15811111111', '您的验证码为2323', 'dfee_dfdw_xdfd_dfdfd');

send方法用于单条发送短信,并且开发者可接受短信发送状态报告,具体使用请参考:API说明

参数1:请求后的用于接收返回结果的回调函数,参数2:接收者手机号码,参数3:短信内容, 参数4:messageId即该条短信的唯一标识, 不能重复

返回结果是json格式的字符串, code: 发送状态,0为成功。非0为发送失败,可从data中查看错误信息

错误代码表

错误码 原因 解决方案

100 参数格式错误 检查请求参数是否为空, 或手机号码格式错误

101 短信内容超过1000字 短信内容过长,请筛检或分多次发送

105 appId错误或应用不存在 请联系工作人员申请应用或检查appId是否输入错误

106 应用被禁止 请联系工作人员查看原因

107 ip错误 如果设置了ip白名单,系统会检查请求服务器的ip地址,已确定是否为安全的来源访问

108 短信余额不足 需要到用户中心进行充值

109 今日发送超过限额 如果设置了日发送数量,则每个接收号码不得超过这个数量

110 应用秘钥(AppSecret)错误 检查AppSecret是否输入错误,或是否已在用户中心进行了秘钥重置

111 账号不存在 请联系工作人员申请账号

1000 系统位置错误 请联系工作人员或技术人员检查原因

3)查看余额

通过该接口可查看当前剩余的短信条数

zhenzisms.client.balance(function(res){
               console.log(res.data)
            });

返回结果是json格式的字符串, code: 查询状态,0为成功,data为剩余短信条数。非0为查询失败,可从data中查看错误信息

错误代码表

错误码 原因 解决方案

100 参数格式错误 检查请求参数是否为空

105 appId错误或应用不存在 请联系工作人员申请应用或检查appId是否输入错误

106 应用被禁止 请联系工作人员查看原因

107 ip错误 如果设置了ip白名单,系统会检查请求服务器的ip地址,已确定是否为安全的来源访问

110 应用秘钥(AppSecret)错误 检查AppSecret是否输入错误,或是否已在用户中心进行了秘钥重置

1000 系统位置错误 请联系工作人员或技术人员检查原因

4)查询短信

接口描述

根据messageId查询已发送短信

zhenzisms.client.findSmsByMessageId(function(res){
               console.log(res.data)
            }, 'dfee_dfdw_xdfd_dfdfd');

请求参数

参数名称 必选 类型 描述

messageId 是 string 信息id,对应发送短信接口的messageId字段

返回结果

返回结果是json格式的字符串, code: 查询状态,0为成功。非0为失败,可从data中查看错误信息

{
    "code":0,
    "data":{}
}

返回结果是json格式的字符串, code: 查询状态,0为成功,data短信信息的json字符串

原文: http://smsow.zhenzikj.com/news/detail/284.html

微信小程序如何发送短信验证码,无需搭建服务器的更多相关文章

  1. 微信小程序 键盘显示短信验证码

    1.场景描述: IOS系统 一些APP或者微信小程序在收到短信验证码的时候会在键盘上自动保存验证码信息,当用户点击的时候,会自动赋值到当前所点击的输入框中 2.案例: 2.实现: TIPS:这个功能是 ...

  2. 微信小程序发送短信验证码完整实例

    微信小程序注册完整实例,发送短信验证码,带60秒倒计时功能,无需服务器端.效果图: 代码: index.wxml <!--index.wxml--> <view class=&quo ...

  3. Laravel5中使用阿里大于(鱼)发送短信验证码

    在做用户注册和个人中心的安全管理时,我实现借助第三方短信平台(阿里大于(鱼))在Laravel框架中进行手机验证的设置:阿里大于,是阿里通信旗下优质便捷的云通信服务平台,整合了三大运营商的通信能力,为 ...

  4. java 阿里云接口实现发送短信验证码

    此刻自己做的小项目中,需要用到手机发送短信验证码实现注册功能,于是就去阿里云注册了账号,并实现随机发送验证码的功能 第一步:在阿里云官网登录注册   已有支付宝或淘宝的账号可以直接登录,最后需要实名认 ...

  5. java实现发送短信验证码

    java实现短信验证码发送 由于我们使用第三方平台进行验证码的发送,所以首先,我们要在一个平台进行注册. 在这里我选择是秒嘀科技,因为新人注册会赠送十元,足够测试使用了. 注册完成后,我们需要获取自己 ...

  6. 超实用的JavaScript代码段 Item4 --发送短信验证码

    发送短信验证码 实现点击“发送验证码”按钮后,按钮依次显示为“59秒后重试”.“58秒后重试”…直至倒计时至0秒时再恢复显示为“发送验证码”.在倒计时期间按钮为禁用状态 . 第一步.获取按钮.绑定事件 ...

  7. 微信小程序中发送模版消息注意事项

    在微信小程序中发送模版消息 参考微信公众平台Api文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/notice.html#模版消息管理 此参考地址 ...

  8. java + maven 实现发送短信验证码功能

    如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...

  9. android发送短信验证码并自动获取验证码填充文本框

    android注册发送短信验证码并自动获取短信,截取数字验证码填充文本框. 一.接入短信平台 首先需要选择短信平台接入,这里使用的是榛子云短信平台(http://smsow.zhenzikj.com) ...

随机推荐

  1. js 检测输入内容是否为空(小程序,网站)

    一.输入内容只要有空格就会返回true if(/\s*/.test(data)){ return true }else{ return false } 二.先替换掉空格,更利于赋值或者判断 1.需要判 ...

  2. java - day003 - 循环嵌套, 循环命名, while, 数组

    1.循环嵌套 break 中断循环或switch(跳出循环).中断后继续往下执行 continue (跳到循环的下一轮继续执行) return (结束方法) 2.循环命名 内层循环控制外层循环.需要给 ...

  3. Java数据类型与运算符

    Java 基本数据类型 Java 的两大数据类型: 内置数据类型 引用数据类型 内置数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. b ...

  4. PCB开钢网不容忽视的问题

    作为PCB工程师,或许你已经出过很多次的钢网文件,但却不一定了解出钢网有哪些要求. 1.首先我们来看下钢网的实物图,就是一块薄薄的钢板,钢网上有很多焊盘孔.把钢网盖在PCB板上后,这些焊盘孔就会和PC ...

  5. 基于Vue2.x的小米商城移动端项目

    初学vue已经有一段时间,为了检验自己的学习成果,决定做一个项目作为一个阶段性总结,项目花了差不多半个月时间,目前实现了7个页面,商城的主要功能基本实现,代码已经放到github上面. 这个项目把大部 ...

  6. 题解 P4008 【[NOI2003]文本编辑器】

    块状链表及其应用 思路楼上已经说的很清楚了 看代码注释 代码很丑 #include<cstdio> #include<cctype> #include<cstring&g ...

  7. 将已经存在的异步请求callback转换为同步promise

    由于js是单线程执行,为防止阻塞,会有很多异步回调函数callback,嵌套层次多了,可读性就差了很多.随着社区的发展,出现了promise.我们来将一些常见的回调函数做修改,变成promise的链式 ...

  8. DDD - 概述 - (一)

    本片将介绍以下内容: 1).DDD是什么? 2).怎么使用DDD? 3).使用DDD应该规避或者注意什么? 一.DDD是什么? 简言之:领域驱动设计(domain driven design),顾名思 ...

  9. Python学习(四十二)—— Djago-model进阶

    一.QuerySet 可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET 子句. Entry.objects.all()[:5] # (LIMI ...

  10. 第二项目AIaisell(易销宝)

    一.什么是报表 向上级报告情况的表格.简单的说:报表就是用表格.图表等格式来动态显示数据,可以用公式表示为:“报表 = 多样的格式 + 动态的数据” 表格:详细数据 图表: 直观 二.表格数据展示 2 ...