AuthController.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace App\Http\Controllers\Client;
  3. use App\Http\Controllers\Controller;
  4. use App\Services\Client\UserService;
  5. use Illuminate\Http\Request;
  6. class AuthController extends Controller
  7. {
  8. protected $userService;
  9. public function __construct(UserService $userService)
  10. {
  11. $this->userService = $userService;
  12. }
  13. /**
  14. * 用户注册
  15. *
  16. * @return \Illuminate\Http\JsonResponse
  17. *
  18. * @description 用户注册接口
  19. *
  20. * @bodyParam mobile string required 手机号 Example: 13800138000
  21. * @bodyParam code string required 验证码 Example: 123456
  22. * @bodyParam invite_code string optional 邀请码 Example: ABC123
  23. * @bodyParam invite_id integer optional 邀请人ID Example: 1
  24. * @bodyParam invite_role string optional 邀请人角色(user) Example: user
  25. *
  26. * @response {
  27. * "code": 200,
  28. * "message": "注册成功",
  29. * "data": {
  30. * "user_id": 1,
  31. * "mobile": "13800138000",
  32. * "invite_code": "ABC123"
  33. * }
  34. * }
  35. */
  36. public function register(Request $request)
  37. {
  38. $validated = $request->validate([
  39. 'mobile' => 'required|string|size:11|regex:/^1[3-9]\d{9}$/',
  40. 'code' => 'required|string|size:6',
  41. 'invite_code' => 'nullable|string|size:6',
  42. 'invite_id' => 'nullable|integer|exists:member_users,id',
  43. 'invite_role' => 'nullable|string|in:user',
  44. ]);
  45. return $this->userService->register(
  46. $validated['mobile'],
  47. $validated['code'],
  48. $validated['invite_code'] ?? null,
  49. $validated['invite_id'] ?? null,
  50. $validated['invite_role'] ?? null
  51. );
  52. }
  53. }