From 0b2bdcf756cc95c087beb11428bfaa0232af5ef5 Mon Sep 17 00:00:00 2001 From: gongfuxiang Date: Mon, 21 Nov 2022 10:34:46 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=82=E9=85=8D=E5=BE=AE=E4=BF=A1=E6=96=B0?= =?UTF-8?q?=E8=A7=84=E7=99=BB=E5=BD=95=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/service/AppMiniUserService.php | 11 ++++++++++- app/service/UserService.php | 19 ++++++++++++------- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/app/service/AppMiniUserService.php b/app/service/AppMiniUserService.php index b5627c289..75c8ab4a5 100644 --- a/app/service/AppMiniUserService.php +++ b/app/service/AppMiniUserService.php @@ -170,7 +170,16 @@ class AppMiniUserService } if(empty($user)) { - $ret = DataReturn('授权登录成功', 0, ['is_user_exist'=>0, 'openid'=>$ret['data']['openid'], 'unionid'=>$unionid]); + // 微信已无用户端获取用户基础信息、直接添加用户 + $params['openid'] = $ret['data']['openid']; + $params['weixin_unionid'] = $unionid; + $params['nickname'] = '微信用户'; + $ret = UserService::AuthUserProgram($params, 'weixin_openid'); + // 存在用户id则添加用户存在标记 + if(!empty($ret['data']['id'])) + { + $ret['data']['is_user_exist'] = 1; + } } else { $status = false; // 如果用户openid为空则绑定到用户下面 diff --git a/app/service/UserService.php b/app/service/UserService.php index 7b3bb22f5..64fff0946 100755 --- a/app/service/UserService.php +++ b/app/service/UserService.php @@ -2100,12 +2100,6 @@ class UserService if(!empty($user)) { - // 会员码生成处理 - if(empty($user['number_code'])) - { - $user['number_code'] = self::UserNumberCodeCreatedHandle($user['id']); - } - // 用户信息处理 $user = self::UserHandle($user); @@ -2113,8 +2107,14 @@ class UserService $user['is_mandatory_bind_mobile'] = intval(MyC('common_user_is_mandatory_bind_mobile')); // 基础处理 - if(isset($user['id'])) + if(!empty($user['id'])) { + // 会员码生成处理 + if(empty($user['number_code'])) + { + $user['number_code'] = self::UserNumberCodeCreatedHandle($user['id']); + } + // 非token数据库校验,则重新生成token更新到数据库 if($where_field != 'token') { @@ -2386,6 +2386,11 @@ class UserService // url处理 case 'url' : $params[$k] = str_replace(['&'], ['&'], $params[$k]); + // 头像如果是默认则置空 + if($k == 'avatar' && !empty($params[$k]) && stripos($params[$k], 'default-user-avatar.jpg') !== false) + { + $params[$k] = ''; + } break; // 整数