VerifyCode.php 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php namespace App\Servers\Sms;
  2. use App\Facades\Servers\Sms\GuoDu;
  3. use App\Facades\Servers\Aliyun\Sms as Aliyun;
  4. use App\Facades\Servers\Tencent\Sms as Tencent;
  5. /**
  6. * 验证码模型
  7. *
  8. * @author 刘相欣
  9. */
  10. class VerifyCode {
  11. public function sendCode($phone,$verifyCode){
  12. // 判断运营商,以方便发送短信
  13. $type = config('verifycode.operator_type');
  14. // 如果是国都
  15. if( $type == 'guodu' ) {
  16. // 发送短信
  17. $result = GuoDu::sendSms($phone,'您的验证码是:'.$verifyCode.',5分钟内有效,请勿外泄。',config('verifycode.guodu.sms_sign'));
  18. // 如果code不是03
  19. if( $result['code'] != '03' && $result['code'] != '01') return ['error'=>'发送失败','data'=>$result];
  20. // 返回结果
  21. return $result;
  22. }
  23. // 如果是阿里云
  24. if( $type == 'aliyun' ) {
  25. // 发送短信
  26. $result = Aliyun::sendSms($phone,config('verifycode.aliyun.sms_sign'),config('verifycode.aliyun.sms_tpl'),['code'=>$verifyCode]);;
  27. // 如果code不是03
  28. if( isset($result['error']) ) return ['error'=>$result['error'],'data'=>$result];
  29. // 返回结果
  30. return $result;
  31. }
  32. // 如果是阿里云
  33. if( $type == 'tencent' ) {
  34. // 发送短信
  35. $result = Tencent::sendSms($phone,config('verifycode.tencent.sms_sign'),config('verifycode.tencent.sms_tpl'),[$verifyCode]);
  36. // 如果code不是03
  37. if( isset($result['error']) ) return ['error'=>$result['error'],'data'=>$result];
  38. // 返回结果
  39. return $result;
  40. }
  41. // 返回结果
  42. return ['error'=>'未知运营商,请配置运营商类型'];
  43. }
  44. public function sendRemind($phone,$content){
  45. // 判断运营商,以方便发送短信
  46. $type = config('verifycode.operator_type');
  47. // 如果是国都
  48. if( $type == 'guodu' ) {
  49. // 发送短信
  50. $result = GuoDu::sendSms($phone,$content,config('verifycode.guodu.sms_sign'));
  51. // 如果code不是03
  52. if( $result['code'] != '03' && $result['code'] != '01') return ['error'=>'发送失败','data'=>$result];
  53. // 返回结果
  54. return $result;
  55. }
  56. // 如果是阿里云
  57. if( $type == 'aliyun' ) {
  58. // 发送短信
  59. $result = Aliyun::sendSms($phone,config('verifycode.aliyun.sms_sign'),config('verifycode.aliyun.sms_tpl'),['code'=>$content]);;
  60. // 如果code不是03
  61. if( isset($result['error']) ) return ['error'=>$result['error'],'data'=>$result];
  62. // 返回结果
  63. return $result;
  64. }
  65. // 如果是阿里云
  66. if( $type == 'tencent' ) {
  67. // 发送短信
  68. $result = Tencent::sendSms($phone,config('verifycode.tencent.sms_sign'),config('verifycode.tencent.sms_tpl'),[$content]);
  69. // 如果code不是03
  70. if( isset($result['error']) ) return ['error'=>$result['error'],'data'=>$result];
  71. // 返回结果
  72. return $result;
  73. }
  74. // 返回结果
  75. return ['error'=>'未知运营商,请配置运营商类型'];
  76. }
  77. }