1.要求
laravel版本 >= 5.5 , php >= 7.0
2. 开打阿里云官网首页 ,有账号就登录 ,没有账号就注册一个账号
3. 进入控制台找到短信服务
需要申请 签名与短信模板
*注意*:一定要是审核通过的签名与短信模板
4. 点击右上角头像 获取 accessKeyId 与 accessSecret
5. 打开cmd 进入到项目目录执行 命令
composer require alibabacloud/client
6. 代码部分
public function iphone( Request $request )
{
$iphone = $request->input( 'iphone' ); //用户输入的手机号
$info = Index::get_iphone_vip( $iphone );
if ( $info ) {
return [
'code' => 123 ,
'msg' => '手机号已存在' ,
];
}
$count = rand( 000000 , 999999 ); //生成六位随机数
Cache::set( 'users' , $count , 1 ); //使用cache 缓存六位随机数 时间为一分钟
$param = [
'code' => $count
//随机数放在数组里
];
$accessKeyId = config( 'ali.accessKeyId' );
$accessSecret = config( 'ali.accessSecret' );
$SignName = config( 'ali.SignName' );
$TemplateCode = config( 'ali.TemplateCode' );
$regionId = config( 'ali.regionId' );
AlibabaCloud::accessKeyClient( $accessKeyId , $accessSecret )
->regionId( $regionId )
->asDefaultClient();
try {
$result = AlibabaCloud::rpc()
->product( 'Dysmsapi' )
->version( '2017-05-25' )
->action( 'SendSms' )
->method( 'POST' )
->options( [
'query' => [
'RegionId' => "$regionId" ,
'PhoneNumbers' => $iphone ,
'SignName' => $SignName ,
'TemplateCode' => $TemplateCode ,
'TemplateParam' => json_encode( $param ) ,
] ,
] )
->request();
$ig = $result->toArray();
return [
'code' => $ig['Code'] ,
'message' => $ig['Message'] ,
'requestid' => $ig['RequestId'] ,
'bizid' => $ig['BizId'] ,
];
} catch ( ClientException $e ) {
return $e->getErrorMessage().PHP_EOL;
} catch ( ServerException $e ) {
return $e->getErrorMessage().PHP_EOL;
}
}
7. 完毕。