LaravelSmsLaravel是一款满足实际需求,满足多渠道的短信发送组件。我们根据业务需要在overtrue/easy-sms的基础上进行扩展开发,主要实现如下目标:直接在config中支持短信验证码中间的配置模板ID支持短信验证码的自定义长度,支持短信验证码的有效分钟数。默认5分钟,支持短信验证码重试次数,防止用户不小心输错验证码需要重新发送验证码。当短信验证码未通过验证时,用户再次请求验证码,验证码在有效分钟内保持不变。集成短信发送路由,支持web和api两种发送方式。支持验证码调试。在debug模式下,可以直接查询手机当前有效的验证码。支持验证码发送记录到数据库,方便查看发送日志和错误原因包地址:ibrand/laravel-smsTODO:支持语音验证码安装composerrequireibrand/laravel-sms:~1.0-vvv低于Laravel5.5版本config/app.php文件'providers'添加iBrand\Sms\ServiceProvder::classconfig/app.php文件'aliases'添加'Sms'=>iBrand\Sms\Facade::class实现发送短信验证码路由使用发送验证码,支持web和api,可自定义路由前缀。'route'=>['prefix'=>'sms','middleware'=>['web'],],或'route'=>['prefix'=>'sms','middleware'=>['api'],],POST请求http://your.domain/sms/verify-code参数:mobile备注:为了支持开发时调试,发送验证时不验证手机号本身的合法性代码,请在发送验证码之前验证自己。返回参数:{"status":true,"message":"短信发送成功"}Verification验证码使用iBrand\Sms\Facade作为短信;if(!Sms::checkCode(\request('mobile'),\request('code'))){//添加你的代码。}在config/ibrand/sms.php的gateways参数中配置模板ID可以直接添加code_template_id配置模板id//可用网关配置'gateways'=>['errorlog'=>['file'=>'/tmp/easy-sms.log',],'yunpian'=>['api_key'=>'824f0ff2f71cab52936axxxxxxxxxxx',],'aliyun'=>['access_key_id'=>'dalvTXXX','access_key_secret'=>'XXXX','sign_name'=>'阿里云短信测试专用','code_template_id'=>'SMS_80215252'],'alidayu'=>//...],],配置Content非模板通道,可以自定义短信内容'content'通过config/ibrand/sms.php=>'【您的签名】尊敬的用户,您的验证码是%s。有效期为%s分钟,请尽快验证。'debug在实际开发中会存在,并不需要实际下发验证码,所以在debug模式下,可以直接通过http://your.domain/api/sms/info?mobile只查看某个手机号=1898888XXXX当前有效的验证码信息。欢迎大家star和提交issue:)讨论交流
