thinkphp3.2 整合阿里大鱼短信发送接口
2016-11-21 17:49
671 查看
在这里说一下这个常用的短信验证码如何使用thinkphp实现吧,登录阿里大鱼,注册登录,然后增加短信模板,签名,这些完成之后,下载sdk,把sdk。
sdk里面对于我们来说有用的文件只有下面这些,注意了,这里标记的5个文件是有用的,而AliMsgSend.class.php文件是我们要写的短信发送接口。
![](http://img.blog.csdn.net/20161121175137594)
如上图,把这5个文件移动到我们项目里面的Library目录下面,我们新建一个AliMsg文件夹,放到这个文件夹里面(如果你问我Library目录在哪里,那么你可以去thinkphp的核心目录里面找一找,哈哈)。
那么我们现在新建文件AliMsgSend.class.php文件,文件内容如下:
好了,接口搞定了,那么我们如何调用它呢,我们只需要在控制器里面写一个方法就可以了。我的方法如下:
上面的这些参数在你的阿里大鱼控制台里面都可以看到,我就说一下这里的模板变量吧,我们在定义模板的时候会这样写:这是你的注册验证码${code};这样我们就有了一个模板变量,那么我们这里就需要把这个变量传过去,变量是一个json格式的字符串,比如{code:’123456’}。
我们的返回值$res是一个bool值,如果发送成功会返回true,不然会返回false,然后可以根据需要进行处理。
sdk里面对于我们来说有用的文件只有下面这些,注意了,这里标记的5个文件是有用的,而AliMsgSend.class.php文件是我们要写的短信发送接口。
如上图,把这5个文件移动到我们项目里面的Library目录下面,我们新建一个AliMsg文件夹,放到这个文件夹里面(如果你问我Library目录在哪里,那么你可以去thinkphp的核心目录里面找一找,哈哈)。
那么我们现在新建文件AliMsgSend.class.php文件,文件内容如下:
<?php //加载需要的文件 require_once "TopClient.php"; require_once "TopLogger.php"; require_once "AlibabaAliqinFcSmsNumSendRequest.php"; require_once "RequestCheckUtil.php"; require_once "ResultSet.php"; class AliMsgSend{ //定义key private $appkey = null; private $secretKey = null; public function __construct($_appkey, $_secretKey) { $this->appkey = $_appkey; $this->secretKey = $_secretKey; } public function __call ($name, $arguments) { return "The function is not exist!"; } /**阿里大鱼验证码发送接口 * @param $_RecNum string 手机号, * @param $_smsParam json 短信模板变量, * @param $_smsTemplateCode string 短信模板id, * @param $_extend string 公共回传参数, * @param $_smsFreeSignName string 短信签名, * @param $_smsType string 短信类型 defult normal, * @return bool */ public function sendMsg($_RecNum, $_smsParam, $_smsTemplateCode, $_smsFreeSignName, $_extend = "", $_smsType = "normal") { $c = new TopClient; $c ->appkey = $this->appkey; $c ->secretKey = $this->secretKey; $req = new AlibabaAliqinFcSmsNumSendRequest; $req ->setExtend( $_extend ); $req ->setSmsType( $_smsType ); $req ->setSmsFreeSignName( $_smsFreeSignName ); $req ->setSmsParam( $_smsParam ); $req ->setRecNum( $_RecNum ); $req ->setSmsTemplateCode( $_smsTemplateCode ); $resp = $c ->execute( $req ); return $this->sendMsgResult($resp); } /**对接口返回值进行处理 * @param null $_resp * @return bool */ private function sendMsgResult($_resp = null) { if ($_resp->result->success && !$_resp->result->code) { return true; } else if ($_resp->code || $_resp->msg == "Remote service error") { return false; } else { return false; } } }
好了,接口搞定了,那么我们如何调用它呢,我们只需要在控制器里面写一个方法就可以了。我的方法如下:
$code=rand(100000,999999); //定义验证码 session('smscode',$code,600); //把验证码存到session import('AliMsg.AliMsgSend'); //引入我们刚才写的接口类 $appKey = '你的appKey'; $secreKey = '你的secreKey'; $re = new \AliMsgSend($appKey, $secreKey); $recNum = '要发送的手机号码,注意这个是字符串类型的'; $smsParam = "模板变量"; $smsTemplateCode = "模板id"; $smsFreeSignName = "签名"; $res = $re->sendMsg($recNum, $smsParam, $smsTemplateCode, $smsFreeSignName);
上面的这些参数在你的阿里大鱼控制台里面都可以看到,我就说一下这里的模板变量吧,我们在定义模板的时候会这样写:这是你的注册验证码${code};这样我们就有了一个模板变量,那么我们这里就需要把这个变量传过去,变量是一个json格式的字符串,比如{code:’123456’}。
我们的返回值$res是一个bool值,如果发送成功会返回true,不然会返回false,然后可以根据需要进行处理。
相关文章推荐
- 短信服务:将阿里大鱼整合到ThinkPHP3.2,并使用
- 阿里大鱼短信接口PHP版,精简版阿里大鱼短信SMS发送接口PHP实例
- 阿里大鱼短信接口整合Tp3.2.3开发整理
- ThinkPHP 3.2 整合PHPmailer 发送SMTP邮件
- 集成阿里大于发送短信接口
- 飞信PHP接口|飞信PHP API免费发送手机短信接口,thinkphp发送单条函数
- 加载第三方类库,如短信发送的阿里大鱼,百度推送
- NodeJS实现阿里大鱼短信通知发送
- pyhthon 利用爬虫结合阿里大于短信接口实现短信发送天气预报
- 基于ThinkPHP3.2的短信接口
- 新测 thinkphp3.2 整合 PHPMailer 发送邮件
- thinkphp 结合阿里大于发送短信
- 阿里大于(阿里大鱼)短信发送
- php短信接口(阿里大鱼)
- 阿里大鱼短信发送平台
- 阿里大于短信接口thinkphp
- php版阿里大于(阿里大鱼)短信发送实例详解
- 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo
- THINKPHP 结合阿里大于发送短信