This commit is contained in:
Looly 2022-11-12 20:43:13 +08:00
parent 05b20382c0
commit b4a5bb6a8d
3 changed files with 19 additions and 0 deletions

View File

@ -37,6 +37,8 @@ public class Browser extends UserAgentInfo {
new Browser("miniProgram", "miniProgram", Other_Version), new Browser("miniProgram", "miniProgram", Other_Version),
// QQ浏览器 // QQ浏览器
new Browser("QQBrowser", "MQQBrowser", "MQQBrowser\\/([\\d\\w\\.\\-]+)"), new Browser("QQBrowser", "MQQBrowser", "MQQBrowser\\/([\\d\\w\\.\\-]+)"),
// 钉钉PC端浏览器
new Browser("DingTalk-win", "dingtalk-win", "DingTalk\\(([\\d\\w\\.\\-]+)\\)"),
// 钉钉内置浏览器 // 钉钉内置浏览器
new Browser("DingTalk", "DingTalk", "AliApp\\(DingTalk\\/([\\d\\w\\.\\-]+)\\)"), new Browser("DingTalk", "DingTalk", "AliApp\\(DingTalk\\/([\\d\\w\\.\\-]+)\\)"),
// 支付宝内置浏览器 // 支付宝内置浏览器

View File

@ -14,6 +14,9 @@ import java.util.regex.Pattern;
public class UserAgentInfo implements Serializable { public class UserAgentInfo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* 未知类型
*/
public static final String NameUnknown = "Unknown"; public static final String NameUnknown = "Unknown";
/** 信息名称 */ /** 信息名称 */

View File

@ -412,4 +412,18 @@ public class UserAgentUtilTest {
final UserAgent ua = UserAgentUtil.parse(uaStr); final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("Linux", ua.getOs().toString()); Assert.assertEquals("Linux", ua.getOs().toString());
} }
@Test
public void issueI60UOPTest() {
final String uaStr = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36 dingtalk-win/1.0.0 nw(0.14.7) DingTalk(6.5.40-Release.9059101) Mojo/1.0.0 Native AppType(release) Channel/201200";
final UserAgent ua = UserAgentUtil.parse(uaStr);
Assert.assertEquals("DingTalk-win", ua.getBrowser().toString());
Assert.assertEquals("6.5.40-Release.9059101", ua.getVersion());
Assert.assertEquals("Webkit", ua.getEngine().toString());
Assert.assertEquals("537.36", ua.getEngineVersion());
Assert.assertEquals("Windows 10 or Windows Server 2016", ua.getOs().toString());
Assert.assertEquals("10.0", ua.getOsVersion());
Assert.assertEquals("Windows", ua.getPlatform().toString());
Assert.assertFalse(ua.isMobile());
}
} }