首页 > 其他 > 详细

composer阿里云短信服务不支持传参为数值

时间:2017-06-19 20:37:56      阅读:760      评论:0      收藏:0      [点我收藏+]

composer 阿里云短信服务使用 xuying/aliyun_mns

 

/**
*
TODO SMS SERVICE
* @param
$tmp
* @param
$moblie
* @param
$name
* @param
int $len
* @return
int
*/
private function mns($tmp,$moblie,$name,$len=4
)
{
$count
=[];
for($i =0;$i<$len; $i
++){
$count[] =rand(1, 9
);
}
$captcha = (int) implode("",$count
);

$data = [
"log_msg"=>$name
,
"log_captcha"=>$captcha
,
"log_phone"=>
$moblie
];

if($this->validate($data,"SmsLogs") !== true){
return 0
;
}

$new_mns = new Mns((array) Config::get(‘mns‘));
$statua = $new_mns->run($tmp,[$moblie=>array(‘code‘=>(string) $data[‘log_captcha‘],"product" => $data[‘log_msg‘
])]);

if(!method_exists($statua,‘isSucceed‘)){
return 0
;
}
try
{
SmsLog::create($data
);;
return 1
;
}catch (Exception $e
){
return 0
;
}
}

以下为发送成功返回对象

object(AliyunMNS\Responses\PublishMessageResponse)#44 (4) {
  ["succeed":protected] =&gt; bool(true)
  ["statusCode":protected] =&gt; int(201)
  ["messageId":protected] =&gt; string(40) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  ["messageBodyMD5":protected] =&gt; string(32) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

 

但是并没有短信收到,原因为模板$code字段为数字类型了,

-------------------------分享短信发送代码:--------------------------

//TODO 短信验证配置=====开启&& 关闭注释=========
if
(!$mns = $this->mns("register",$req[‘member_mobile‘],$req[‘member_name‘],4
)){
return json(msg_array(0,‘请求获取验证码失败‘,[]),400
);
}
return json(msg_array(1,‘请求获取验证码成功‘,[]),200
);

---------------------------            ----------------------------------------------------

(string)转换后,成功短信发送了;

composer阿里云短信服务不支持传参为数值

原文:http://www.cnblogs.com/q1104460935/p/7050371.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!