diff --git a/app/controller/Wechat.php b/app/controller/Wechat.php index 4f38ca4..43e7108 100644 --- a/app/controller/Wechat.php +++ b/app/controller/Wechat.php @@ -54,17 +54,18 @@ class Wechat public function code() { $this->initWechat(); - $user = $this->app->oauth->user(); - $callback = Request::get('callback'); + $code = Request::get('code'); + $wechatUser = $this->app->oauth->userFromCode($code); + $callback = Request::get('callback'); - $user = AppUser::where('openid', $user->getId())->find(); + $user = AppUser::where('openid', $wechatUser->getId())->find(); if (! $user) { $user = AppUser::create([ - 'nickname' => $user->getNickname(), - 'avatar' => $user->getAvatar(), + 'nickname' => $wechatUser->getNickname(), + 'avatar' => $wechatUser->getAvatar(), 'identity' => 0, - 'openid' => $user->getId(), + 'openid' => $wechatUser->getId(), ]); } $tokenData = ['userid' => $user->id, 'loginTime' => time(), 'rankStr' => strRand(5)];