weex-nuke
Version:
基于 Rax 、Weex 的高性能组件体系 ~~
69 lines (61 loc) • 1.93 kB
JavaScript
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;
;