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 {