阿里大鱼短信接口整合Tp3.2.3开发整理
阿里大鱼 http://www.alidayu.com/ 的短信接口总体是不错的,别安驹个人认为不管是从性价比还是稳定性上都是跟同类的短信接口好些,毕竟是大公司的东西不会差到哪去。下面把之前开发的短信接口做个整理。
1,登陆阿里大鱼的管理中心新增自己的应用,然后使用什么模板请提交审核,此处不做多说。
2,核心步骤,整理阿里大鱼给出的php示例核心包,不过别安驹已经为你整理好了只需要下载即可 核心包传送门 (ps:解压密码:http://www.bieanju.com/)。
3,前台调用发送短信利用ajax异步请求处理发送,
3.1、当然此处会先用一些公共配置所以先来看看配置:
/* 阿里大鱼短信接口 */
'Alidayu' => array(
'Appkey' => 'xxxx',
'SecretKey'=>'xxxx',
'SmsTemplate' => 'SMS_xxx',// 注册提示模板号
'SignName' => '测试短信',
'Product' => '别安驹测试短信内容',
'Expire' => '300'
),
需要注意的地方是SignName,短信签名,位置在管理中心> 配置管理 > 短信通知 如图:
3.2、后台发送短信方法(ps:可以写成公共函数,毕竟发短信的地方不止注册,可能需要修改密码或者找回密码都会用到)此处传参要求请参照阿里大鱼官方要求 传送门 (PS:请登录后查看):
//调用的发送方法
public function mobilevalid() {
$mobile = I('mobile');
echo sendMobileCode($mobile);
}
/*
* 阿里大鱼手机验证码发送函数
*
* */
function sendMobileCode($mobile){
Vendor('Alidayu.Client');
Vendor('Alidayu.SendSms');
Vendor('Alidayu.ResultSet');
Vendor('Alidayu.RequestCheckUtil');
Vendor('Alidayu.TopLogger');
$client = new Client();
$client->appkey = C('Alidayu.Appkey');
$client->secretKey = C('Alidayu.SecretKey');
/* 组装发送前置参数 */
$code = randCode(4);
$send_msg = array('code'=>$code,'product'=>C('Alidayu.Product'),'item'=>C('Alidayu.Product'));
$request = new SendSms();
$request->setExtend($mobile);
$request->setSmsType("normal");
$request->setSmsFreeSignName(C('Alidayu.SignName'));
$request->setSmsParam(json_encode($send_msg));
$request->setRecNum($mobile);
$request->setSmsTemplateCode(C('Alidayu.SmsTemplate'));
$result = json2array(json_encode($client->execute($request)));
if($result['result']['success']){
cookie('mobile_validated',$code,C('Alidayu.Expire'));
$msg = array('status'=> 1,'info'=>"验证码已发送至您的手机!");
}else{
$msg = array('status'=> 0,'info'=>"验证码发送失败,".$result['sub_msg']."请稍后重试!");
}
return json_encode($msg); }
发送短信的公共函数中使用的函数:
1:json串转array处理 json2array:
/**
* json串转array处理
* @param json json字符串
* @author bieanju <bieanju@163.com>
* @return array
*/
function json2array($json){ $json = str_replace("\r\n", '\n',trim($json,chr(239).chr(187).chr(191)));//剔除bom以及去除\r return json_decode($json,true); }
2:随机生成验证码数字函数:
function randCode($length){
return substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, $length);
}
3.3、前台调用主要是ajax写的函数处理发送短信和倒计时:
var mobileUrl = "处理发送短信的方法地址";
$(function(){
$('#sendmsg').click(function(){
var mobile = $("input[name='mobile']").val();
var url = mobileUrl;
curCount = count;
if(!mobile){
layer.msg("对不起请先填写手机号");
return false;
}
$.get(mobileUrl,{mobile:mobile},function(json){
json = eval("("+json+")");
if(json.status){
InterValObj = window.setInterval(SetRemainTime, 1000);
layer.msg(json.info);
}else{
layer.msg(json.info);
}
}) })
}) function SetRemainTime() {
if (curCount == 0) {
window.clearInterval(InterValObj);//停止计时器
$("#sendmsg").removeAttr("disabled");//启用按钮
$("#sendmsg").html("重新发送验证码");
$("#sendmsg").css("background","#FAEBC4");
}else{
curCount--;
$("#sendmsg").html(curCount+"秒后重发");
$("#sendmsg").attr("disabled","disabled");
$("#sendmsg").css("background","#E8E6E0");
}
}
Ok大功告成,短信模板就此已经发送成功了!是不是很简单呢?哈哈……
阿里大鱼短信接口整合Tp3.2.3开发整理的更多相关文章
- 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo
Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...
- 阿里大鱼短信接口(Python3版)
近期由于须要用到短信接口,选型的的结果是用阿里大鱼的短信服务,然而淘宝开放平台(TOP)的SDK已经非常多年没有更新了.不支持python3.自己动手改了半天,还是不太正常,索性不用它,自己写一个算了 ...
- ASP.Net免费发送短信-阿里大鱼短信接口
有点短信余额 不用白不用 3月1号就过期了 情人节做了个免费发短信的 http://love.issuc.com/ 固定短信模板 [活动验证]您正在参加XXX的OOO活动,请确认系本人申请.需要的可以 ...
- TP3.2.3 接入阿里sms 短信接口
阿里云短信接口 配置文件 config.php //阿里大鱼 'Ali_SMS' =>array( 'sms_temp' =>'短信模板', 'sms_sign' =>'签名', ' ...
- SpringBoot、ActiveMQ整合阿里大鱼-----短信服务
3.短信微服务 3.1需求分析 构建一个通用的短信发送服务(独立于优乐选的单独工程),接收activeMQ的消息(MAP类型) 消息包括手机号(mobile).短信模板号(template_code ...
- 功能:使用QQ号登陆,并加上微信和短信提醒,是否增量备份可选,阿里大鱼短信发送开发与测试,聚合数据(用JSON发短信,比较清楚)
微博就可以,所以其它软件也可以http://desktop.weibo.com/ http://blog.csdn.net/jueblog/article/details/14497181http:/ ...
- PHP阿里大鱼短信验证
PHP阿里大鱼短信验证 第一步 登陆阿里大于注册账号,在用户管理中心创建应用,确定AppKEY和App Secret还有配置签名 第二步 在应用管理中选择SDK下载,或者直接点击http://down ...
- php与阿里云短信接口接入
使用阿里云短信API,需要在控制台获取以下必要参数,其中需要自己手机验证+官方审核多次,尤其审核需要保持耐心. 1. accessKeyId 相当于你的个人账户密钥: 2. accessKeySec ...
- TP5整合的阿里云短信接口
现阶段,短信的应用主要就是用来验证下手机号是不是正常的手机号.只要涉及到用户手机号的问题的时候,都会做短信验证码来验证下改手机号是否是正常手机号.接下来就是操作步骤. 首先要在阿里云账号上开通短信功能 ...
随机推荐
- Java - 泛型 ( Generic )
Java - 泛型 ( Generic ) > 泛型的特点 > 解决元素存储的安全性问题 > 解决获取数据元素时,需要类型强转的问题 ...
- vlc-android对于通过Live555接收到音视频数据包后的处理分析
通过ndk-gdb跟踪调试vlc-android来分析从连接到RTSP服务器并接收到音视频数据包后的处理过程. 首先,从前面的文章有分析过vlc-android的处理过程通过线程函数Run()(Src ...
- .Net 中DataSet导出为excel的方法
依旧是留下代码防止以后忘记 protected void Export_Click(object sender, EventArgs e) { DataSet data = "" ...
- 【Java基础】foreach循环
从一个小程序说起: class lesson6foreach { public static void main(String[] args) { int array[]={2,3,1,5,4,6}; ...
- Intersection of Two Linked Lists(java)
eg: a1 → a2 ↘ c1 → c2 → c3 或者直接a1 → b1 ↗ b1 → b2 → b3求公共链表c1. 常规的指针分裂法,复制法,偏移法. public class Solutio ...
- 利用JPEGImageEncoder进行简单的图片压缩
import java.awt.Dimension; import java.awt.Image; import java.awt.image.BufferedImage; import java.i ...
- 客户端js判断文件类型和文件大小即限制上传大小
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- 为什么我们需要性能测试,需要loadrunner
什么是功能: 功能按我理解就是软件实现需求,提供服务,那么功能测试就是实现的需求是否与客户给定需求一致,也就是符合预期结果 什么是性能: 功能是实现需求,提供服务,那么性能就可以理解为服务的好坏.比如 ...
- 修改jquery的remote让前段显示服务器错误信息
remote: function (value, element, param) { //param 是你的rules中规定的参数,在这里肯定是remote中的参数了 //value是你输入的值 // ...
- [XMPP]简易的聊天室实现[一]
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...