微信小程序验证码版 SDK 增加了对短信验证码的管理, 开发者无需生成管理验证码, 该 SDK 可直接生成, 存储, 发送, 校验.
官网
SDK 下载地址
demo
?
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.sendCode(function(res){
- console.log(res.data);
- })
- }, number, '验证码为:{code}', messageId, seconds, length);
send 方法用于单条发送短信
参数 1: 请求后的用于接收返回结果的回调函数
参数 number: 接收者手机号码
参数 3: 短信模板, 其中 {code} 为验证码占位符, 会自动替换
参数 messageId: 该条信息的唯一标识, 可用于查询
参数 seconds: 验证码有效期, 单位是秒
参数 length: 验证码长度, 比如 4 位或 6 位
返回结果是 JSON 格式的字符串, code: 发送状态, 0 为成功. 非 0 为发送失败, 可从 data 中查看错误信息
注: 测试发送短信内容不要使用 "你好" 或 "12132" 全数字形式, 这种短信内容没有具体的意义, 可能会被运营商屏蔽
2)校验验证码
检验用户输入的验证码是否和发送的一致
var result = zhenzisms.client.validateCode(code);
参数 code: 用户输入的验证码
返回结果是字符串, ok: 校验成功, error: 验证码错误, expired: 验证码过期
3)发送短信
- zhenzisms.client.send(function(res){
- console.log(res.data);
- })
- }, '15811111111', '您的验证码为 2323');
send 方法用于单条发送短信
参数 1: 请求后的用于接收返回结果的回调函数, 参数 2: 接收者手机号码, 参数 3: 短信内容
返回结果是 JSON 格式的字符串, code: 发送状态, 0 为成功. 非 0 为发送失败, 可从 data 中查看错误信息
注: 测试发送短信内容不要使用 "你好" 或 "12132" 全数字形式, 这种短信内容没有具体的意义, 可能会被运营商屏蔽
- {
- "code":0,
- "data":"发送成功"
- }
4)发送短信(返回状态报告)
- 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 系统位置错误 请联系工作人员或技术人员检查原因
5)查看余额
通过该接口可查看当前剩余的短信条数
- 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 系统位置错误 请联系工作人员或技术人员检查原因
6)查询短信
接口描述
根据 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://www.bubuko.com/infodetail-2948098.html