From d73dda6cd23631650959e903e5bd5a83d50bee62 Mon Sep 17 00:00:00 2001 From: lkddi Date: Fri, 27 Feb 2026 11:44:28 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20=E9=98=B2=E6=AD=A2=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E6=9C=AA=E8=BF=90=E8=A1=8C=20composer=20inst?= =?UTF-8?q?all=20=E5=AF=BC=E8=87=B4=20Location=20facade=20=E6=89=BE?= =?UTF-8?q?=E4=B8=8D=E5=88=B0=E5=BC=95=E5=8F=91=20500=20=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/UserController.php | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 2da41cc..607c7bd 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -67,16 +67,24 @@ class UserController extends Controller $data['last_ip'] = $targetUser->last_ip; $data['login_ip'] = $targetUser->login_ip; // 假设表中存在 login_ip 记录本次IP,若无则使用 last_ip 退化 - // 解析归属地 + // 解析归属地 (防崩溃处理:检查服务提供者是否已安装) $ipToLookup = $targetUser->login_ip ?: $targetUser->last_ip; if ($ipToLookup) { - $position = Location::get($ipToLookup); - if ($position) { - $data['location'] = ($position->countryName === 'China' || $position->countryName === 'Local') ? - ($position->regionName ?? '').' '.($position->cityName ?? '') : - $position->countryName; + if (class_exists('\Stevebauman\Location\Facades\Location')) { + try { + $position = Location::get($ipToLookup); + if ($position) { + $data['location'] = ($position->countryName === 'China' || $position->countryName === 'Local') ? + ($position->regionName ?? '') . ' ' . ($position->cityName ?? '') : + $position->countryName; + } else { + $data['location'] = '未知区域'; + } + } catch (\Exception $e) { + $data['location'] = '解析失败'; + } } else { - $data['location'] = '未知区域'; + $data['location'] = 'IP解析库未安装'; } } else { $data['location'] = '暂无记录';