首页 > 代码库 > composer阿里云短信服务不支持传参为数值
composer阿里云短信服务不支持传参为数值
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] => bool(true)
["statusCode":protected] => int(201)
["messageId":protected] => string(40) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
["messageBodyMD5":protected] => 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阿里云短信服务不支持传参为数值
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。