阿里大鱼短信接口整合Tp3.2.3开发整理
Posted 别安驹
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里大鱼短信接口整合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‘ ),
3.2、后台发送短信方法(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); }
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开发整理的主要内容,如果未能解决你的问题,请参考以下文章