/*
* @Autor: 肖皓文
* @Date: 2020-12-21 19:24:11
*/
/**
* @return { Object }
*/
const ua = navigator.userAgent.toLowerCase();
const platform = {};
const MAP_EXP = {
Weixin: /micromessenger/i,
Mac: /(mac os x)\s+([\w_]+)/,
Windows: /(windows nt)\s+([\w.]+)/,
Ios: /(i(?:pad|phone|pod))(?:.*)cpu(?: i(?:pad|phone|pod))? os (\d+(?:[\.|_]\d+){1,})/,
Android: /(android)\s+([\d.]+)/,
Ipad: /(ipad).*os\s([\d_]+)/,
Iphone: /(iphone\sos)\s([\d_]+)/,
};
for (let key in MAP_EXP) {
const uaMatch = ua.match(MAP_EXP[key]);
platform[`is${key}`] = !!uaMatch;
if (!!uaMatch && !platform.version) {
platform.version = key === 'Ios' ? uaMatch[2].replace(/_/g, '.') : uaMatch[2];
}
}
export { platform };
实现的核心代码 目前只支持检测 微信 mac windows ios android ipad iphone
使用场景主要在微信 pc系统的型号没有做太多处理