Laravel SMS 簡訊傳送包
composer require ibrand/laravel-sms:~1.0 -vvv 複製程式碼
低於 Laravel5.5 版本
config/app.php
檔案中 'providers' 新增
iBrand\Sms\ServiceProvder::class 複製程式碼
config/app.php
檔案中 'aliases' 新增
'Sms'=> iBrand\Sms\Facade::class 複製程式碼
使用
傳送驗證碼
實現了傳送簡訊驗證碼路由,支援 web 和 api ,可以自定義路由的 prefix。
'route' => [ 'prefix' => 'sms', 'middleware' => ['web'], ], or 'route' => [ 'prefix' => 'sms', 'middleware' => ['api'], ], 複製程式碼
POST請求http://your.domain/sms/verify-code
引數:mobile
備註:為了支援開發時的除錯,在傳送驗證碼時不去驗證手機號本身的有效性,請在傳送驗證碼前自行驗證。
返回引數:
{ "status": true, "message": "簡訊傳送成功" } 複製程式碼
驗證驗證碼
use iBrand\Sms\Facade as Sms; if (!Sms::checkCode(\request('mobile'), \request('code'))) { //驗證失敗,處理自身業務 } 複製程式碼
配置模板 ID
在config/ibrand/sms.php
的gateways
引數可以直接新增code_template_id
來配置模板 id
// 可用的閘道器配置 'gateways' => [ 'errorlog' => [ 'file' => '/tmp/easy-sms.log', ], 'yunpian' => [ 'api_key' => '824f0ff2f71cab52936axxxxxxxxxx', ], 'aliyun' => [ 'access_key_id' => 'dalvTXXX', 'access_key_secret' => 'XXXX', 'sign_name' => '阿里雲簡訊測試專用', 'code_template_id' => 'SMS_80215252' ], 'alidayu' => //... ], ], 複製程式碼
配置 Content
非模板類通道,可以通過 config/ibrand/sms.php 自定義簡訊內容
'content' => '【your signature】親愛的使用者,您的驗證碼是%s。有效期為%s分鐘,請儘快驗證。'
debug
在實際開發中會存在並不用真實發出驗證碼的情況,因此在 debug 模式下,可以通過
http://your.domain/api/sms/info?mobile=1898888XXXX
來直接只看某個手機號當前有效驗證碼資訊。
歡迎大家 star 和提交 issue:)