From ddd69bc3176b4cc0d331bcb8442655fd79fd066a Mon Sep 17 00:00:00 2001 From: youda Date: Sat, 19 Apr 2025 16:46:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/Login.php | 50 ++++++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/app/api/controller/Login.php b/app/api/controller/Login.php index bf0e17c..b690da4 100755 --- a/app/api/controller/Login.php +++ b/app/api/controller/Login.php @@ -183,12 +183,18 @@ class Login extends Base */ public function login() { + // 初始化日志收集变量 + $logMessages = []; try { $code = request()->param("code", ''); if (empty($code)) { + $logMessages[] = '用户未获取到code:' . $code; + Log::error(end($logMessages)); return $this->renderError('请求参数错误'); } + + $logMessages[] = '用户开始登录: ' . $code; $click_id = request()->header('clickid'); $wxServer = new \app\common\server\Wx($this->app); $user_base = $wxServer->getOpenid($code); @@ -241,6 +247,7 @@ class Login extends Base } else { } + // 检查UserAccount是否存在 $userAccount = UserAccount::where(['user_id' => $user['id']])->find(); if ($userAccount) { @@ -272,7 +279,6 @@ class Login extends Base ]); } - // 记录用户登录日志(每天只记录一次) UserLoginLog::recordLogin( $user['id'], @@ -281,32 +287,35 @@ class Login extends Base ''//$ip_province . $ip_city ); + $logMessages[] = '用户登录成功: ' . $code . ' 用户ID: ' . $user['id'] . '用户手机号' . $user['mobile']; + // 输出收集的所有日志 + Log::info(implode("==》", $logMessages)); + return $this->renderSuccess("登录成功", $account_token); } else { $nickname = request()->param('nickname', ''); $headimg = request()->param('headimg', ''); - if (!$nickname) { - return $this->renderError('请求参数错误!'); - } + // if (!$nickname) { + // return $this->renderError('请求参数错误!'); + // } $pid = 0; $pid_pid = request()->param('pid', 0); - if ($pid_pid > 0) { - log::info("获取推荐人id" . $pid_pid); - } + $randx = rand(1000, 9999); - if ($nickname == "微信用户") { - $nickname = $nickname . $randx; - } + $nickname = "微信用户" . $randx; + $logMessages[] = $nickname; + $randx = rand(10000, 99999); $identicon = new \Identicon\Identicon(); $imageData = $identicon->getImageData($openid . $nickname); $uploadResult = $this->uploader->uploadFile($imageData, "storage/users/icon/default/" . $randx . ".png"); $headimg = $uploadResult['full_url']; if ($pid_pid) { + $logMessages[] = "尝试获取推荐人ID: " . $pid_pid; $pid_info = User::where('id', '=', $pid_pid)->value("id"); if ($pid_info) { - log::info("获取推荐人id" . $pid_info); + $logMessages[] = "获取推荐人ID成功: " . $pid_info; $pid = $pid_info; } } @@ -339,12 +348,10 @@ class Login extends Base $redis = (new RedisHelper())->getRedis(); $lockKey = 'user:beta_reward:' . $user_id; if ($redis->set($lockKey, 1, ['nx', 'ex' => 60])) { - try { - $res[] = User::changeMoney($user_id, 50000, 8, '内测免费送'); - } finally { - // 释放锁 - $redis->del($lockKey); - } + $res[] = User::changeMoney($user_id, 50000, 8, '内测免费送'); + $logMessages[] = '赠送钻石: 50000'; + // 释放锁 + $redis->del($lockKey); } } } @@ -403,10 +410,19 @@ class Login extends Base ''//$ip_province . $ip_city ); + $logMessages[] = '==》用户注册成功: ' . $code . ' 用户ID: ' . $user_id; + // 输出收集的所有日志 + Log::info(implode("==>", $logMessages)); + Db::commit(); return $this->renderSuccess("登录成功", $account_token); } else { Db::rollback(); + + $logMessages[] = '==》用户注册失败: ' . $code . ' 用户ID: ' . $user_id; + // 输出收集的所有日志 + Log::info(implode("==>", $logMessages)); + return $this->renderError("登录失败"); } }