编程

Laravel 地理位置管理包 GeoGenius

8 2025-10-07 18:36:00

Laravel 的 GeoGenius 包是一个处理地理位置、时区管理、多语言支持的轻量级的、灵活的包。它自动检索基于 IP 详细位置信息、检测用户时区、设置正确的本地化语言,甚至使用国家选择器和验证初始化电话输入框字段,将所有这些整合到应用中:

laravelGeoGenius()->geo()->locateVisitor();
laravelGeoGenius()->geo()->getCountry();
laravelGeoGenius()->geo()->getTimezone();
laravelGeoGenius()->geo()->getLatitude();

该包也支持使用此包提供的时区服务提供者进行时区检测和转换:

// Detect user's timezone
$timezone = laravelGeoGenius()->timezone()->getUserTimezone();
 
// Convert UTC datetime to user timezone
echo laravelGeoGenius()
    ->timezone()
    ->convertToUserTimezone('2025-09-13 15:00:00');

主要特性

  • 自动时区检测 — 通过 cookies、headers 或者 回调策略
  • 时区转换 Helper — 自动转换时间戳
  • 国家选择器 & 电话验证器 — 检测访客国家、显示下拉选项、格式化及验证数字
  • 轻量级 & 无依赖 — 无需 jQuery 或者前端框架支持
  • Livewire 兼容 — 与 Livewire 应用无缝协作
  • 可配置的检测策略 — 根据应用需求自定义检测方法
  • 迁移 & Artisan 支持 — add timezone column effortlessly
  • 缓存 & 离线支持 — 减少 API 调用并优雅地处理离线情况
  • 多语言支持 — 内置翻译及自动翻译支持

💻  GitHub 仓库: devrabiul/laravel-geo-genius

 

下一篇