您现在的位置是:网站首页 > 心得笔记
安装laravel扩展包-----Laravel User Agent 轻松识别客户端信息
简介laravel-agent 是一个为 Laravel 定制的客户端识别扩展包, 基于 Mobile Detect , 提供了非常优雅的接口.
安装
1.cmd切换到laravel项目目录下,命令行模式运行
composer require jenssegers/agent
安装完成后,会在vendor看到有jenssegers文件夹
2.修改 app/config/app.php 添加 ServiceProvider
Jenssegers\Agent\AgentServiceProvider::class,
3.修改 app/config/app.php 添加 alias
'Agent' => Jenssegers\Agent\Facades\Agent::class,
基础用法
调用Jenssegers类
// 操作系统
Agent::is('Windows');
Agent::is('Firefox');
Agent::is('iPhone');
Agent::is('OS X');
// 厂商产品定位
Agent::isAndroidOS();
Agent::isNexus();
Agent::isSafari();
// 设备类型
Agent::isMobile();
Agent::isTablet();
Agent::isDesktop();
// 语言
$languages = Agent::languages();
// ['nl-nl', 'nl', 'en-us', 'en']
// 是否是机器人
Agent::isRobot();
// 获取设备信息 (iPhone, Nexus, AsusTablet, ...)
Agent::device();
// 系统信息 (Ubuntu, Windows, OS X, ...)
Agent::platform();
// 浏览器信息 (Chrome, IE, Safari, Firefox, ...)
Agent::browser();
// 获取浏览器版本
$browser = Agent::browser();
$version = Agent::version($browser);
// 获取系统版本
$platform = Agent::platform();
$version = Agent::version($platform);
实例
后台登录日志,用来记录登录后台人员情况。我数据表log_action_login中有字段:login_ip(登录IP)、platform_version(系统版本)、browser_version(浏览器版本)、browser(浏览器信息 Chrome, IE, Safari, Firefox, …)、platform( 系统信息 Ubuntu, Windows, OS X, …)、location(登录IP对应的地理位置信息)等等
/**
* @功能:登录日志写入
* @author Sheng Yue
* @time 2018/11/8
*/
public static function logLogin ($userId=0) {
$login_ip = self::getIPaddress();//登录IP
$location = serialize(GeoIP::getLocation($login_ip));
$platform = Agent::platform();// 系统信息 (Ubuntu, Windows, OS X, ...)
$platform_version = Agent::version($platform);// 获取系统版本
$browser = Agent::browser();// 浏览器信息 (Chrome, IE, Safari, Firefox, ...)
$browser_version = Agent::version($browser);// 获取浏览器版本
$data = [
'login_ip' => $login_ip,
'location' => $location,
'platform' => $platform,
'platform_version' => $platform_version,
'browser' => $browser,
'browser_version' => $browser_version,
'login_time' => date('Y-m-d H:i:s')
];
DB::table('log_action_login')->insert($data);
}
上一篇:laravel框架中发送邮件