Fixed sometime getIPInfo return will cause error

This commit is contained in:
BrettonYe
2025-01-01 19:52:06 +08:00
parent 2cdbc31df7
commit 6485d89feb
3 changed files with 30 additions and 25 deletions

View File

@@ -172,15 +172,17 @@ class LogsController extends Controller
});
$onlineIPLogs = $query->groupBy(['user_id', 'node_id'])->latest()->paginate(20)->appends($request->except('page'));
foreach ($onlineIPLogs as $log) {
// 跳过上报多IP的
if ($log->ip === null || str_contains($log->ip, ',')) {
continue;
// 提前过滤 IP 数据以减少循环中的判断
$onlineIPLogs->transform(function ($log) {
if ($log->ip && ! str_contains($log->ip, ',')) {
$ipInfo = IP::getIPInfo($log->ip);
if ($ipInfo) {
$log->ipInfo = $ipInfo['address'].' '.$ipInfo['isp'];
}
}
$ipInfo = IP::getIPInfo($log->ip);
$log->ipInfo = $ipInfo['address'].' '.$ipInfo['isp'];
}
return $log;
});
return view('admin.logs.onlineIPMonitor', [
'onlineIPLogs' => $onlineIPLogs,