fireqong/laravel-aliyunsms

Laravel 5 aliyunsms package


Keywords
sms, AliyunSMS, laravel aliyunsms
License
MIT

Documentation

基于阿里云官方代码的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中查看日志