diff --git a/app/api/controller/WechatSubscriptController.php b/app/api/controller/WechatSubscriptController.php index 5e91200..6f1ad98 100644 --- a/app/api/controller/WechatSubscriptController.php +++ b/app/api/controller/WechatSubscriptController.php @@ -19,9 +19,9 @@ class WechatSubscriptController extends BaseController public function getCode(Request $request) { $appid = getenv('WECHAT_APPID'); - if($request->all('client') == 'student'){ + if ($request->all('client') == 'student') { $redirect_uri = urlencode(getenv('SERVER_DOMAIN') . "/h5/student#/pages/login/login");//重定向地址 - }else{ + } else { $redirect_uri = urlencode(getenv('SERVER_DOMAIN') . "/h5/teacher#/pages/login/login");//重定向地址 } @@ -30,7 +30,6 @@ class WechatSubscriptController extends BaseController } - /** * @desc 获取网页授权code的access_token * @param $code @@ -40,13 +39,13 @@ class WechatSubscriptController extends BaseController public static function getCodeAccessToken($code) { try { - $client = new Client(['base_uri'=>self::BASE_URI]); + $client = new Client(['base_uri' => self::BASE_URI]); $response = $client->request('get', 'sns/oauth2/access_token', [ 'query' => [ 'appid' => getenv('APP_ID'), 'secret' => getenv('APP_SECRET'), - 'code'=>$code, - 'grant_type'=>'authorization_code' + 'code' => $code, + 'grant_type' => 'authorization_code' ] ]); @@ -61,10 +60,41 @@ class WechatSubscriptController extends BaseController return $result; } - }catch (Exception $e){ + } catch (Exception $e) { return [ - 'code'=>ResponseCode::FAIL, - 'msg'=>$e->getMessage() + 'code' => ResponseCode::FAIL, + 'msg' => $e->getMessage() + ]; + } + } + + public static function getUserinfo($openid, $access_token) + { + try { + + $client = new Client(['base_uri' => self::BASE_URI]); + $response = $client->request('get', 'sns/userinfo', [ + 'query' => [ + 'access_token' => getenv('APP_ID'), + 'openid' => $openid, + 'lang' => 'zh_CN', + ] + ]); + + $response_contents = $response->getBody()->getContents(); + raw_log('wechat/get_user_info', ['result' => $response_contents]); + if ($response->getStatusCode() == 200) { + $result = json_decode($response_contents, true); + raw_log('wechat/get_user_info', ['result' => $result]); + if (isset($result['errcode'])) { + throw new Exception($result['errmsg']); + } + return $result; + } + }catch (Exception $e) { + return [ + 'code' => ResponseCode::FAIL, + 'msg' => $e->getMessage() ]; } } diff --git a/app/common/service/StudentService.php b/app/common/service/StudentService.php index 73573f3..63b3069 100644 --- a/app/common/service/StudentService.php +++ b/app/common/service/StudentService.php @@ -100,16 +100,8 @@ class StudentService $code = $request->post('code'); - print '
';
-            print_r($code);
-            die;
-
             $user_info = WechatSubscriptController::getCodeAccessToken($code);
 
-            print '
';
-            print_r($user_info);
-            die;
-
             if (isset($result['code'])) {
                 throw new Exception('获取信息失败');
             }