Explorar el Código

wesmiler 报恩寺项目

wesmiler hace 4 años
padre
commit
78f3a44ec9
Se han modificado 2 ficheros con 12 adiciones y 12 borrados
  1. 11 11
      app/Services/WechatService.php
  2. 1 1
      config/app.php

+ 11 - 11
app/Services/WechatService.php

@@ -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'] : '',

+ 1 - 1
config/app.php

@@ -76,7 +76,7 @@ return [
     |
     */
 
-    'timezone' => 'UTC',
+    'timezone' => 'PRC',
 
     /*
     |--------------------------------------------------------------------------