UNPKG

@ozo/react-rock

Version:

React 移动端开发脚手架,基于CRA3,通用、开箱即用。

57 lines (48 loc) 1.75 kB
// 设备或系统相关方法 // 获取设备userAgent export const UA = navigator.userAgent.toLowerCase(); // 判断是在浏览器还是App的webview中 export const isWebView = (() => { if (UA.indexOf('cordova') >= 0) { return true; } return false; })(); // 判断设备的类型是 android 或 iphone export const getDeviceType = () => { if (UA.indexOf('iphone') !== -1) { return 'iphone'; } return 'android'; }; // 获取ios版本号,如果不是ios返回"" export const getIOSVersion = () => { const ver = UA.match(/cpu iphone os (.*?) like mac os/); if (ver) { // 将版本信息中的_转换为.,如"11_4_1"转为"11.4.1" const tVer = ver[1].replace(/_/g, '.'); console.log(`当前IOS系统版本为:${tVer}`); return tVer; } else { return ''; } }; /** * 根据UA判断是否为微信内置浏览器,包括微信和企业微信 * 示例:iphone 6 plus中微信浏览器与企业微信浏览器截取的ua: * 企业微信UA:"Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 wxwork/2.4.2 MicroMessenger/6.3.22 Language/zh" * 微信浏览器UA:"Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 MicroMessenger/6.5.23 NetType/WIFI Language/zh_CN" * @returns {boolean} true/false */ export const isMicroMessenger = () => { const tUA = UA.match(/micromessenger/i); if (tUA && tUA.indexOf('micromessenger') > -1) { return true; } else { return false; } }; // 是否处于企业微信中 export const inWxWork = () => { return isMicroMessenger() && /wxwork/.test(UA); };