You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
846 B

  1. <?php
  2. namespace App\Controller\v3;
  3. use App\Controller\BaseController;
  4. use App\Request\v3\WxLoginRequest;
  5. use App\Service\v3\Interfaces\WxLoginServiceInterface;
  6. use Hyperf\Di\Annotation\Inject;
  7. /**
  8. * 登录控制器
  9. * Class LoginController
  10. * @package App\Controller\v3
  11. */
  12. class LoginController extends BaseController
  13. {
  14. /**
  15. * @Inject
  16. * @var WxLoginServiceInterface
  17. */
  18. protected $wxLoginService;
  19. /**
  20. * 用户微信登录
  21. * 1、前端上传code
  22. * 2、后端处理登录获取信息并生成或更新用户登录然后返回用户信息
  23. * @param WxLoginRequest $request
  24. */
  25. public function wxLogin(WxLoginRequest $request)
  26. {
  27. $code = $request->validated()['code'];
  28. $result = $this->wxLoginService->do($code);
  29. return $this->success(['user' => $result]);
  30. }
  31. }