阿里大鱼短信接口整合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整合的阿里云短信接口
现阶段,短信的应用主要就是用来验证下手机号是不是正常的手机号.只要涉及到用户手机号的问题的时候,都会做短信验证码来验证下改手机号是否是正常手机号.接下来就是操作步骤. 首先要在阿里云账号上开通短信功能 ...
随机推荐
- css系列教程--简介及基础语法和注意事项
css简介:css指的是层叠样式表,cascading style sheets.用来定义html中的dom节点如何展示在页面中的问题.解决了内容与表现形式的分离问题.常见的样式表有外部链接样式表和内 ...
- achartengine andorid图像引擎入门
最近在帮机械学院开发一个app 用了第三方的图像引擎——achartengine功能还算强大(虽然相比于Html那些第三方图像引擎还是差点不过也够用了) 入门: 参考http://blog.csdn. ...
- 动态分配内存补充 realloc
当再次在原来申请的内存基础上再加内存的时候用realloc,如果第一次分配的内存后面存储地方够用,则连着原来的申请,如果不够用,就重新找到一块够用的地方,然后把原来的复制过去 int main(int ...
- CDZSC_2015寒假新人(1)——基础 e
Description Julius Caesar lived in a time of danger and intrigue. The hardest situation Caesar ever ...
- Windows下使用TensorFlow
上一篇日志(http://www.cnblogs.com/huidong/p/5426556.html)写了如何在Windows下安装Docker,并且在VM上安装TensorFlow. 在Windo ...
- docker 使用Data Volume 共享文件
Adding a data volume You can add a data volume to a container using the -v flag with the docker run ...
- 记glide框架使用中所遇到的问题
最近实在是太忙,每有时间写博客.记得之前写过一篇关于glide加载图片不显示的博客,但是给出最终的解决方法.这次我将把在项目中使用glide所遇到的问题总结一下. 1.使用glide最好对glide进 ...
- 对话 UNIX: 关于 inode
http://www.ibm.com/developerworks/cn/aix/library/au-speakingunix14/ WMI http://wiki.hudson-ci.org/di ...
- c# 正则表达式对网页进行内容抓取
原文 c# 正则表达式对网页进行内容抓取 搜索引擎中一个比较重要的环节就是从网页中抽取出有效内容.简单来说,就是吧HTML文本中的HTML标记去掉,留下我们用IE等浏览器打开HTML文档看到的部分(我 ...
- 【额 原来ms sqlserver 中的视图果然是“虚表”哈】
在视图中查询数据的时候,会不会使用实体表中的列上的索引呢?会 .... 测试结果 测试脚本 ; BEGIN INSERT INTO Teachers ( TeacherName, Sex, Money ...