diff --git a/docs/业务进度管理.md b/docs/业务进度管理.md index 7cbf2a14..f4b36b5d 100644 --- a/docs/业务进度管理.md +++ b/docs/业务进度管理.md @@ -13,6 +13,19 @@ ## 一、已完成事项 +### 130. 注册用户默认头像兜底 + +- 状态:代码已完成,待接口验收 - 时间:2026-08-03 + +完成内容: + +- 账号注册及验证码登录自动注册统一写入默认用户头像。 +- 当后台默认头像配置为空时,自动回退至项目内置默认头像路径,避免新用户头像字段为空。 + +涉及模块: + +- `server/app/api/logic/LoginLogic.php` + ### 129. 个人资料头像上传鉴权修复 - 状态:代码已完成,待 H5 验收 - 时间:2026-08-03 diff --git a/server/app/api/logic/LoginLogic.php b/server/app/api/logic/LoginLogic.php index 5f231863..f6d545b8 100644 --- a/server/app/api/logic/LoginLogic.php +++ b/server/app/api/logic/LoginLogic.php @@ -50,7 +50,7 @@ class LoginLogic extends BaseLogic $userSn = User::createUserSn(); $passwordSalt = Config::get('project.unique_identification'); $password = create_password($params['password'], $passwordSalt); - $avatar = ConfigService::get('default_image', 'user_avatar'); + $avatar = self::getDefaultUserAvatar(); $inviteCode = User::createInviteCode(); $inviterId = 0; @@ -128,7 +128,7 @@ class LoginLogic extends BaseLogic // is_bind_mobile: sms_upload匹配=1,缓存码匹配但sms_upload不匹配=0,都不匹配=0 $isPhoneReal = $smsMatched ? 1 : 0; $userSn = User::createUserSn(); - $avatar = ConfigService::get('default_image', 'user_avatar'); + $avatar = self::getDefaultUserAvatar(); $inviteCode = User::createInviteCode(); $inviterId = 0; if (!empty($params['inviter_code'])) { @@ -216,6 +216,15 @@ class LoginLogic extends BaseLogic return UserTokenService::expireToken($userInfo['token']); } + /** + * 获取注册用户默认头像,后台配置为空时回退到项目内置头像。 + */ + private static function getDefaultUserAvatar(): string + { + $defaultAvatar = (string) Config::get('project.default_image.user_avatar', ''); + return (string) ConfigService::get('default_image', 'user_avatar', $defaultAvatar) ?: $defaultAvatar; + } + /** * @notes 获取微信请求code的链接