mirror of
https://gitee.com/zoujingli/ThinkAdmin.git
synced 2025-04-23 18:00:29 +08:00
[更新]增加又模式网页授权兼容
This commit is contained in:
parent
0d2dc60c73
commit
000c328161
@ -104,19 +104,22 @@ class WechatService
|
|||||||
$wechat = self::oauth();
|
$wechat = self::oauth();
|
||||||
if (request()->get('state') !== $appid) {
|
if (request()->get('state') !== $appid) {
|
||||||
$snsapi = empty($fullMode) ? 'snsapi_base' : 'snsapi_userinfo';
|
$snsapi = empty($fullMode) ? 'snsapi_base' : 'snsapi_userinfo';
|
||||||
$OauthUrl = $wechat->getOauthRedirect(request()->url(true), $appid, $snsapi);
|
$baseUrl = request()->url(true);
|
||||||
|
$param = (strpos($baseUrl, '?') !== false ? '&' : '?') . 'rcode=' . encode($baseUrl);
|
||||||
|
$OauthUrl = $wechat->getOauthRedirect($baseUrl . $param, $appid, $snsapi);
|
||||||
redirect($OauthUrl, [], 301)->send();
|
redirect($OauthUrl, [], 301)->send();
|
||||||
}
|
}
|
||||||
$token = $wechat->getOauthAccessToken();
|
$token = $wechat->getOauthAccessToken();
|
||||||
if (isset($token['openid'])) {
|
if (isset($token['openid'])) {
|
||||||
session("{$appid}_openid", $openid = $token['openid']);
|
session("{$appid}_openid", $openid = $token['openid']);
|
||||||
if (empty($fullMode)) {
|
if (empty($fullMode) && request()->get('rcode')) {
|
||||||
return ['openid' => $openid, 'fansinfo' => []];
|
redirect(decode(request()->get('rcode')))->send();
|
||||||
}
|
}
|
||||||
session("{$appid}_fansinfo", $fansinfo = $wechat->getUserInfo($token['access_token'], $openid));
|
session("{$appid}_fansinfo", $fansinfo = $wechat->getUserInfo($token['access_token'], $openid));
|
||||||
empty($fansinfo) || FansService::set($fansinfo);
|
empty($fansinfo) || FansService::set($fansinfo);
|
||||||
}
|
}
|
||||||
return ['openid' => $openid, 'fansinfo' => $fansinfo];
|
redirect(decode(request()->get('rcode')))->send();
|
||||||
|
break;
|
||||||
case 'thr':
|
case 'thr':
|
||||||
default:
|
default:
|
||||||
$service = self::instance('wechat');
|
$service = self::instance('wechat');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user