UNPKG

weex-nuke

Version:

基于 Rax 、Weex 的高性能组件体系 ~~

69 lines (61 loc) 1.93 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.webEnv = undefined; var _miniUaParser = require('./mini-ua-parser.js'); var _env = require('./env.js'); var env = _interopRequireWildcard(_env); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } var webEnv = Object.assign({}, env); var userAgent = ''; try { userAgent = navigator.userAgent.toLowerCase(); } catch (e) {} var appInfo = ''; var params = {}; var runtimeInfo = {}; var parsedUA = new _miniUaParser.UAParser().getResult(); appInfo = { platform: parsedUA.os.name || '', osVersion: parsedUA.os.version || '', isInAliApp: /AliApp/i.test(userAgent), deviceModel: parsedUA.device.model, isWindVane: /WindVane/i.test(userAgent) }; var appVersion = void 0; var appName = void 0; if (appInfo.isInAliApp) { try { var matchResult = userAgent.match(/AliApp\(([a-z-A-Z]{1,20})\/(\d+(\.\d+){0,3})?\)/i); if (matchResult && matchResult.length >= 3) { appName = matchResult[1]; appVersion = matchResult[2]; } } catch (e) {} if (appName) { appInfo.appName = appName; } if (appVersion) { appInfo.appVersion = appVersion; } } if (appInfo.appName === 'QN') { webEnv.isQNWeb = true; webEnv.isQNWeex = false; } if (window.location.search) { var searchString = window.location.search.substring(1); var i = void 0; var val = void 0; var paramsArr = searchString.split('&'); for (i = 0; i < paramsArr.length; i += 1) { val = paramsArr[i].split('='); params[val[0]] = decodeURIComponent(val[1]); } } webEnv.appInfo = appInfo; webEnv.params = params; webEnv.runtimeInfo = runtimeInfo; webEnv.UAParser = _miniUaParser.UAParser; exports.webEnv = webEnv;