SmsService.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: sdf_sky
  5. * Date: 2017/1/4
  6. * Time: 下午12:03
  7. */
  8. namespace App\Services;
  9. use Illuminate\Support\Facades\Cache;
  10. use Illuminate\Support\Facades\Log;
  11. use Mrgoon\AliSms\AliSms;
  12. class SmsService
  13. {
  14. public static function sendSms($mobile,$smsTemplateId,$params){
  15. if(!config('services.sms_open')){
  16. return false;
  17. }
  18. if(!is_mobile($mobile) || !$smsTemplateId){
  19. return false;
  20. }
  21. return self::aliSmsSend($mobile,$smsTemplateId,$params);
  22. }
  23. public static function sendSmsCode($mobile){
  24. $code = random_number(6);
  25. Cache::put("sms_code_$mobile",$code,600);
  26. return self::sendSms($mobile,Setting()->get('sms_code_template'),['code'=>$code]);
  27. }
  28. public static function verifySmsCode($mobile,$code){
  29. $storeCode = Cache::get("sms_code_$mobile","");
  30. if($storeCode != $code){
  31. return false;
  32. }
  33. return true;
  34. }
  35. protected static function aliSmsSend($mobile,$smsTemplateId,$params){
  36. $aliSms = new AliSms();
  37. $response = $aliSms->sendSms($mobile, $smsTemplateId, $params);
  38. if($response->Code != 'OK'){
  39. Log::error("ali_sms_send_error".json_encode($response));
  40. return false;
  41. }
  42. return true;
  43. }
  44. }