/**
|
* Copyright © 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
|
*/
|
package com.javaweb.common.utils.useragent;
|
|
|
import eu.bitwalker.useragentutils.Browser;
|
import eu.bitwalker.useragentutils.DeviceType;
|
import eu.bitwalker.useragentutils.UserAgent;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
/**
|
* 用户代理字符串识别工具
|
* @author wujiyue
|
* @version 2014-6-13
|
*/
|
public class UserAgentUtils {
|
|
/**
|
* 获取用户代理对象
|
* @param request
|
* @return
|
*/
|
public static UserAgent getUserAgent(HttpServletRequest request){
|
return UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
|
}
|
|
/**
|
* 获取设备类型
|
* @param request
|
* @return
|
*/
|
public static DeviceType getDeviceType(HttpServletRequest request){
|
return getUserAgent(request).getOperatingSystem().getDeviceType();
|
}
|
|
/**
|
* 是否是PC
|
* @param request
|
* @return
|
*/
|
public static boolean isComputer(HttpServletRequest request){
|
return DeviceType.COMPUTER.equals(getDeviceType(request));
|
}
|
/**
|
* 判断 是否是微信浏览器
|
* @param request
|
* @return
|
*/
|
public static boolean isWeixin(HttpServletRequest request){
|
String userAgent = request.getHeader("user-agent").toLowerCase();
|
if(userAgent.indexOf("micromessenger")>-1){//微信客户端
|
return true;
|
}else{
|
return false;
|
}
|
}
|
|
/**
|
* 是否是手机
|
* @param request
|
* @return
|
*/
|
public static boolean isMobile(HttpServletRequest request){
|
return DeviceType.MOBILE.equals(getDeviceType(request));
|
}
|
|
/**
|
* 是否是平板
|
* @param request
|
* @return
|
*/
|
public static boolean isTablet(HttpServletRequest request){
|
return DeviceType.TABLET.equals(getDeviceType(request));
|
}
|
|
/**
|
* 是否是手机和平板
|
* @param request
|
* @return
|
*/
|
public static boolean isMobileOrTablet(HttpServletRequest request){
|
DeviceType deviceType = getDeviceType(request);
|
return DeviceType.MOBILE.equals(deviceType) || DeviceType.TABLET.equals(deviceType);
|
}
|
|
/**
|
* 获取浏览类型
|
* @param request
|
* @return
|
*/
|
public static Browser getBrowser(HttpServletRequest request){
|
return getUserAgent(request).getBrowser();
|
}
|
|
/**
|
* 是否IE版本是否小于等于IE8
|
* @param request
|
* @return
|
*/
|
public static boolean isLteIE8(HttpServletRequest request){
|
Browser browser = getBrowser(request);
|
return Browser.IE5.equals(browser) || Browser.IE6.equals(browser)
|
|| Browser.IE7.equals(browser) || Browser.IE8.equals(browser);
|
}
|
|
}
|