|
|
@@ -86,7 +86,7 @@ class WechatService extends BaseService
|
|
|
*/
|
|
|
public static function auth()
|
|
|
{
|
|
|
- $userInfo = WechatService::getUserInfo();
|
|
|
+ $userInfo = WechatService::getUserInfo('', true);
|
|
|
$openid = isset($userInfo['openid'])? $userInfo['openid'] : '';
|
|
|
$cacheKey = 'weixin:init:'.get_client_ip().'_'.$openid;
|
|
|
if (empty($userInfo) || empty($openid)) {
|
|
|
@@ -214,7 +214,7 @@ class WechatService extends BaseService
|
|
|
$token = isset($tokenData['token']) ? trim($tokenData['token']) : '';
|
|
|
if (($expire && $expire < time()) || empty($token)) {
|
|
|
|
|
|
- $tokenData = WechatService::getTempAccessToken($key, true);
|
|
|
+ //$tokenData = WechatService::getTempAccessToken($key, true);
|
|
|
}
|
|
|
|
|
|
if ($key) {
|
|
|
@@ -276,11 +276,13 @@ class WechatService extends BaseService
|
|
|
* @param string $openid 获取的用户OPENID,默认当前用户
|
|
|
* @return mixed
|
|
|
*/
|
|
|
- public static function getUserInfo($curOpenid = '', $refreshToken = false, $saveData = false)
|
|
|
+ public static function getUserInfo($curOpenid = '', $saveData = false)
|
|
|
{
|
|
|
- $tokenData = WechatService::getTempAccessToken('', $refreshToken);
|
|
|
+ $code= request()->get('code','');
|
|
|
+ $tokenData = WechatService::getTempAccessToken();
|
|
|
$token = isset($tokenData['token']) ? trim($tokenData['token']) : '';
|
|
|
$openid = isset($tokenData['openid']) ? trim($tokenData['openid']) : '';
|
|
|
+ var_dump($tokenData);
|
|
|
if (empty($token)) {
|
|
|
return false;
|
|
|
}
|
|
|
@@ -290,15 +292,13 @@ class WechatService extends BaseService
|
|
|
RedisService::set("caches:userInfo:request_{$openid}",['token'=> $tokenData,'url'=> $url], 600);
|
|
|
$result = httpRequest($url);
|
|
|
$errcode = isset($result['errcode']) ? $result['errcode'] : '';
|
|
|
- $cacheCount = RedisService::get('caches:weixin:userInfoCount:' . $openid);
|
|
|
- if (empty($result) || ($errcode && $cacheCount <= 3)) {
|
|
|
- // 更新TOKEN重新获取
|
|
|
- RedisService::set('caches:weixin:userInfoCount:' . $openid, $cacheCount + 1, 600);
|
|
|
- $result = WechatService::getUserInfo($curOpenid, $errcode ? true : false);
|
|
|
+ RedisService::set('caches:weixin:userInfo:result_'.$openid, $result, 600);
|
|
|
+ if (empty($result) || $errcode) {
|
|
|
+ RedisService::keyDel('caches:tokens:access_temp:' . $code);
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
- RedisService::set('caches:weixin:userInfo:'.$openid, $result, 600);
|
|
|
- if ($saveData && empty($errcode)) {
|
|
|
+ if ($saveData) {
|
|
|
$wxData = [
|
|
|
'openid' => $openid,
|
|
|
'nickname' => isset($result['nickname']) ? $result['nickname'] : '',
|