Fix: 防止生产环境未运行 composer install 导致 Location facade 找不到引发 500 错误
This commit is contained in:
@@ -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'] = '暂无记录';
|
||||
|
||||
Reference in New Issue
Block a user