This commit is contained in:
youda 2025-04-19 16:46:41 +08:00
parent 276be1d6d8
commit ddd69bc317

View File

@ -183,12 +183,18 @@ class Login extends Base
*/ */
public function login() public function login()
{ {
// 初始化日志收集变量
$logMessages = [];
try { try {
$code = request()->param("code", ''); $code = request()->param("code", '');
if (empty($code)) { if (empty($code)) {
$logMessages[] = '用户未获取到code:' . $code;
Log::error(end($logMessages));
return $this->renderError('请求参数错误'); return $this->renderError('请求参数错误');
} }
$logMessages[] = '用户开始登录: ' . $code;
$click_id = request()->header('clickid'); $click_id = request()->header('clickid');
$wxServer = new \app\common\server\Wx($this->app); $wxServer = new \app\common\server\Wx($this->app);
$user_base = $wxServer->getOpenid($code); $user_base = $wxServer->getOpenid($code);
@ -241,6 +247,7 @@ class Login extends Base
} else { } else {
} }
// 检查UserAccount是否存在 // 检查UserAccount是否存在
$userAccount = UserAccount::where(['user_id' => $user['id']])->find(); $userAccount = UserAccount::where(['user_id' => $user['id']])->find();
if ($userAccount) { if ($userAccount) {
@ -272,7 +279,6 @@ class Login extends Base
]); ]);
} }
// 记录用户登录日志(每天只记录一次) // 记录用户登录日志(每天只记录一次)
UserLoginLog::recordLogin( UserLoginLog::recordLogin(
$user['id'], $user['id'],
@ -281,32 +287,35 @@ class Login extends Base
''//$ip_province . $ip_city ''//$ip_province . $ip_city
); );
$logMessages[] = '用户登录成功: ' . $code . ' 用户ID: ' . $user['id'] . '用户手机号' . $user['mobile'];
// 输出收集的所有日志
Log::info(implode("==》", $logMessages));
return $this->renderSuccess("登录成功", $account_token); return $this->renderSuccess("登录成功", $account_token);
} else { } else {
$nickname = request()->param('nickname', ''); $nickname = request()->param('nickname', '');
$headimg = request()->param('headimg', ''); $headimg = request()->param('headimg', '');
if (!$nickname) { // if (!$nickname) {
return $this->renderError('请求参数错误!'); // return $this->renderError('请求参数错误!');
} // }
$pid = 0; $pid = 0;
$pid_pid = request()->param('pid', 0); $pid_pid = request()->param('pid', 0);
if ($pid_pid > 0) {
log::info("获取推荐人id" . $pid_pid);
}
$randx = rand(1000, 9999); $randx = rand(1000, 9999);
if ($nickname == "微信用户") { $nickname = "微信用户" . $randx;
$nickname = $nickname . $randx; $logMessages[] = $nickname;
} $randx = rand(10000, 99999);
$identicon = new \Identicon\Identicon(); $identicon = new \Identicon\Identicon();
$imageData = $identicon->getImageData($openid . $nickname); $imageData = $identicon->getImageData($openid . $nickname);
$uploadResult = $this->uploader->uploadFile($imageData, "storage/users/icon/default/" . $randx . ".png"); $uploadResult = $this->uploader->uploadFile($imageData, "storage/users/icon/default/" . $randx . ".png");
$headimg = $uploadResult['full_url']; $headimg = $uploadResult['full_url'];
if ($pid_pid) { if ($pid_pid) {
$logMessages[] = "尝试获取推荐人ID: " . $pid_pid;
$pid_info = User::where('id', '=', $pid_pid)->value("id"); $pid_info = User::where('id', '=', $pid_pid)->value("id");
if ($pid_info) { if ($pid_info) {
log::info("获取推荐人id" . $pid_info); $logMessages[] = "获取推荐人ID成功: " . $pid_info;
$pid = $pid_info; $pid = $pid_info;
} }
} }
@ -339,15 +348,13 @@ class Login extends Base
$redis = (new RedisHelper())->getRedis(); $redis = (new RedisHelper())->getRedis();
$lockKey = 'user:beta_reward:' . $user_id; $lockKey = 'user:beta_reward:' . $user_id;
if ($redis->set($lockKey, 1, ['nx', 'ex' => 60])) { if ($redis->set($lockKey, 1, ['nx', 'ex' => 60])) {
try {
$res[] = User::changeMoney($user_id, 50000, 8, '内测免费送'); $res[] = User::changeMoney($user_id, 50000, 8, '内测免费送');
} finally { $logMessages[] = '赠送钻石: 50000';
// 释放锁 // 释放锁
$redis->del($lockKey); $redis->del($lockKey);
} }
} }
} }
}
$time = time(); $time = time();
#token字符串 #token字符串
$token_num = getRandStr(10); $token_num = getRandStr(10);
@ -403,10 +410,19 @@ class Login extends Base
''//$ip_province . $ip_city ''//$ip_province . $ip_city
); );
$logMessages[] = '==》用户注册成功: ' . $code . ' 用户ID: ' . $user_id;
// 输出收集的所有日志
Log::info(implode("==>", $logMessages));
Db::commit(); Db::commit();
return $this->renderSuccess("登录成功", $account_token); return $this->renderSuccess("登录成功", $account_token);
} else { } else {
Db::rollback(); Db::rollback();
$logMessages[] = '==》用户注册失败: ' . $code . ' 用户ID: ' . $user_id;
// 输出收集的所有日志
Log::info(implode("==>", $logMessages));
return $this->renderError("登录失败"); return $this->renderError("登录失败");
} }
} }