用户设备、UA检测 相关

用户设备、UA检测 相关

https://github.com/jenssegers/agent

//识别移动设备
//$agent->isMobile();//手机
//$agent->isTablet();//平板
//$agent->isDesktop();//桌面端

//获取设备信息
//$agent->device();

//操作系统信息
//$agent->platform();

//浏览器信息
//$agent->browser();



// 获取浏览器版本
//$browser = $agent->browser();
//$version = $agent->version($browser);
// 获取系统版本
//$platform = $agent->platform();
//$version = $agent->version($platform);

// https://github.com/jenssegers/agent
// http://www.thinkphp.cn/code/3991.html

设备标识。。。

device_id: 869072037059739,869072037359733
user-agent: Redmi Note 5(Android/8.1.0) (com.bo3158.bohua/1.0.0) Weex/0.26.0 1080x2030
device_id: 869072037059739,869072037359733

User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1
User-Agent: Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1
user-agent: Redmi Note 5(Android/8.1.0) (com.bo3158.bohua/1.0.0) Weex/0.26.0 1080x2030

参考: http://www.thinkphp.cn/code/3991.html

jenssegers/agent 的问题

本质上也是调用的是mobiledetect

$ua = 'iPhone9,1(iOS/12.4.1) Uninview(Uninview/1.0.0) Weex/0.26.0 640x1136';
$ua = 'iPhone10,3(iOS/12.1.4) Uninview(Uninview/1.0.0) Weex/0.26.0 1125x2436';
$ua = 'iPhone8,1(iOS/13.1.3) Uninview(Uninview/1.0.0) Weex/0.26.0 750x1334';

上面的ua就无法匹配出对应的系统,看了源码的正则配置如下:


'iPhone'        => '\biPhone\b|\biPod\b'    

改成  'iPhone'=> '\biPhone|\biPod\b'


 'iOS'               => '\biPhone.*Mobile|\biPod|\biPad|AppleCoreMedia',   

改成   ‘iOS’=> '\biPhone|\biPod|\biPad|AppleCoreMedia'


解决办法就是继承类,改造她娘的

http://mobiledetect.net/

https://github.com/serbanghita/Mobile-Detect/

posted @ 2019-10-14 16:25  ncsb  阅读(717)  评论(0编辑  收藏  举报