SmsController.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Models\User;
  4. use App\Services\SmsService;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\Validator;
  7. class SmsController extends Controller
  8. {
  9. //发送短信验证码
  10. public function send(Request $request)
  11. {
  12. $validator = Validator::make($request->all(), [
  13. 'mobile' => ['required', 'regex:/^1[3456789]\d{9}$/'],
  14. 'event' => 'required',
  15. ],[
  16. 'mobile.required'=>"手机号码必须",
  17. 'mobile.regex'=>"手机号码格式错误",
  18. 'event.required'=>"类型必须",
  19. ]);
  20. if ($validator->fails()) {
  21. return $this->response()->errorForbidden($validator->messages()->first());
  22. }
  23. if($request->event=="forget"){
  24. if(!User::where(['mobile'=>$request->mobile])->first()){
  25. return $this->response->errorForbidden("该手机号码未注册");
  26. }
  27. }
  28. $user = Auth('api')->user();
  29. $result = SmsService::send($request->mobile, $request->event, [], $user);
  30. if (isset($result['error'])) {
  31. return $this->response->errorForbidden($result['error']);
  32. }
  33. return $this->response->array([
  34. 'verifyKey' => $result['verifyKey']
  35. ,'code'=>$result['code']
  36. ]);
  37. }
  38. }