package com.iamberry.app.api.util; import java.io.Serializable; import org.apache.commons.lang3.StringUtils; /** * @company 深圳爱贝源科技有限公司 * @website www.iamberry.com * @author 献 * @tel 18271840547 * @date 2016年12月8日 * @explain APP版本,用于定位接口版本 */ public class AppVersion implements Serializable { private static final long serialVersionUID = 6519521054213394115L; /** * 手机系统: * 1、Android * 2、iOS * 3、其他 */ private int os; /** * 手机型号 */ private int version; public int getOs() { return os; } public void setOs(int os) { this.os = os; } public int getVersion() { return version; } public void setVersion(int version) { this.version = version; } public AppVersion(int os, int version) { super(); this.os = os; this.version = version; } /** * 解析APP版本 * @param userAgent * @return * @author 献 * @Time 2016年12月8日 */ public static AppVersion parseUserAgent(String userAgent) { userAgent = userAgent.toLowerCase(); if (userAgent.indexOf("ios") != -1) { // iOS return new AppVersion(2, parseVersion(userAgent)); } else if (userAgent.indexOf("android") != -1) { // Android return new AppVersion(1, parseVersion(userAgent)); } // 其他 return new AppVersion(3, parseVersion(userAgent)); } /** * 解析版本号 * @param agent * @return * @author 献 * @Time 2016年12月8日 */ private static int parseVersion(String agent) { int index = StringUtils.indexOf(agent, "/"); agent = StringUtils.substring(agent, index+1); index = StringUtils.indexOf(agent, " "); index = index == -1 ? StringUtils.indexOf(agent, "(") : index; try {return Integer.parseInt(StringUtils.replace(StringUtils.substring(agent, 0, index), ".", ""));} catch (Exception e) {return 0;} } public String toString() { return "{\"os\":\"" + os + "\", \"version\":\"" + version + "\"}"; } }