wesmiler 2 months ago
parent
commit
9fae42754c
2 changed files with 23 additions and 9 deletions
  1. 1 1
      app/Helpers/common.php
  2. 22 8
      app/Services/Api/MemberService.php

+ 1 - 1
app/Helpers/common.php

@@ -1741,7 +1741,7 @@ if (!function_exists('save_remote_image')) {
      * @author laravel开发员
      * @date 2019/5/23
      */
-    function save_remote_image($img_url, $save_dir = '/')
+    function save_remote_image($img_url, $save_dir = 'remote')
     {
         $content = file_get_contents($img_url);
         if (!$content) {

+ 22 - 8
app/Services/Api/MemberService.php

@@ -193,9 +193,6 @@ class MemberService extends BaseService
             $loginInfo = MpService::make()->getWechatUserInfo($accessToken, $openid);
             $nickname = isset($loginInfo['nickname'])? $loginInfo['nickname'] : '';
             $avatar = isset($loginInfo['headimgurl'])? $loginInfo['headimgurl'] : '';
-            var_dump($loginInfo);
-            $avatar = $avatar? save_remote_image($avatar):'';
-            var_dump($avatar);
         }
 
 
@@ -211,7 +208,7 @@ class MemberService extends BaseService
             ->first();
         $data = $data ? $data->toArray() : [];
         $userId = isset($data['id']) ? $data['id'] : 0;
-        $avatar = isset($data['avatar']) ? $data['avatar'] : '';
+        $userAvatar = isset($data['avatar']) ? $data['avatar'] : '';
         $nickName = isset($data['nickname']) ? $data['nickname'] : '';
         $mobile = isset($data['mobile']) ? $data['mobile'] : '';
         $unionid = isset($data['unionid']) ? $data['unionid'] : '';
@@ -241,12 +238,17 @@ class MemberService extends BaseService
                 }
             }
 
+            // 下载远程头像
+            if($platform == 'wechat' && $avatar){
+                $avatar = save_remote_image($avatar);
+            }
+
 
             $data = [
-                'nickname' => '用户' . $userId,
+                'nickname' => $nickname? $nickname : '用户' . $userId,
                 'openid' => $openid,
                 'mobile' => '',
-                'avatar' => '',
+                'avatar' => $avatar,
                 'parent_id' => $rid,
                 'parents' => $parents,
                 'code' => get_random_code(9, 'S', $userId),
@@ -279,9 +281,21 @@ class MemberService extends BaseService
                 $updateData['openid'] = $openid;
             }
 
+            if(empty($userAvatar) && $avatar){
+                // 下载远程头像
+                if($platform == 'wechat'){
+                    $avatar = save_remote_image($avatar);
+                }
+                $updateData['avatar'] = $avatar;
+            }
+
+            if(empty($nickName) && $nickname){
+                $updateData['nickname'] = $nickname;
+            }
+
             if ($mark == 0) {
-                $data['nickname'] = '';
-                $data['avatar'] = '';
+                $data['nickname'] = $nickname;
+                $data['avatar'] = $avatar;
                 $data['mobile'] = '';
                 $data['openid'] = $openid;
                 $data['unionid'] = $unionid;