阿里大鱼 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开发整理的更多相关文章

  1. 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo

    Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...

  2. 阿里大鱼短信接口(Python3版)

    近期由于须要用到短信接口,选型的的结果是用阿里大鱼的短信服务,然而淘宝开放平台(TOP)的SDK已经非常多年没有更新了.不支持python3.自己动手改了半天,还是不太正常,索性不用它,自己写一个算了 ...

  3. ASP.Net免费发送短信-阿里大鱼短信接口

    有点短信余额 不用白不用 3月1号就过期了 情人节做了个免费发短信的 http://love.issuc.com/ 固定短信模板 [活动验证]您正在参加XXX的OOO活动,请确认系本人申请.需要的可以 ...

  4. TP3.2.3 接入阿里sms 短信接口

    阿里云短信接口 配置文件 config.php //阿里大鱼 'Ali_SMS' =>array( 'sms_temp' =>'短信模板', 'sms_sign' =>'签名', ' ...

  5. SpringBoot、ActiveMQ整合阿里大鱼-----短信服务

    3.短信微服务 3.1需求分析 构建一个通用的短信发送服务(独立于优乐选的单独工程),接收activeMQ的消息(MAP类型)  消息包括手机号(mobile).短信模板号(template_code ...

  6. 功能:使用QQ号登陆,并加上微信和短信提醒,是否增量备份可选,阿里大鱼短信发送开发与测试,聚合数据(用JSON发短信,比较清楚)

    微博就可以,所以其它软件也可以http://desktop.weibo.com/ http://blog.csdn.net/jueblog/article/details/14497181http:/ ...

  7. PHP阿里大鱼短信验证

    PHP阿里大鱼短信验证 第一步 登陆阿里大于注册账号,在用户管理中心创建应用,确定AppKEY和App Secret还有配置签名 第二步 在应用管理中选择SDK下载,或者直接点击http://down ...

  8. php与阿里云短信接口接入

    使用阿里云短信API,需要在控制台获取以下必要参数,其中需要自己手机验证+官方审核多次,尤其审核需要保持耐心. 1. accessKeyId  相当于你的个人账户密钥: 2. accessKeySec ...

  9. TP5整合的阿里云短信接口

    现阶段,短信的应用主要就是用来验证下手机号是不是正常的手机号.只要涉及到用户手机号的问题的时候,都会做短信验证码来验证下改手机号是否是正常手机号.接下来就是操作步骤. 首先要在阿里云账号上开通短信功能 ...

随机推荐

  1. Android中进程生命周期的优先级

    “我们不是生产者,我只是大自然的搬运工.” 学习Android最好的途径当然是强大的官方文档了,其中在Processes and Threads一节中对于进程生命周期淘汰优先级,有着详细的介绍.原文如 ...

  2. struts2之chain的使用

    /** * 实现功能表单提交给action1先处理,再交由action2进行处理,中间传递参数a,b **/ /** * 1. 配置文件 **/ <action name="actio ...

  3. 二维数组在text,image的应用

    NSArray *imageArr = @[@[@"查看地图",@"map_hy.png"], @[@"联系号码",@"phone ...

  4. php不区分大小写

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. Qt 编程训练之七

    Qt进程间通信 TCP / IP 跨平台的 QtNetwork模块提供的类网络编程便携式和容易. 它提供了高层类(例如,QNetworkAccessManager, QFtp)使用特定的应用层协议通信 ...

  6. [Effective Modern C++] Item 1. Understand template type deduction - 了解模板类型推断

    条款一 了解模板类型推断 基本情况 首先定义函数模板和函数调用的形式如下,在编译期间,编译器推断T和ParamType的类型,两者基本不相同,因为ParamType常常包含const.引用等修饰符 t ...

  7. Safecracker

    问题陈述: 杭州电子科技大学HANGZHOU DIANZI UNIVERSITY Online Judge Problem - 1015 问题解析: 深度优先搜索(Depth_First Search ...

  8. Redis 数据库的安装

    安装redis真的是简单到不行了,三条命令就可以完成. 1.下载redis: 001.http://redis.io/ 002.也可以在我的网盘下载https://yunpan.cn/crSUX6aS ...

  9. Nginx 变量漫谈(二)

    关于 Nginx 变量的另一个常见误区是认为变量容器的生命期,是与 location 配置块绑定的.其实不然.我们来看一个涉及“内部跳转”的例子:     server {        listen ...

  10. Android 样式

    先在Value文件夹下建一个Common.xml的文件. <style name="CodeFont" parent="@android:style/TextApp ...