UNPKG

@alifd/meet-react

Version:

Fusion Mobile React UI System Component

107 lines (106 loc) 4.61 kB
"use strict"; exports.__esModule = true; exports.windowWidth = exports.windowHeight = exports.systemInfo = exports.screenWidth = exports.screenRate = exports.screenPixelRatio = exports.screenHeight = exports.osVersion = exports.osName = exports.isStrictWechatMiniProgram = exports.isStrictMiniApp = exports.isStrictByteDanceMicroApp = exports.isProduction = exports.isMiniappPlatform = exports.isIOS = exports.isAndroid = exports.dpr = void 0; var _env = require("@uni/env"); var _fp = require("./fp"); function formatVersion(v) { return String(v).replace(/_/g, '.'); } function getOSInfo(ua) { var OSList = { ios: /(like Mac OS X)/i, android: /Android/i, wp: /Windows Phone/i, bb: /(BlackBerry)|(RIM)/i, win: /(Windows 95)|(Win95)|(Windows_95)|(Windows ME)|(Windows 98)|(Win98)|(Windows NT 5.0)|(Windows 2000)|(Windows NT)|(WinNT)|(Windows XP)/i, linux: /(Linux)|(X11)/i, macos: /(Mac_PowerPC)|(Macintosh)/i, robot: /(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(ia_archiver)/i }; var os = { name: 'unknown', version: '0.0.0' }; if (/Windows\sPhone\s(?:OS\s)?([\d.]+)/.test(ua)) { os.version = RegExp.$1; } else if (/Safari/.test(ua) && /Android[\s/]([\d.]+)/.test(ua)) { os.version = RegExp.$1; } else if (/(iPhone|iPad|iPod)/.test(ua) && /OS ([\d_.]+) like Mac OS X/.test(ua)) { os.version = RegExp.$1; } os.version = formatVersion(os.version); for (var _osName in OSList) { var Reg = OSList[_osName]; if (Reg.test(ua)) { os.name = _osName; break; } } return os; } var isStrictMiniApp = exports.isStrictMiniApp = _env.isMiniApp && !_env.isWeb; var isStrictWechatMiniProgram = exports.isStrictWechatMiniProgram = _env.isWeChatMiniProgram && !_env.isWeb; var isStrictByteDanceMicroApp = exports.isStrictByteDanceMicroApp = _env.isByteDanceMicroApp && !_env.isWeb; var isMiniappPlatform = exports.isMiniappPlatform = !_env.isWeb && (_env.isMiniApp || _env.isWeChatMiniProgram || _env.isByteDanceMicroApp); var systemInfo; if (isStrictMiniApp) { exports.systemInfo = systemInfo = my.getSystemInfoSync(); } else if (isStrictWechatMiniProgram) { exports.systemInfo = systemInfo = wx.getSystemInfoSync(); } else if (isStrictByteDanceMicroApp) { exports.systemInfo = systemInfo = tt.getSystemInfoSync(); } var name = 'unknown'; var version = '0.0.0'; if (isStrictWechatMiniProgram) { var _systemInfo = systemInfo, system = _systemInfo.system; name = system.split(' ')[0].toLowerCase(); version = system.split(' ')[1]; } else if (isStrictMiniApp) { var _systemInfo2 = systemInfo, _system = _systemInfo2.system, platform = _systemInfo2.platform; name = platform.toLowerCase(); version = _system; } else if (isStrictByteDanceMicroApp) { var _systemInfo3 = systemInfo, _system2 = _systemInfo3.system, _platform = _systemInfo3.platform; name = _platform.toLowerCase(); version = _system2; } else if (_env.isNode) { exports.systemInfo = systemInfo = { screenWidth: 0, screenHeight: 0, windowWidth: 0, windowHeight: 0, devicePixelRatio: 1 }; } else { var UA = (0, _fp.isUndef)(navigator) ? '' : navigator.userAgent; var info = getOSInfo(UA); name = info.name; version = info.version; } var screenWidth = exports.screenWidth = systemInfo && !(0, _fp.isUndef)(systemInfo.screenWidth) ? systemInfo.screenWidth : window.screen.width; var screenHeight = exports.screenHeight = systemInfo && !(0, _fp.isUndef)(systemInfo.screenHeight) ? systemInfo.screenHeight : window.screen.height; var windowWidth = exports.windowWidth = systemInfo && !(0, _fp.isUndef)(systemInfo.windowWidth) ? systemInfo.windowWidth : document.documentElement.clientWidth; var windowHeight = exports.windowHeight = systemInfo && !(0, _fp.isUndef)(systemInfo.windowHeight) ? systemInfo.windowHeight : document.documentElement.clientHeight; var dpr = exports.dpr = systemInfo && (systemInfo.devicePixelRatio || systemInfo.pixelRatio) ? systemInfo.devicePixelRatio || systemInfo.pixelRatio : window.devicePixelRatio; var osName = exports.osName = name; var osVersion = exports.osVersion = version; var isIOS = exports.isIOS = name === 'ios'; var isAndroid = exports.isAndroid = name === 'android'; var screenRate = exports.screenRate = screenWidth / 750; var screenPixelRatio = exports.screenPixelRatio = isMiniappPlatform ? 1 : windowWidth / 750; var isProduction = function () { var result = false; try { if (process.env.NODE_ENV === 'production') { result = true; } } catch (err) {} return result; }; exports.isProduction = isProduction;