LoginController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace App\Http\Home;
  3. use App\Services\Login\LoginTokenService;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Http\JsonResponse;
  6. use Illuminate\Support\Facades\DB;
  7. class LoginController extends HttpBaseController
  8. {
  9. public function __construct()
  10. {
  11. parent::__construct();
  12. $this->setWebsite(__NAMESPACE__);
  13. }
  14. /**
  15. * @return String
  16. */
  17. public function loginIn(Request $request)
  18. {
  19. $mobile = $request->post('mobile');
  20. $password = $request->post('password');
  21. $yzm = $request->post('yzm');
  22. if (empty($mobile)) {
  23. return responseMessage(2000, '手机号不能为空!');
  24. }
  25. if (empty($password)) {
  26. return responseMessage(2001, '密码不能为空!');
  27. }
  28. // 验证码
  29. if (!$this->checkImgYzm($yzm)) {
  30. return responseMessage(2002, '验证码不正确!');
  31. } else {
  32. $this->clearYzm();
  33. }
  34. return $this->toLoginIn(['mobile' => $mobile], $password, 'user');
  35. }
  36. /**
  37. * 获取登录的用户信息
  38. */
  39. public function userInfo(): JsonResponse
  40. {
  41. $loginToken = new LoginTokenService('user_access_token');
  42. if ($tokenInfo = $loginToken->checkLogin()) {
  43. $userInfo = DB::table('user')->select(['username', 'avatar', 'status'])->find($tokenInfo->user_id);
  44. return responseMessage(1001, 'success', [
  45. 'wx_avatar' => $userInfo->avatar,
  46. 'wx_nickname' => $userInfo->username,
  47. 'status' => $userInfo->status,
  48. ]);
  49. } else {
  50. abort(401, '你还没有登录,请登录!');
  51. }
  52. }
  53. public function loginOut()
  54. {
  55. $this->isLoginJson();
  56. $loginToken = new LoginTokenService('user_access_token');
  57. $loginToken->destroyCurrentAccessToken();
  58. return responseMessage(1001, '操作成功!');
  59. }
  60. }