AuthController.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App\Modules\Pc\Controllers;
  3. use App\Base\BaseController;
  4. use App\Base\Validation\Phone;
  5. use App\Exceptions\ClientException;
  6. use App\Models\User\User;
  7. use App\Modules\Mini\Services\AuthService;
  8. use App\Modules\Mini\Services\CaptchaService;
  9. use App\Modules\Mini\Services\EmailService;
  10. use Illuminate\Support\Facades\Auth;
  11. class AuthController extends BaseController
  12. {
  13. public function emailCaptcha()
  14. {
  15. $params = $this->valid([
  16. "email" => "required|email",
  17. "source" => "required",
  18. ]);
  19. return $this->ok(app(EmailService::class)->emailCaptcha($params['email'], $params['source']));
  20. }
  21. public function profile()
  22. {
  23. /** @var User $user */
  24. $user = Auth::user();
  25. return $this->ok([
  26. "id" => $user->id,
  27. "token" => app(AuthService::class)->encryptToken($user->id),
  28. "name" => $user->name,
  29. "avatar" => $user->avatar,
  30. "company" => [
  31. "id" => optional($user->company)->id ?? 0,
  32. "name" => optional($user->company)->name ?? "",
  33. ],
  34. ]);
  35. }
  36. public function resetPassword()
  37. {
  38. return $this->ok([
  39. "token" => "token",
  40. "name" => "",
  41. "phone" => "",
  42. ]);
  43. }
  44. }