修复:用户为关注公众号时 静默登录出现错误,导致登录失败
This commit is contained in:
parent
79c3c81ce1
commit
3f393509e3
|
|
@ -42,7 +42,9 @@ class LoginController extends ApiController
|
||||||
$code = request()->input('code');
|
$code = request()->input('code');
|
||||||
if (request()->input('iscode') == 1 || ($code !=1 && !empty($code))) {
|
if (request()->input('iscode') == 1 || ($code !=1 && !empty($code))) {
|
||||||
$className = new MemberOfficeAccountService();
|
$className = new MemberOfficeAccountService();
|
||||||
$className->getWechatOpenid();
|
$res = $className->getWechatOpenid();
|
||||||
|
|
||||||
|
return $this->errorJson($res['json'], ['status' => $res['status']]);
|
||||||
}
|
}
|
||||||
if (!empty($type)) {
|
if (!empty($type)) {
|
||||||
$member = MemberFactory::create($type);
|
$member = MemberFactory::create($type);
|
||||||
|
|
|
||||||
|
|
@ -85,8 +85,7 @@ class MemberOfficeAccountService extends MemberService
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function getWechatOpenid()
|
public function getWechatOpenid(){
|
||||||
{
|
|
||||||
$uniacid = \YunShop::app()->uniacid;
|
$uniacid = \YunShop::app()->uniacid;
|
||||||
$code = \YunShop::request()->code;
|
$code = \YunShop::request()->code;
|
||||||
$account = AccountWechats::getAccountByUniacid($uniacid);
|
$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'];
|
$callback = ($_SERVER['REQUEST_SCHEME'] ? $_SERVER['REQUEST_SCHEME'] : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
|
||||||
$authurl = $this->_getAuthBaseUrl($appId, $callback, $state);
|
$authurl = $this->_getAuthBaseUrl($appId, $callback, $state);
|
||||||
$tokenurl = $this->_getTokenUrl($appId, $appSecret, $code);
|
$tokenurl = $this->_getTokenUrl($appId, $appSecret, $code);
|
||||||
|
|
||||||
if (!empty($code)) {
|
if (!empty($code)) {
|
||||||
$redirect_url = base64_decode(\YunShop::request()->page).'&code=1';
|
$redirect_url = base64_decode(\YunShop::request()->page).'&code=1';
|
||||||
$token = \Curl::to($tokenurl)
|
$token = \Curl::to($tokenurl)
|
||||||
|
|
@ -104,11 +104,12 @@ class MemberOfficeAccountService extends MemberService
|
||||||
if (!empty($token) && !empty($token['errmsg']) && $token['errmsg'] == 'invalid code') {
|
if (!empty($token) && !empty($token['errmsg']) && $token['errmsg'] == 'invalid code') {
|
||||||
return show_json(5, 'token请求错误');
|
return show_json(5, 'token请求错误');
|
||||||
}
|
}
|
||||||
$userinfo = $this->getUserInfo($appId, $appSecret, $token);
|
// todo 2024-5-24 注释,添加该内容时;未关注公众号用户登录失败,直接报错;直接进注释操作(不清除后续没有用到userinfo 为什么会进行一次查询)
|
||||||
if (is_array($userinfo) && !empty($userinfo['errcode'])) {
|
// $userinfo = $this->getUserInfo($appId, $appSecret, $token);
|
||||||
\Log::debug('微信登陆授权失败-' . $userinfo['errcode']);
|
// if (is_array($userinfo) && !empty($userinfo['errcode'])) {
|
||||||
return show_json(-3, '微信登陆授权失败');
|
// \Log::debug('微信登陆授权失败-' . $userinfo['errcode']);
|
||||||
}
|
// return show_json(-3, $userinfo['errmsg']);
|
||||||
|
// }
|
||||||
Session::set('wx_open_id', $token['openid']);
|
Session::set('wx_open_id', $token['openid']);
|
||||||
redirect($redirect_url)->send();
|
redirect($redirect_url)->send();
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue