自从微信小程序提供云开发支持,开发者无需搭建后台服务器,使用微信提供的核心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. python-基于tcp协议的套接字(加强版)及粘包问题

    一.基于tcp协议的套接字(通信循环+链接循环) 服务端应该遵循: 1.绑定一个固定的ip和port 2.一直对外提供服务,稳定运行 3.能够支持并发 基础版套接字: from socket impo ...

  2. 洛谷P4770 [NOI2018]你的名字 [后缀自动机,线段树合并]

    传送门 思路 按照套路,直接上后缀自动机. 部分分:\(l=1,r=|S|\) 首先把\(S\)和\(T\)的后缀自动机都建出来. 考虑枚举\(T\)中的右端点\(r\),查询以\(r\)结尾的串最长 ...

  3. 个人版整理APP测试流程

    2016.1.5 我的笔记 一 .APP测试基本流程  1.1 测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试 ...

  4. centos6.6 minimal cannot found a valid baseurl for repo :base

    网上找了很久,说什么NDS1=8.8.8.8,DNS2=4.2.2.2 也有说改ifcfg-eth0文件的 总之我都改了,但都没用 现在我把我修改的流程发上来 1.https://blog.csdn. ...

  5. CTO 能力模型(简化版)

    最近思考了很多,我在大贲这几年的工作内容.从一开始到现在,伴随着大贲从一二十人,走到了现在的两百多人.我的工作也从一开始的带头冲锋陷阵,逐步转移到了带领产品研发,再到后来的全公司多业务线的技术管理工作 ...

  6. numpy的数组常用运算练习

    import numpy as np # 一维数组 print('==========# 一维数组===========') A = np.array([1, 2, 3, 4]) print(A) # ...

  7. vim 使用学习操作

    1 跳转 命令 作用 h 光标向左移动 l 光标向右移动 j 光标向上移动 k 光标向下移动 w 移动光标到下一个单词开头. e 移动光标到下一个单词结尾 b 移动光标到上一个单词. 0 移动光标到本 ...

  8. 关于spring aop Advisor排序问题

    关于spring aop Advisor排序问题 当我们使用多个Advisor的时候有时候需要排序,这时候可以用注解org.springframework.core.annotation.Order或 ...

  9. 课堂小记---JavaScript(4)

    day11 1.正则表达式 去掉首尾的空格或者其他字符 replace方法可传入函数可分组. 以下为分组 基础正则表达式语法: /** * 正则表达式是一个对象类型 */ // 匹配字符串中的che ...

  10. sql查询重复值

    SELECT COUNT(字段name) AS con,字段name,重复字段pc FROM 表名 GROUP BY 重复字段pc HAVING con>=