From 3f393509e3cdd14882d4007fc6a0fc67aefcda6d Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Fri, 24 May 2024 16:24:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=B8=BA=E5=85=B3=E6=B3=A8=E5=85=AC=E4=BC=97=E5=8F=B7=E6=97=B6?= =?UTF-8?q?=20=20=E9=9D=99=E9=BB=98=E7=99=BB=E5=BD=95=E5=87=BA=E7=8E=B0?= =?UTF-8?q?=E9=94=99=E8=AF=AF=EF=BC=8C=E5=AF=BC=E8=87=B4=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/controllers/LoginController.php | 4 +++- .../services/MemberOfficeAccountService.php | 15 ++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/frontend/modules/member/controllers/LoginController.php b/app/frontend/modules/member/controllers/LoginController.php index ddc0aca7..c918eb9c 100644 --- a/app/frontend/modules/member/controllers/LoginController.php +++ b/app/frontend/modules/member/controllers/LoginController.php @@ -42,7 +42,9 @@ class LoginController extends ApiController $code = request()->input('code'); if (request()->input('iscode') == 1 || ($code !=1 && !empty($code))) { $className = new MemberOfficeAccountService(); - $className->getWechatOpenid(); + $res = $className->getWechatOpenid(); + + return $this->errorJson($res['json'], ['status' => $res['status']]); } if (!empty($type)) { $member = MemberFactory::create($type); diff --git a/app/frontend/modules/member/services/MemberOfficeAccountService.php b/app/frontend/modules/member/services/MemberOfficeAccountService.php index 96f4a35b..a7252464 100644 --- a/app/frontend/modules/member/services/MemberOfficeAccountService.php +++ b/app/frontend/modules/member/services/MemberOfficeAccountService.php @@ -85,8 +85,7 @@ class MemberOfficeAccountService extends MemberService } - public function getWechatOpenid() - { + public function getWechatOpenid(){ $uniacid = \YunShop::app()->uniacid; $code = \YunShop::request()->code; $account = AccountWechats::getAccountByUniacid($uniacid); @@ -96,6 +95,7 @@ class MemberOfficeAccountService extends MemberService $callback = ($_SERVER['REQUEST_SCHEME'] ? $_SERVER['REQUEST_SCHEME'] : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $authurl = $this->_getAuthBaseUrl($appId, $callback, $state); $tokenurl = $this->_getTokenUrl($appId, $appSecret, $code); + if (!empty($code)) { $redirect_url = base64_decode(\YunShop::request()->page).'&code=1'; $token = \Curl::to($tokenurl) @@ -104,11 +104,12 @@ class MemberOfficeAccountService extends MemberService if (!empty($token) && !empty($token['errmsg']) && $token['errmsg'] == 'invalid code') { return show_json(5, 'token请求错误'); } - $userinfo = $this->getUserInfo($appId, $appSecret, $token); - if (is_array($userinfo) && !empty($userinfo['errcode'])) { - \Log::debug('微信登陆授权失败-' . $userinfo['errcode']); - return show_json(-3, '微信登陆授权失败'); - } + // todo 2024-5-24 注释,添加该内容时;未关注公众号用户登录失败,直接报错;直接进注释操作(不清除后续没有用到userinfo 为什么会进行一次查询) + // $userinfo = $this->getUserInfo($appId, $appSecret, $token); + // if (is_array($userinfo) && !empty($userinfo['errcode'])) { + // \Log::debug('微信登陆授权失败-' . $userinfo['errcode']); + // return show_json(-3, $userinfo['errmsg']); + // } Session::set('wx_open_id', $token['openid']); redirect($redirect_url)->send(); } else {