您现在的位置是:网站首页 > 心得笔记

安装laravel扩展包-----Laravel User Agent 轻松识别客户端信息

盛悦2018-12-12725人围观
简介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);
        }