基于阿里云官方代码的Laravel-AliyunSms
暂时只支持模板中仅有{code}的模板
安装需求
Laravel
>= 5.4
安装
composer require fireqong/laravel-aliyunsms 1.0.5
// config/app.php
'providers' => [
//...
Fireqong\AliyunSms\AliyunSmsServiceProvider::class,
//...
]
//config/app.php
'aliases' => [
//...
'AliyunSms' => Fireqong\AliyunSms\Facades\AliyunSms::class,
//...
]
php artisan vendor:publish
注意
请先想像一个这样的场景, 你需要修改支付密码, 所以你调用了本接口获取了一个验证码。 假设修改登录密码也需要手机验证码,这个时候你用得到的验证码去登录密码会发生什么?
是可以修改成功的,这样就可能导致获取的验证码不按照程序设计者的预期使用. 这个时候就需要在存储验证码时进行区分. 你需要设置session_key
. 虽然发送验证码时可以用模板
进行区分, 但是模板号不利于记忆, 所以我们不打算用模板号进行区分.
使用
使用自带路由, /api/sms
请求方式: post 请求参数: mobile_phone, signature、 template
signature, 在config.aliyunsms.signature
中选择一个key
template, 在config.aliyunsms.template
中选择一个key
发送信息
AliyunSms::send('13800138000', '自己申请的签名', '自己申请的模板ID', '过期分钟', '存储在session中的key');
or
aliyunsms_send('13800138000', '自己申请的签名', '自己申请的模板ID', '过期分钟', '存储在session中的key');
验证信息
AliyunSms::check('13800138000', '123456', '存储在session中的key');
or
aliyunsms_check('13800138000', '123456', '存储在session中的key');
or
使用自定义规则phone_captcha
$rules = ['phone_captcha' => 'phone_captcha:mobile_phone,session_key'];
Validator::make($request->all(), $rules);
日志
在config/aliyunsms.php中开启debug
:
'debug' => env('APP_DEBUG', true),
会在发送请求时,把请求记录在日志中 响应返回时,也会把响应数据记录在日志中
在storage/logs/laravel.log中查看日志