@cloudcare/browser-core 3.1.3 → 3.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,6 +8,8 @@ exports.areCookiesAuthorized = areCookiesAuthorized;
8
8
  exports.deleteCookie = deleteCookie;
9
9
  exports.getCookie = getCookie;
10
10
  exports.getCurrentSite = getCurrentSite;
11
+ exports.getInitCookie = getInitCookie;
12
+ exports.resetInitCookies = resetInitCookies;
11
13
  exports.setCookie = setCookie;
12
14
  var _tools = require("../helper/tools");
13
15
  var COOKIE_ACCESS_DELAY = _tools.ONE_SECOND;
@@ -24,6 +26,20 @@ function setCookie(name, value, expireDelay, options) {
24
26
  function getCookie(name) {
25
27
  return (0, _tools.findCommaSeparatedValue)(document.cookie, name);
26
28
  }
29
+ var initCookieParsed;
30
+ /**
31
+ * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)
32
+ * to avoid accessing document.cookie multiple times.
33
+ */
34
+ function getInitCookie(name) {
35
+ if (!initCookieParsed) {
36
+ initCookieParsed = (0, _tools.findCommaSeparatedValues)(document.cookie);
37
+ }
38
+ return initCookieParsed.get(name);
39
+ }
40
+ function resetInitCookies() {
41
+ initCookieParsed = undefined;
42
+ }
27
43
  function deleteCookie(name, options) {
28
44
  setCookie(name, '', 0, options);
29
45
  }
@@ -34,7 +50,7 @@ function areCookiesAuthorized(options) {
34
50
  try {
35
51
  // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during
36
52
  // the test cookie lifetime
37
- var testCookieName = "dd_cookie_test_".concat((0, _tools.UUID)());
53
+ var testCookieName = "gc_cookie_test_".concat((0, _tools.UUID)());
38
54
  var testCookieValue = 'test';
39
55
  setCookie(testCookieName, testCookieValue, _tools.ONE_SECOND, options);
40
56
  return getCookie(testCookieName) === testCookieValue;
@@ -53,7 +69,7 @@ function getCurrentSite() {
53
69
  if (getCurrentSiteCache === undefined) {
54
70
  // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during
55
71
  // the test cookie lifetime
56
- var testCookieName = "dd_site_test_".concat((0, _tools.UUID)());
72
+ var testCookieName = "gc_site_test_".concat((0, _tools.UUID)());
57
73
  var testCookieValue = 'test';
58
74
  var domainLevels = window.location.hostname.split('.');
59
75
  var candidateDomain = domainLevels.pop();
@@ -1 +1 @@
1
- {"version":3,"file":"cookie.js","names":["_tools","require","COOKIE_ACCESS_DELAY","ONE_SECOND","exports","setCookie","name","value","expireDelay","options","date","Date","setTime","getTime","expires","toUTCString","sameSite","crossSite","domain","secure","document","cookie","getCookie","findCommaSeparatedValue","deleteCookie","areCookiesAuthorized","undefined","testCookieName","concat","UUID","testCookieValue","error","getCurrentSiteCache","getCurrentSite","domainLevels","window","location","hostname","split","candidateDomain","pop","length"],"sources":["../../src/browser/cookie.js"],"sourcesContent":["import { findCommaSeparatedValue, UUID, ONE_SECOND } from '../helper/tools'\nexport var COOKIE_ACCESS_DELAY = ONE_SECOND\n\nexport function setCookie(name, value, expireDelay, options) {\n var date = new Date()\n date.setTime(date.getTime() + expireDelay)\n var expires = 'expires=' + date.toUTCString()\n var sameSite = options && options.crossSite ? 'none' : 'strict'\n var domain = options && options.domain ? ';domain=' + options.domain : ''\n var secure = options && options.secure ? ';secure' : ''\n document.cookie =\n name +\n '=' +\n value +\n ';' +\n expires +\n ';path=/;samesite=' +\n sameSite +\n domain +\n secure\n}\n\nexport function getCookie(name) {\n return findCommaSeparatedValue(document.cookie, name)\n}\n\nexport function deleteCookie(name, options) {\n setCookie(name, '', 0, options)\n}\n\nexport function areCookiesAuthorized(options) {\n if (document.cookie === undefined || document.cookie === null) {\n return false\n }\n try {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = `dd_cookie_test_${UUID()}`\n var testCookieValue = 'test'\n setCookie(testCookieName, testCookieValue, ONE_SECOND, options)\n return getCookie(testCookieName) === testCookieValue\n } catch (error) {\n return false\n }\n}\n\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nvar getCurrentSiteCache\nexport function getCurrentSite() {\n if (getCurrentSiteCache === undefined) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = `dd_site_test_${UUID()}`\n var testCookieValue = 'test'\n\n var domainLevels = window.location.hostname.split('.')\n var candidateDomain = domainLevels.pop()\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = domainLevels.pop() + '.' + candidateDomain\n setCookie(testCookieName, testCookieValue, ONE_SECOND, {\n domain: candidateDomain\n })\n }\n getCurrentSiteCache = candidateDomain\n }\n return getCurrentSiteCache\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACO,IAAIC,mBAAmB,GAAGC,iBAAU;AAAAC,OAAA,CAAAF,mBAAA,GAAAA,mBAAA;AAEpC,SAASG,SAASA,CAACC,IAAI,EAAEC,KAAK,EAAEC,WAAW,EAAEC,OAAO,EAAE;EAC3D,IAAIC,IAAI,GAAG,IAAIC,IAAI,CAAC,CAAC;EACrBD,IAAI,CAACE,OAAO,CAACF,IAAI,CAACG,OAAO,CAAC,CAAC,GAAGL,WAAW,CAAC;EAC1C,IAAIM,OAAO,GAAG,UAAU,GAAGJ,IAAI,CAACK,WAAW,CAAC,CAAC;EAC7C,IAAIC,QAAQ,GAAGP,OAAO,IAAIA,OAAO,CAACQ,SAAS,GAAG,MAAM,GAAG,QAAQ;EAC/D,IAAIC,MAAM,GAAGT,OAAO,IAAIA,OAAO,CAACS,MAAM,GAAG,UAAU,GAAGT,OAAO,CAACS,MAAM,GAAG,EAAE;EACzE,IAAIC,MAAM,GAAGV,OAAO,IAAIA,OAAO,CAACU,MAAM,GAAG,SAAS,GAAG,EAAE;EACvDC,QAAQ,CAACC,MAAM,GACbf,IAAI,GACJ,GAAG,GACHC,KAAK,GACL,GAAG,GACHO,OAAO,GACP,mBAAmB,GACnBE,QAAQ,GACRE,MAAM,GACNC,MAAM;AACV;AAEO,SAASG,SAASA,CAAChB,IAAI,EAAE;EAC9B,OAAO,IAAAiB,8BAAuB,EAACH,QAAQ,CAACC,MAAM,EAAEf,IAAI,CAAC;AACvD;AAEO,SAASkB,YAAYA,CAAClB,IAAI,EAAEG,OAAO,EAAE;EAC1CJ,SAAS,CAACC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAEG,OAAO,CAAC;AACjC;AAEO,SAASgB,oBAAoBA,CAAChB,OAAO,EAAE;EAC5C,IAAIW,QAAQ,CAACC,MAAM,KAAKK,SAAS,IAAIN,QAAQ,CAACC,MAAM,KAAK,IAAI,EAAE;IAC7D,OAAO,KAAK;EACd;EACA,IAAI;IACF;IACA;IACA,IAAIM,cAAc,qBAAAC,MAAA,CAAqB,IAAAC,WAAI,EAAC,CAAC,CAAE;IAC/C,IAAIC,eAAe,GAAG,MAAM;IAC5BzB,SAAS,CAACsB,cAAc,EAAEG,eAAe,EAAE3B,iBAAU,EAAEM,OAAO,CAAC;IAC/D,OAAOa,SAAS,CAACK,cAAc,CAAC,KAAKG,eAAe;EACtD,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,KAAK;EACd;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAIC,mBAAmB;AAChB,SAASC,cAAcA,CAAA,EAAG;EAC/B,IAAID,mBAAmB,KAAKN,SAAS,EAAE;IACrC;IACA;IACA,IAAIC,cAAc,mBAAAC,MAAA,CAAmB,IAAAC,WAAI,EAAC,CAAC,CAAE;IAC7C,IAAIC,eAAe,GAAG,MAAM;IAE5B,IAAII,YAAY,GAAGC,MAAM,CAACC,QAAQ,CAACC,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC;IACtD,IAAIC,eAAe,GAAGL,YAAY,CAACM,GAAG,CAAC,CAAC;IACxC,OAAON,YAAY,CAACO,MAAM,IAAI,CAACnB,SAAS,CAACK,cAAc,CAAC,EAAE;MACxDY,eAAe,GAAGL,YAAY,CAACM,GAAG,CAAC,CAAC,GAAG,GAAG,GAAGD,eAAe;MAC5DlC,SAAS,CAACsB,cAAc,EAAEG,eAAe,EAAE3B,iBAAU,EAAE;QACrDe,MAAM,EAAEqB;MACV,CAAC,CAAC;IACJ;IACAP,mBAAmB,GAAGO,eAAe;EACvC;EACA,OAAOP,mBAAmB;AAC5B"}
1
+ {"version":3,"file":"cookie.js","names":["_tools","require","COOKIE_ACCESS_DELAY","ONE_SECOND","exports","setCookie","name","value","expireDelay","options","date","Date","setTime","getTime","expires","toUTCString","sameSite","crossSite","domain","secure","document","cookie","getCookie","findCommaSeparatedValue","initCookieParsed","getInitCookie","findCommaSeparatedValues","get","resetInitCookies","undefined","deleteCookie","areCookiesAuthorized","testCookieName","concat","UUID","testCookieValue","error","getCurrentSiteCache","getCurrentSite","domainLevels","window","location","hostname","split","candidateDomain","pop","length"],"sources":["../../src/browser/cookie.js"],"sourcesContent":["import {\n findCommaSeparatedValue,\n UUID,\n ONE_SECOND,\n findCommaSeparatedValues\n} from '../helper/tools'\nexport var COOKIE_ACCESS_DELAY = ONE_SECOND\n\nexport function setCookie(name, value, expireDelay, options) {\n var date = new Date()\n date.setTime(date.getTime() + expireDelay)\n var expires = 'expires=' + date.toUTCString()\n var sameSite = options && options.crossSite ? 'none' : 'strict'\n var domain = options && options.domain ? ';domain=' + options.domain : ''\n var secure = options && options.secure ? ';secure' : ''\n document.cookie =\n name +\n '=' +\n value +\n ';' +\n expires +\n ';path=/;samesite=' +\n sameSite +\n domain +\n secure\n}\n\nexport function getCookie(name) {\n return findCommaSeparatedValue(document.cookie, name)\n}\nvar initCookieParsed\n/**\n * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)\n * to avoid accessing document.cookie multiple times.\n */\nexport function getInitCookie(name) {\n if (!initCookieParsed) {\n initCookieParsed = findCommaSeparatedValues(document.cookie)\n }\n return initCookieParsed.get(name)\n}\n\nexport function resetInitCookies() {\n initCookieParsed = undefined\n}\nexport function deleteCookie(name, options) {\n setCookie(name, '', 0, options)\n}\n\nexport function areCookiesAuthorized(options) {\n if (document.cookie === undefined || document.cookie === null) {\n return false\n }\n try {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = `gc_cookie_test_${UUID()}`\n var testCookieValue = 'test'\n setCookie(testCookieName, testCookieValue, ONE_SECOND, options)\n return getCookie(testCookieName) === testCookieValue\n } catch (error) {\n return false\n }\n}\n\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nvar getCurrentSiteCache\nexport function getCurrentSite() {\n if (getCurrentSiteCache === undefined) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = `gc_site_test_${UUID()}`\n var testCookieValue = 'test'\n\n var domainLevels = window.location.hostname.split('.')\n var candidateDomain = domainLevels.pop()\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = domainLevels.pop() + '.' + candidateDomain\n setCookie(testCookieName, testCookieValue, ONE_SECOND, {\n domain: candidateDomain\n })\n }\n getCurrentSiteCache = candidateDomain\n }\n return getCurrentSiteCache\n}\n"],"mappings":"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"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.DefaultPrivacyLevel = void 0;
7
7
  exports.buildCookieOptions = buildCookieOptions;
8
8
  exports.validateAndBuildConfiguration = validateAndBuildConfiguration;
9
+ exports.validatePostRequestRequireParamsConfiguration = validatePostRequestRequireParamsConfiguration;
9
10
  var _cookie = require("../browser/cookie");
10
11
  var _catchUserErrors = require("../helper/catchUserErrors");
11
12
  var _display = require("../helper/display");
@@ -64,6 +65,23 @@ function validateAndBuildConfiguration(initConfiguration) {
64
65
  sendContentTypeByJson: !!initConfiguration.sendContentTypeByJson
65
66
  }, (0, _transportConfiguration.computeTransportConfiguration)(initConfiguration));
66
67
  }
68
+ function validatePostRequestRequireParamsConfiguration(initConfiguration) {
69
+ if (!initConfiguration.site && !initConfiguration.datakitOrigin && !initConfiguration.datakitUrl) {
70
+ _display.display.error('datakitOrigin or site is not configured, no RUM data will be collected.');
71
+ return false;
72
+ }
73
+ // if (!initConfiguration.datakitUrl && !initConfiguration.datakitOrigin) {
74
+ // display.error(
75
+ // 'datakitOrigin is not configured, no RUM data will be collected.'
76
+ // )
77
+ // return false
78
+ // }
79
+ if (initConfiguration.site && !initConfiguration.clientToken) {
80
+ _display.display.error('clientToken is not configured, no RUM data will be collected.');
81
+ return false;
82
+ }
83
+ return true;
84
+ }
67
85
  function buildCookieOptions(initConfiguration) {
68
86
  var cookieOptions = {};
69
87
  cookieOptions.secure = mustUseSecureCookie(initConfiguration);
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","names":["_cookie","require","_catchUserErrors","_display","_tools","_byteUtils","_transportConfiguration","DefaultPrivacyLevel","ALLOW","MASK","MASK_USER_INPUT","exports","validateAndBuildConfiguration","initConfiguration","sampleRate","undefined","isPercentage","display","error","sessionSampleRate","telemetrySampleRate","assign","beforeSend","catchUserErrors","cookieOptions","buildCookieOptions","isNullUndefinedDefaultValue","service","version","env","telemetryEnabled","silentMultipleInit","batchBytesLimit","ONE_KIBI_BYTE","eventRateLimiterThreshold","maxTelemetryEventsPerPage","flushTimeout","ONE_SECOND","batchMessagesLimit","messageBytesLimit","resourceUrlLimit","storeContextsToLocal","sendContentTypeByJson","computeTransportConfiguration","secure","mustUseSecureCookie","crossSite","useCrossSiteSessionCookie","trackSessionAcrossSubdomains","domain","getCurrentSite","useSecureSessionCookie"],"sources":["../../src/configuration/configuration.js"],"sourcesContent":["import { getCurrentSite } from '../browser/cookie'\nimport { catchUserErrors } from '../helper/catchUserErrors'\nimport { display } from '../helper/display'\nimport {\n assign,\n isPercentage,\n ONE_SECOND,\n isNullUndefinedDefaultValue\n} from '../helper/tools'\nimport { ONE_KIBI_BYTE } from '../helper/byteUtils'\nimport { computeTransportConfiguration } from './transportConfiguration'\n\nexport var DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input'\n}\nexport function validateAndBuildConfiguration(initConfiguration) {\n if (\n initConfiguration.sampleRate !== undefined &&\n !isPercentage(initConfiguration.sampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.sessionSampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionSampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.telemetrySampleRate !== undefined &&\n !isPercentage(initConfiguration.telemetrySampleRate)\n ) {\n display.error('Telemetry Sample Rate should be a number between 0 and 100')\n return\n }\n var sessionSampleRate =\n initConfiguration.sessionSampleRate || initConfiguration.sampleRate\n return assign(\n {\n beforeSend:\n initConfiguration.beforeSend &&\n catchUserErrors(\n initConfiguration.beforeSend,\n 'beforeSend threw an error:'\n ),\n cookieOptions: buildCookieOptions(initConfiguration),\n sessionSampleRate: isNullUndefinedDefaultValue(sessionSampleRate, 100),\n service: initConfiguration.service,\n version: initConfiguration.version,\n env: initConfiguration.env,\n telemetrySampleRate: isNullUndefinedDefaultValue(\n initConfiguration.telemetrySampleRate,\n 100\n ),\n telemetryEnabled: isNullUndefinedDefaultValue(\n initConfiguration.telemetryEnabled,\n false\n ),\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: 30 * ONE_SECOND,\n\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n resourceUrlLimit: 5 * ONE_KIBI_BYTE,\n storeContextsToLocal: !!initConfiguration.storeContextsToLocal,\n sendContentTypeByJson: !!initConfiguration.sendContentTypeByJson\n },\n computeTransportConfiguration(initConfiguration)\n )\n}\n\nexport function buildCookieOptions(initConfiguration) {\n var cookieOptions = {}\n\n cookieOptions.secure = mustUseSecureCookie(initConfiguration)\n cookieOptions.crossSite = !!initConfiguration.useCrossSiteSessionCookie\n\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite()\n }\n\n return cookieOptions\n}\n\nfunction mustUseSecureCookie(initConfiguration) {\n return (\n !!initConfiguration.useSecureSessionCookie ||\n !!initConfiguration.useCrossSiteSessionCookie\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"configuration.js","names":["_cookie","require","_catchUserErrors","_display","_tools","_byteUtils","_transportConfiguration","DefaultPrivacyLevel","ALLOW","MASK","MASK_USER_INPUT","exports","validateAndBuildConfiguration","initConfiguration","sampleRate","undefined","isPercentage","display","error","sessionSampleRate","telemetrySampleRate","assign","beforeSend","catchUserErrors","cookieOptions","buildCookieOptions","isNullUndefinedDefaultValue","service","version","env","telemetryEnabled","silentMultipleInit","batchBytesLimit","ONE_KIBI_BYTE","eventRateLimiterThreshold","maxTelemetryEventsPerPage","flushTimeout","ONE_SECOND","batchMessagesLimit","messageBytesLimit","resourceUrlLimit","storeContextsToLocal","sendContentTypeByJson","computeTransportConfiguration","validatePostRequestRequireParamsConfiguration","site","datakitOrigin","datakitUrl","clientToken","secure","mustUseSecureCookie","crossSite","useCrossSiteSessionCookie","trackSessionAcrossSubdomains","domain","getCurrentSite","useSecureSessionCookie"],"sources":["../../src/configuration/configuration.js"],"sourcesContent":["import { getCurrentSite } from '../browser/cookie'\nimport { catchUserErrors } from '../helper/catchUserErrors'\nimport { display } from '../helper/display'\nimport {\n assign,\n isPercentage,\n ONE_SECOND,\n isNullUndefinedDefaultValue\n} from '../helper/tools'\nimport { ONE_KIBI_BYTE } from '../helper/byteUtils'\nimport { computeTransportConfiguration } from './transportConfiguration'\n\nexport var DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input'\n}\nexport function validateAndBuildConfiguration(initConfiguration) {\n if (\n initConfiguration.sampleRate !== undefined &&\n !isPercentage(initConfiguration.sampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.sessionSampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionSampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.telemetrySampleRate !== undefined &&\n !isPercentage(initConfiguration.telemetrySampleRate)\n ) {\n display.error('Telemetry Sample Rate should be a number between 0 and 100')\n return\n }\n var sessionSampleRate =\n initConfiguration.sessionSampleRate || initConfiguration.sampleRate\n return assign(\n {\n beforeSend:\n initConfiguration.beforeSend &&\n catchUserErrors(\n initConfiguration.beforeSend,\n 'beforeSend threw an error:'\n ),\n cookieOptions: buildCookieOptions(initConfiguration),\n sessionSampleRate: isNullUndefinedDefaultValue(sessionSampleRate, 100),\n service: initConfiguration.service,\n version: initConfiguration.version,\n env: initConfiguration.env,\n telemetrySampleRate: isNullUndefinedDefaultValue(\n initConfiguration.telemetrySampleRate,\n 100\n ),\n telemetryEnabled: isNullUndefinedDefaultValue(\n initConfiguration.telemetryEnabled,\n false\n ),\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: 30 * ONE_SECOND,\n\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n resourceUrlLimit: 5 * ONE_KIBI_BYTE,\n storeContextsToLocal: !!initConfiguration.storeContextsToLocal,\n sendContentTypeByJson: !!initConfiguration.sendContentTypeByJson\n },\n computeTransportConfiguration(initConfiguration)\n )\n}\nexport function validatePostRequestRequireParamsConfiguration(\n initConfiguration\n) {\n if (\n !initConfiguration.site &&\n !initConfiguration.datakitOrigin &&\n !initConfiguration.datakitUrl\n ) {\n display.error(\n 'datakitOrigin or site is not configured, no RUM data will be collected.'\n )\n return false\n }\n // if (!initConfiguration.datakitUrl && !initConfiguration.datakitOrigin) {\n // display.error(\n // 'datakitOrigin is not configured, no RUM data will be collected.'\n // )\n // return false\n // }\n if (initConfiguration.site && !initConfiguration.clientToken) {\n display.error(\n 'clientToken is not configured, no RUM data will be collected.'\n )\n return false\n }\n return true\n}\nexport function buildCookieOptions(initConfiguration) {\n var cookieOptions = {}\n\n cookieOptions.secure = mustUseSecureCookie(initConfiguration)\n cookieOptions.crossSite = !!initConfiguration.useCrossSiteSessionCookie\n\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite()\n }\n\n return cookieOptions\n}\n\nfunction mustUseSecureCookie(initConfiguration) {\n return (\n !!initConfiguration.useSecureSessionCookie ||\n !!initConfiguration.useCrossSiteSessionCookie\n )\n}\n"],"mappings":"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"}
@@ -12,16 +12,25 @@ var typeMap = {
12
12
  log: '/logging',
13
13
  sessionReplay: '/rum/replay'
14
14
  };
15
- function getEndPointUrl(url, type) {
15
+ function getEndPointUrl(configuration, type) {
16
16
  // type: rum, log,replay
17
17
  var subUrl = typeMap[type];
18
18
  if (!subUrl) return '';
19
+ var url = configuration.datakitOrigin || configuration.datakitUrl || configuration.site;
19
20
  if (url.indexOf('/') === 0) {
20
21
  // 绝对路径这种 /xxx
21
22
  url = location.origin + trim(url);
22
23
  }
23
- if (url.lastIndexOf('/') === url.length - 1) return trim(url) + 'v1/write' + subUrl;
24
- return trim(url) + '/v1/write' + subUrl;
24
+ var endpoint = url;
25
+ if (url.lastIndexOf('/') === url.length - 1) {
26
+ endpoint = trim(url) + 'v1/write' + subUrl;
27
+ } else {
28
+ endpoint = trim(url) + '/v1/write' + subUrl;
29
+ }
30
+ if (configuration.site && configuration.clientToken) {
31
+ endpoint = endpoint + '?token=' + configuration.clientToken + '&to_headless=true';
32
+ }
33
+ return endpoint;
25
34
  }
26
35
  function trim(str) {
27
36
  return str.replace(TRIM_REGIX, '');
@@ -40,9 +49,9 @@ function computeTransportConfiguration(initConfiguration) {
40
49
  isServerError = initConfiguration.isServerError;
41
50
  }
42
51
  return {
43
- rumEndpoint: getEndPointUrl(initConfiguration.datakitUrl || initConfiguration.datakitOrigin, 'rum'),
44
- logsEndpoint: getEndPointUrl(initConfiguration.datakitOrigin, 'log'),
45
- sessionReplayEndPoint: getEndPointUrl(initConfiguration.datakitOrigin, 'sessionReplay'),
52
+ rumEndpoint: getEndPointUrl(initConfiguration, 'rum'),
53
+ logsEndpoint: getEndPointUrl(initConfiguration, 'log'),
54
+ sessionReplayEndPoint: getEndPointUrl(initConfiguration, 'sessionReplay'),
46
55
  isIntakeUrl: isIntakeUrl,
47
56
  isServerError: isServerError
48
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transportConfiguration.js","names":["_tools","require","TRIM_REGIX","typeMap","rum","log","sessionReplay","getEndPointUrl","url","type","subUrl","indexOf","location","origin","trim","lastIndexOf","length","str","replace","computeTransportConfiguration","initConfiguration","isIntakeUrl","isFunction","isBoolean","isServerError","request","rumEndpoint","datakitUrl","datakitOrigin","logsEndpoint","sessionReplayEndPoint","isIntakeRequest","configuration","notTakeRequest","push","some","takeUrl"],"sources":["../../src/configuration/transportConfiguration.js"],"sourcesContent":["import { isFunction, isBoolean, some } from '../helper/tools'\nvar TRIM_REGIX = /^\\s+|\\s+$/g\nvar typeMap = {\n rum: '/rum',\n log: '/logging',\n sessionReplay: '/rum/replay'\n}\nfunction getEndPointUrl(url, type) {\n // type: rum, log,replay\n var subUrl = typeMap[type]\n if (!subUrl) return ''\n if (url.indexOf('/') === 0) {\n // 绝对路径这种 /xxx\n url = location.origin + trim(url)\n }\n if (url.lastIndexOf('/') === url.length - 1)\n return trim(url) + 'v1/write' + subUrl\n return trim(url) + '/v1/write' + subUrl\n}\n\nfunction trim(str) {\n return str.replace(TRIM_REGIX, '')\n}\n\nexport function computeTransportConfiguration(initConfiguration) {\n var isIntakeUrl = function (url) {\n return false\n }\n if (\n 'isIntakeUrl' in initConfiguration &&\n isFunction(initConfiguration.isIntakeUrl) &&\n isBoolean(initConfiguration.isIntakeUrl())\n ) {\n isIntakeUrl = initConfiguration.isIntakeUrl\n }\n var isServerError = function (request) {\n return false\n }\n if (\n 'isServerError' in initConfiguration &&\n isFunction(initConfiguration.isServerError) &&\n isBoolean(initConfiguration.isServerError())\n ) {\n isServerError = initConfiguration.isServerError\n }\n return {\n rumEndpoint: getEndPointUrl(\n initConfiguration.datakitUrl || initConfiguration.datakitOrigin,\n 'rum'\n ),\n logsEndpoint: getEndPointUrl(initConfiguration.datakitOrigin, 'log'),\n sessionReplayEndPoint: getEndPointUrl(\n initConfiguration.datakitOrigin,\n 'sessionReplay'\n ),\n isIntakeUrl: isIntakeUrl,\n isServerError: isServerError\n }\n}\nexport function isIntakeRequest(url, configuration) {\n var notTakeRequest = [configuration.rumEndpoint]\n if (configuration.logsEndpoint) {\n notTakeRequest.push(configuration.logsEndpoint)\n }\n if (configuration.sessionReplayEndPoint) {\n notTakeRequest.push(configuration.sessionReplayEndPoint)\n }\n // datakit 地址,log 地址,以及客户自定义过滤方法定义url\n return (\n some(notTakeRequest, function (takeUrl) {\n return url.indexOf(takeUrl) === 0\n }) || configuration.isIntakeUrl(url)\n )\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAIC,UAAU,GAAG,YAAY;AAC7B,IAAIC,OAAO,GAAG;EACZC,GAAG,EAAE,MAAM;EACXC,GAAG,EAAE,UAAU;EACfC,aAAa,EAAE;AACjB,CAAC;AACD,SAASC,cAAcA,CAACC,GAAG,EAAEC,IAAI,EAAE;EACjC;EACA,IAAIC,MAAM,GAAGP,OAAO,CAACM,IAAI,CAAC;EAC1B,IAAI,CAACC,MAAM,EAAE,OAAO,EAAE;EACtB,IAAIF,GAAG,CAACG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;IAC1B;IACAH,GAAG,GAAGI,QAAQ,CAACC,MAAM,GAAGC,IAAI,CAACN,GAAG,CAAC;EACnC;EACA,IAAIA,GAAG,CAACO,WAAW,CAAC,GAAG,CAAC,KAAKP,GAAG,CAACQ,MAAM,GAAG,CAAC,EACzC,OAAOF,IAAI,CAACN,GAAG,CAAC,GAAG,UAAU,GAAGE,MAAM;EACxC,OAAOI,IAAI,CAACN,GAAG,CAAC,GAAG,WAAW,GAAGE,MAAM;AACzC;AAEA,SAASI,IAAIA,CAACG,GAAG,EAAE;EACjB,OAAOA,GAAG,CAACC,OAAO,CAAChB,UAAU,EAAE,EAAE,CAAC;AACpC;AAEO,SAASiB,6BAA6BA,CAACC,iBAAiB,EAAE;EAC/D,IAAIC,WAAW,GAAG,SAAAA,YAAUb,GAAG,EAAE;IAC/B,OAAO,KAAK;EACd,CAAC;EACD,IACE,aAAa,IAAIY,iBAAiB,IAClC,IAAAE,iBAAU,EAACF,iBAAiB,CAACC,WAAW,CAAC,IACzC,IAAAE,gBAAS,EAACH,iBAAiB,CAACC,WAAW,CAAC,CAAC,CAAC,EAC1C;IACAA,WAAW,GAAGD,iBAAiB,CAACC,WAAW;EAC7C;EACA,IAAIG,aAAa,GAAG,SAAAA,cAAUC,OAAO,EAAE;IACrC,OAAO,KAAK;EACd,CAAC;EACD,IACE,eAAe,IAAIL,iBAAiB,IACpC,IAAAE,iBAAU,EAACF,iBAAiB,CAACI,aAAa,CAAC,IAC3C,IAAAD,gBAAS,EAACH,iBAAiB,CAACI,aAAa,CAAC,CAAC,CAAC,EAC5C;IACAA,aAAa,GAAGJ,iBAAiB,CAACI,aAAa;EACjD;EACA,OAAO;IACLE,WAAW,EAAEnB,cAAc,CACzBa,iBAAiB,CAACO,UAAU,IAAIP,iBAAiB,CAACQ,aAAa,EAC/D,KACF,CAAC;IACDC,YAAY,EAAEtB,cAAc,CAACa,iBAAiB,CAACQ,aAAa,EAAE,KAAK,CAAC;IACpEE,qBAAqB,EAAEvB,cAAc,CACnCa,iBAAiB,CAACQ,aAAa,EAC/B,eACF,CAAC;IACDP,WAAW,EAAEA,WAAW;IACxBG,aAAa,EAAEA;EACjB,CAAC;AACH;AACO,SAASO,eAAeA,CAACvB,GAAG,EAAEwB,aAAa,EAAE;EAClD,IAAIC,cAAc,GAAG,CAACD,aAAa,CAACN,WAAW,CAAC;EAChD,IAAIM,aAAa,CAACH,YAAY,EAAE;IAC9BI,cAAc,CAACC,IAAI,CAACF,aAAa,CAACH,YAAY,CAAC;EACjD;EACA,IAAIG,aAAa,CAACF,qBAAqB,EAAE;IACvCG,cAAc,CAACC,IAAI,CAACF,aAAa,CAACF,qBAAqB,CAAC;EAC1D;EACA;EACA,OACE,IAAAK,WAAI,EAACF,cAAc,EAAE,UAAUG,OAAO,EAAE;IACtC,OAAO5B,GAAG,CAACG,OAAO,CAACyB,OAAO,CAAC,KAAK,CAAC;EACnC,CAAC,CAAC,IAAIJ,aAAa,CAACX,WAAW,CAACb,GAAG,CAAC;AAExC"}
1
+ {"version":3,"file":"transportConfiguration.js","names":["_tools","require","TRIM_REGIX","typeMap","rum","log","sessionReplay","getEndPointUrl","configuration","type","subUrl","url","datakitOrigin","datakitUrl","site","indexOf","location","origin","trim","endpoint","lastIndexOf","length","clientToken","str","replace","computeTransportConfiguration","initConfiguration","isIntakeUrl","isFunction","isBoolean","isServerError","request","rumEndpoint","logsEndpoint","sessionReplayEndPoint","isIntakeRequest","notTakeRequest","push","some","takeUrl"],"sources":["../../src/configuration/transportConfiguration.js"],"sourcesContent":["import { isFunction, isBoolean, some } from '../helper/tools'\nvar TRIM_REGIX = /^\\s+|\\s+$/g\nvar typeMap = {\n rum: '/rum',\n log: '/logging',\n sessionReplay: '/rum/replay'\n}\nfunction getEndPointUrl(configuration, type) {\n // type: rum, log,replay\n var subUrl = typeMap[type]\n if (!subUrl) return ''\n var url =\n configuration.datakitOrigin ||\n configuration.datakitUrl ||\n configuration.site\n if (url.indexOf('/') === 0) {\n // 绝对路径这种 /xxx\n url = location.origin + trim(url)\n }\n var endpoint = url\n if (url.lastIndexOf('/') === url.length - 1) {\n endpoint = trim(url) + 'v1/write' + subUrl\n } else {\n endpoint = trim(url) + '/v1/write' + subUrl\n }\n if (configuration.site && configuration.clientToken) {\n endpoint =\n endpoint + '?token=' + configuration.clientToken + '&to_headless=true'\n }\n return endpoint\n}\n\nfunction trim(str) {\n return str.replace(TRIM_REGIX, '')\n}\n\nexport function computeTransportConfiguration(initConfiguration) {\n var isIntakeUrl = function (url) {\n return false\n }\n if (\n 'isIntakeUrl' in initConfiguration &&\n isFunction(initConfiguration.isIntakeUrl) &&\n isBoolean(initConfiguration.isIntakeUrl())\n ) {\n isIntakeUrl = initConfiguration.isIntakeUrl\n }\n var isServerError = function (request) {\n return false\n }\n if (\n 'isServerError' in initConfiguration &&\n isFunction(initConfiguration.isServerError) &&\n isBoolean(initConfiguration.isServerError())\n ) {\n isServerError = initConfiguration.isServerError\n }\n return {\n rumEndpoint: getEndPointUrl(initConfiguration, 'rum'),\n logsEndpoint: getEndPointUrl(initConfiguration, 'log'),\n sessionReplayEndPoint: getEndPointUrl(initConfiguration, 'sessionReplay'),\n isIntakeUrl: isIntakeUrl,\n isServerError: isServerError\n }\n}\nexport function isIntakeRequest(url, configuration) {\n var notTakeRequest = [configuration.rumEndpoint]\n if (configuration.logsEndpoint) {\n notTakeRequest.push(configuration.logsEndpoint)\n }\n if (configuration.sessionReplayEndPoint) {\n notTakeRequest.push(configuration.sessionReplayEndPoint)\n }\n // datakit 地址,log 地址,以及客户自定义过滤方法定义url\n return (\n some(notTakeRequest, function (takeUrl) {\n return url.indexOf(takeUrl) === 0\n }) || configuration.isIntakeUrl(url)\n )\n}\n"],"mappings":"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"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.deviceInfo = void 0;
7
7
  var _display = require("../helper/display");
8
+ var _monitor = require("../helper/monitor");
8
9
  var VariableLibrary = {
9
10
  navigator: typeof window !== 'undefined' && typeof window.navigator != 'undefined' ? window.navigator : {},
10
11
  // 信息map
@@ -18,7 +19,7 @@ var VariableLibrary = {
18
19
  // 方法库
19
20
  var MethodLibrary = {
20
21
  // 获取匹配库
21
- getMatchMap: function getMatchMap(u) {
22
+ getMatchMap: (0, _monitor.monitor)(function (u) {
22
23
  return {
23
24
  // 内核
24
25
  Trident: u.indexOf('Trident') > -1 || u.indexOf('NET CLR') > -1,
@@ -88,9 +89,9 @@ var MethodLibrary = {
88
89
  Tablet: u.indexOf('Tablet') > -1 || u.indexOf('Nexus 7') > -1,
89
90
  iPad: u.indexOf('iPad') > -1
90
91
  };
91
- },
92
+ }),
92
93
  // 在信息map和匹配库中进行匹配
93
- matchInfoMap: function matchInfoMap(_this) {
94
+ matchInfoMap: (0, _monitor.monitor)(function (_this) {
94
95
  var u = VariableLibrary.navigator.userAgent || '';
95
96
  var match = MethodLibrary.getMatchMap(u);
96
97
  for (var s in VariableLibrary.infoMap) {
@@ -101,15 +102,15 @@ var MethodLibrary = {
101
102
  }
102
103
  }
103
104
  }
104
- },
105
+ }),
105
106
  // 获取当前操作系统
106
- getOS: function getOS() {
107
+ getOS: (0, _monitor.monitor)(function () {
107
108
  var _this = this;
108
109
  MethodLibrary.matchInfoMap(_this);
109
110
  return _this.os || 'Unknown';
110
- },
111
+ }),
111
112
  // 获取操作系统版本
112
- getOSVersion: function getOSVersion() {
113
+ getOSVersion: (0, _monitor.monitor)(function () {
113
114
  var _this = this;
114
115
  var u = VariableLibrary.navigator.userAgent || '';
115
116
  _this.osVersion = '';
@@ -162,9 +163,9 @@ var MethodLibrary = {
162
163
  version: _this.osVersion,
163
164
  osMajor: _this.osMajor
164
165
  };
165
- },
166
+ }),
166
167
  // 获取横竖屏状态
167
- getOrientationStatu: function getOrientationStatu() {
168
+ getOrientationStatu: (0, _monitor.monitor)(function () {
168
169
  var orientationStatus = '';
169
170
  var orientation = window.matchMedia('(orientation: portrait)');
170
171
  if (orientation.matches) {
@@ -173,16 +174,16 @@ var MethodLibrary = {
173
174
  orientationStatus = '横屏';
174
175
  }
175
176
  return orientationStatus;
176
- },
177
+ }),
177
178
  // 获取设备类型
178
- getDeviceType: function getDeviceType() {
179
+ getDeviceType: (0, _monitor.monitor)(function () {
179
180
  var _this = this;
180
181
  _this.device = 'PC';
181
182
  MethodLibrary.matchInfoMap(_this);
182
183
  return _this.device;
183
- },
184
+ }),
184
185
  // 获取网络状态
185
- getNetwork: function getNetwork() {
186
+ getNetwork: (0, _monitor.monitor)(function () {
186
187
  var connection = window.navigator.connection || window.navigator.mozConnection || window.navigator.webkitConnection;
187
188
  var result = 'unknown';
188
189
  var type = connection ? connection.type || connection.effectiveType : null;
@@ -219,9 +220,9 @@ var MethodLibrary = {
219
220
  }
220
221
  }
221
222
  return result;
222
- },
223
+ }),
223
224
  // 获取当前语言
224
- getLanguage: function getLanguage() {
225
+ getLanguage: (0, _monitor.monitor)(function () {
225
226
  var _this = this;
226
227
  _this.language = function () {
227
228
  var language = VariableLibrary.navigator.browserLanguage || VariableLibrary.navigator.language || '';
@@ -232,9 +233,9 @@ var MethodLibrary = {
232
233
  return arr.join('_');
233
234
  }();
234
235
  return _this.language;
235
- },
236
+ }),
236
237
  // 浏览器信息
237
- getBrowserInfo: function getBrowserInfo() {
238
+ getBrowserInfo: (0, _monitor.monitor)(function () {
238
239
  var _this = this;
239
240
  MethodLibrary.matchInfoMap(_this);
240
241
  var u = VariableLibrary.navigator.userAgent || '';
@@ -266,7 +267,7 @@ var MethodLibrary = {
266
267
  if (is360) {
267
268
  if (_mime('type', 'application/gameplugin')) {
268
269
  match['360SE'] = true;
269
- } else if (VariableLibrary.navigator && typeof VariableLibrary.navigator['connection']['saveData'] == 'undefined') {
270
+ } else if (VariableLibrary.navigator && VariableLibrary.navigator.connection && typeof VariableLibrary.navigator['connection']['saveData'] == 'undefined') {
270
271
  match['360SE'] = true;
271
272
  } else {
272
273
  match['360EE'] = true;
@@ -505,9 +506,9 @@ var MethodLibrary = {
505
506
  engine: _this.engine,
506
507
  browserMajor: _this.browserMajor
507
508
  };
508
- },
509
+ }),
509
510
  // 获取地理位置
510
- getGeoPostion: function getGeoPostion(callback) {
511
+ getGeoPostion: (0, _monitor.monitor)(function (callback) {
511
512
  navigator && navigator.geolocation && navigator.geolocation.getCurrentPosition(
512
513
  // 位置获取成功
513
514
  function (position) {
@@ -517,12 +518,13 @@ var MethodLibrary = {
517
518
  function (error) {
518
519
  _display.display.warn(error);
519
520
  });
520
- }
521
+ })
521
522
  };
522
523
  var _deviceInfo = {};
523
524
  if (typeof window !== 'undefined') {
524
525
  _deviceInfo = {
525
526
  os: MethodLibrary.getOS(),
527
+ MethodLibrary: MethodLibrary,
526
528
  osVersion: MethodLibrary.getOSVersion().version,
527
529
  osVersionMajor: MethodLibrary.getOSVersion().osMajor,
528
530
  browser: MethodLibrary.getBrowserInfo().browser,
@@ -1 +1 @@
1
- {"version":3,"file":"deviceInfo.js","names":["_display","require","VariableLibrary","navigator","window","infoMap","engine","browser","os","device","MethodLibrary","getMatchMap","u","Trident","indexOf","Presto","WebKit","Gecko","Safari","Chrome","IE","Edge","Firefox","Chromium","Opera","Vivaldi","Yandex","Arora","Lunascape","QupZilla","Kindle","Iceweasel","Konqueror","Iceape","SeaMonkey","Epiphany","UC","QQBrowser","QQ","Baidu","Maxthon","Sogou","LBBROWSER","TheWorld","XiaoMi","Quark","Qiyu","Wechat","Taobao","Alipay","Weibo","Douban","Suning","iQiYi","Windows","Linux","Android","Ubuntu","FreeBSD","Debian","BlackBerry","MeeGo","Symbian","iOS","WebOS","Mobile","Tablet","iPad","matchInfoMap","_this","userAgent","match","s","i","length","value","getOS","getOSVersion","osVersion","osMajor","v","replace","oldWindowsVersionMap","WindowsPhone","MacOS","split","version","getOrientationStatu","orientationStatus","orientation","matchMedia","matches","getDeviceType","getNetwork","connection","mozConnection","webkitConnection","result","type","effectiveType","getLanguage","language","browserLanguage","arr","toUpperCase","join","getBrowserInfo","_mime","option","mimeTypes","key","is360","chrome","chrome_version","showModalDialog","navigator_top","screenTop","screenY","browerVersionMap","FirefoxFocus","CocCoc","_","SE","hash","EE","Explorer","WechatWork","browserVersion","browserMajor","parseInt","getGeoPostion","callback","geolocation","getCurrentPosition","position","error","display","warn","_deviceInfo","osVersionMajor","browserVersionMajor","screenSize","screen","width","height","networkType","divice","deviceInfo","exports"],"sources":["../../src/helper/deviceInfo.js"],"sourcesContent":["import { display } from '../helper/display'\nvar VariableLibrary = {\n navigator:\n typeof window !== 'undefined' && typeof window.navigator != 'undefined'\n ? window.navigator\n : {},\n // 信息map\n infoMap: {\n engine: ['WebKit', 'Trident', 'Gecko', 'Presto'],\n browser: [\n 'Safari',\n 'Chrome',\n 'Edge',\n 'IE',\n 'IE 11',\n 'IE 10',\n 'IE 9',\n 'IE 8',\n 'IE 7',\n 'Firefox',\n 'Firefox Focus',\n 'Chromium',\n 'Opera',\n 'Vivaldi',\n 'Yandex',\n 'Arora',\n 'Lunascape',\n 'QupZilla',\n 'Coc Coc',\n 'Kindle',\n 'Iceweasel',\n 'Konqueror',\n 'Iceape',\n 'SeaMonkey',\n 'Epiphany',\n '360',\n '360SE',\n '360EE',\n 'UC',\n 'QQBrowser',\n 'QQ',\n 'Baidu',\n 'Maxthon',\n 'Sogou',\n 'LBBROWSER',\n '2345Explorer',\n 'TheWorld',\n 'XiaoMi',\n 'Quark',\n 'Qiyu',\n 'Wechat',\n ,\n 'WechatWork',\n 'Taobao',\n 'Alipay',\n 'Weibo',\n 'Douban',\n 'Suning',\n 'iQiYi'\n ],\n os: [\n 'Windows',\n 'Linux',\n 'Mac OS',\n 'Android',\n 'Ubuntu',\n 'FreeBSD',\n 'Debian',\n 'iOS',\n 'Windows Phone',\n 'BlackBerry',\n 'MeeGo',\n 'Symbian',\n 'Chrome OS',\n 'WebOS'\n ],\n device: ['Mobile', 'Tablet', 'iPad']\n }\n}\n// 方法库\nvar MethodLibrary = {\n // 获取匹配库\n getMatchMap: function (u) {\n return {\n // 内核\n Trident: u.indexOf('Trident') > -1 || u.indexOf('NET CLR') > -1,\n Presto: u.indexOf('Presto') > -1,\n WebKit: u.indexOf('AppleWebKit') > -1,\n Gecko: u.indexOf('Gecko/') > -1,\n // 浏览器\n Safari: u.indexOf('Safari') > -1,\n Chrome: u.indexOf('Chrome') > -1 || u.indexOf('CriOS') > -1,\n IE: u.indexOf('MSIE') > -1 || u.indexOf('Trident') > -1,\n Edge: u.indexOf('Edge') > -1 || u.indexOf('Edg') > -1,\n Firefox: u.indexOf('Firefox') > -1 || u.indexOf('FxiOS') > -1,\n 'Firefox Focus': u.indexOf('Focus') > -1,\n Chromium: u.indexOf('Chromium') > -1,\n Opera: u.indexOf('Opera') > -1 || u.indexOf('OPR') > -1,\n Vivaldi: u.indexOf('Vivaldi') > -1,\n Yandex: u.indexOf('YaBrowser') > -1,\n Arora: u.indexOf('Arora') > -1,\n Lunascape: u.indexOf('Lunascape') > -1,\n QupZilla: u.indexOf('QupZilla') > -1,\n 'Coc Coc': u.indexOf('coc_coc_browser') > -1,\n Kindle: u.indexOf('Kindle') > -1 || u.indexOf('Silk/') > -1,\n Iceweasel: u.indexOf('Iceweasel') > -1,\n Konqueror: u.indexOf('Konqueror') > -1,\n Iceape: u.indexOf('Iceape') > -1,\n SeaMonkey: u.indexOf('SeaMonkey') > -1,\n Epiphany: u.indexOf('Epiphany') > -1,\n 360: u.indexOf('QihooBrowser') > -1 || u.indexOf('QHBrowser') > -1,\n '360EE': u.indexOf('360EE') > -1,\n '360SE': u.indexOf('360SE') > -1,\n UC: u.indexOf('UC') > -1 || u.indexOf(' UBrowser') > -1,\n QQBrowser: u.indexOf('QQBrowser') > -1,\n QQ: u.indexOf('QQ/') > -1,\n Baidu: u.indexOf('Baidu') > -1 || u.indexOf('BIDUBrowser') > -1,\n Maxthon: u.indexOf('Maxthon') > -1,\n Sogou: u.indexOf('MetaSr') > -1 || u.indexOf('Sogou') > -1,\n LBBROWSER: u.indexOf('LBBROWSER') > -1,\n '2345Explorer': u.indexOf('2345Explorer') > -1,\n TheWorld: u.indexOf('TheWorld') > -1,\n XiaoMi: u.indexOf('MiuiBrowser') > -1,\n Quark: u.indexOf('Quark') > -1,\n Qiyu: u.indexOf('Qiyu') > -1,\n Wechat: u.indexOf('MicroMessenger') > -1,\n Taobao: u.indexOf('AliApp(TB') > -1,\n Alipay: u.indexOf('AliApp(AP') > -1,\n Weibo: u.indexOf('Weibo') > -1,\n Douban: u.indexOf('com.douban.frodo') > -1,\n Suning: u.indexOf('SNEBUY-APP') > -1,\n iQiYi: u.indexOf('IqiyiApp') > -1,\n // 系统或平台\n Windows: u.indexOf('Windows') > -1,\n Linux: u.indexOf('Linux') > -1 || u.indexOf('X11') > -1,\n 'Mac OS': u.indexOf('Macintosh') > -1,\n Android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1,\n Ubuntu: u.indexOf('Ubuntu') > -1,\n FreeBSD: u.indexOf('FreeBSD') > -1,\n Debian: u.indexOf('Debian') > -1,\n 'Windows Phone':\n u.indexOf('IEMobile') > -1 || u.indexOf('Windows Phone') > -1,\n BlackBerry: u.indexOf('BlackBerry') > -1 || u.indexOf('RIM') > -1,\n MeeGo: u.indexOf('MeeGo') > -1,\n Symbian: u.indexOf('Symbian') > -1,\n iOS: u.indexOf('like Mac OS X') > -1,\n 'Chrome OS': u.indexOf('CrOS') > -1,\n WebOS: u.indexOf('hpwOS') > -1,\n // 设备\n Mobile:\n u.indexOf('Mobi') > -1 ||\n u.indexOf('iPh') > -1 ||\n u.indexOf('480') > -1,\n Tablet: u.indexOf('Tablet') > -1 || u.indexOf('Nexus 7') > -1,\n iPad: u.indexOf('iPad') > -1\n }\n },\n // 在信息map和匹配库中进行匹配\n matchInfoMap: function (_this) {\n var u = VariableLibrary.navigator.userAgent || ''\n var match = MethodLibrary.getMatchMap(u)\n for (var s in VariableLibrary.infoMap) {\n for (var i = 0; i < VariableLibrary.infoMap[s].length; i++) {\n var value = VariableLibrary.infoMap[s][i]\n if (match[value]) {\n _this[s] = value\n }\n }\n }\n },\n // 获取当前操作系统\n getOS: function () {\n var _this = this\n MethodLibrary.matchInfoMap(_this)\n return _this.os || 'Unknown'\n },\n // 获取操作系统版本\n getOSVersion: function () {\n var _this = this\n var u = VariableLibrary.navigator.userAgent || ''\n _this.osVersion = ''\n _this.osMajor = ''\n // 系统版本信息\n var osVersion = {\n Windows: function () {\n var v = u.replace(/^.*Windows NT ([\\d.]+);.*$/, '$1')\n var oldWindowsVersionMap = {\n 6.4: '10',\n 6.3: '8.1',\n 6.2: '8',\n 6.1: '7',\n '6.0': 'Vista',\n 5.2: 'XP',\n 5.1: 'XP',\n '5.0': '2000'\n }\n return oldWindowsVersionMap[v] || v\n },\n Android: function () {\n return u.replace(/^.*Android ([\\d.]+);.*$/, '$1')\n },\n iOS: function () {\n return u.replace(/^.*OS ([\\d_]+) like.*$/, '$1').replace(/_/g, '.')\n },\n Debian: function () {\n return u.replace(/^.*Debian\\/([\\d.]+).*$/, '$1')\n },\n 'Windows Phone': function () {\n return u.replace(/^.*Windows Phone( OS)? ([\\d.]+);.*$/, '$2')\n },\n 'Mac OS': function () {\n return u.replace(/^.*Mac OS X ([\\d_]+).*$/, '$1').replace(/_/g, '.')\n },\n WebOS: function () {\n return u.replace(/^.*hpwOS\\/([\\d.]+);.*$/, '$1')\n }\n }\n if (osVersion[_this.os]) {\n _this.osVersion = osVersion[_this.os]()\n if (_this.osVersion === u) {\n _this.osVersion = ''\n }\n }\n if (_this.osVersion) {\n _this.osMajor =\n _this.osVersion.split('.').length && _this.osVersion.split('.')[0]\n }\n return {\n version: _this.osVersion,\n osMajor: _this.osMajor\n }\n },\n // 获取横竖屏状态\n getOrientationStatu: function () {\n var orientationStatus = ''\n var orientation = window.matchMedia('(orientation: portrait)')\n if (orientation.matches) {\n orientationStatus = '竖屏'\n } else {\n orientationStatus = '横屏'\n }\n return orientationStatus\n },\n // 获取设备类型\n getDeviceType: function () {\n var _this = this\n _this.device = 'PC'\n MethodLibrary.matchInfoMap(_this)\n return _this.device\n },\n // 获取网络状态\n getNetwork: function () {\n var connection =\n window.navigator.connection ||\n window.navigator.mozConnection ||\n window.navigator.webkitConnection\n var result = 'unknown'\n var type = connection ? connection.type || connection.effectiveType : null\n if (type && typeof type === 'string') {\n switch (type) {\n // possible type values\n case 'bluetooth':\n case 'cellular':\n result = 'cellular'\n break\n case 'none':\n result = 'none'\n break\n case 'ethernet':\n case 'wifi':\n case 'wimax':\n result = 'wifi'\n break\n case 'other':\n case 'unknown':\n result = 'unknown'\n break\n // possible effectiveType values\n case 'slow-2g':\n case '2g':\n case '3g':\n result = 'cellular'\n break\n case '4g':\n result = 'wifi'\n break\n default:\n break\n }\n }\n return result\n },\n // 获取当前语言\n getLanguage: function () {\n var _this = this\n _this.language = (function () {\n var language =\n VariableLibrary.navigator.browserLanguage ||\n VariableLibrary.navigator.language ||\n ''\n var arr = language.split('-')\n if (arr[1]) {\n arr[1] = arr[1].toUpperCase()\n }\n return arr.join('_')\n })()\n return _this.language\n },\n // 浏览器信息\n getBrowserInfo: function () {\n var _this = this\n MethodLibrary.matchInfoMap(_this)\n\n var u = VariableLibrary.navigator.userAgent || ''\n\n var _mime = function (option, value) {\n var mimeTypes = VariableLibrary.navigator.mimeTypes\n for (var key in mimeTypes) {\n if (mimeTypes[key][option] == value) {\n return true\n }\n }\n return false\n }\n\n var match = MethodLibrary.getMatchMap(u)\n\n var is360 = false\n if (typeof window !== 'undefined' && window.chrome) {\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n if (chrome_version > 36 && window.showModalDialog) {\n is360 = true\n } else if (chrome_version > 45) {\n is360 = _mime('type', 'application/vnd.chromium.remoting-viewer')\n }\n }\n if (match['Baidu'] && match['Opera']) {\n match['Baidu'] = false\n }\n if (match['Mobile']) {\n match['Mobile'] = !(u.indexOf('iPad') > -1)\n }\n if (is360) {\n if (_mime('type', 'application/gameplugin')) {\n match['360SE'] = true\n } else if (\n VariableLibrary.navigator &&\n typeof VariableLibrary.navigator['connection']['saveData'] ==\n 'undefined'\n ) {\n match['360SE'] = true\n } else {\n match['360EE'] = true\n }\n }\n if (match['IE'] || match['Edge']) {\n var navigator_top = window.screenTop - window.screenY\n switch (navigator_top) {\n case 71: // 无收藏栏,贴边\n break\n case 74: // 无收藏栏,非贴边\n break\n case 99: // 有收藏栏,贴边\n break\n case 102: // 有收藏栏,非贴边\n match['360EE'] = true\n break\n case 75: // 无收藏栏,贴边\n break\n case 74: // 无收藏栏,非贴边\n break\n case 105: // 有收藏栏,贴边\n break\n case 104: // 有收藏栏,非贴边\n match['360SE'] = true\n break\n default:\n break\n }\n }\n\n var browerVersionMap = {\n Safari: function () {\n return u.replace(/^.*Version\\/([\\d.]+).*$/, '$1')\n },\n Chrome: function () {\n return u\n .replace(/^.*Chrome\\/([\\d.]+).*$/, '$1')\n .replace(/^.*CriOS\\/([\\d.]+).*$/, '$1')\n },\n IE: function () {\n return u\n .replace(/^.*MSIE ([\\d.]+).*$/, '$1')\n .replace(/^.*rv:([\\d.]+).*$/, '$1')\n },\n Edge: function () {\n return u.replace(/^.*Edge?\\/([\\d.]+).*$/, '$1')\n },\n Firefox: function () {\n return u\n .replace(/^.*Firefox\\/([\\d.]+).*$/, '$1')\n .replace(/^.*FxiOS\\/([\\d.]+).*$/, '$1')\n },\n 'Firefox Focus': function () {\n return u.replace(/^.*Focus\\/([\\d.]+).*$/, '$1')\n },\n Chromium: function () {\n return u.replace(/^.*Chromium\\/([\\d.]+).*$/, '$1')\n },\n Opera: function () {\n return u\n .replace(/^.*Opera\\/([\\d.]+).*$/, '$1')\n .replace(/^.*OPR\\/([\\d.]+).*$/, '$1')\n },\n Vivaldi: function () {\n return u.replace(/^.*Vivaldi\\/([\\d.]+).*$/, '$1')\n },\n Yandex: function () {\n return u.replace(/^.*YaBrowser\\/([\\d.]+).*$/, '$1')\n },\n Arora: function () {\n return u.replace(/^.*Arora\\/([\\d.]+).*$/, '$1')\n },\n Lunascape: function () {\n return u.replace(/^.*Lunascape[\\/\\s]([\\d.]+).*$/, '$1')\n },\n QupZilla: function () {\n return u.replace(/^.*QupZilla[\\/\\s]([\\d.]+).*$/, '$1')\n },\n 'Coc Coc': function () {\n return u.replace(/^.*coc_coc_browser\\/([\\d.]+).*$/, '$1')\n },\n Kindle: function () {\n return u.replace(/^.*Version\\/([\\d.]+).*$/, '$1')\n },\n Iceweasel: function () {\n return u.replace(/^.*Iceweasel\\/([\\d.]+).*$/, '$1')\n },\n Konqueror: function () {\n return u.replace(/^.*Konqueror\\/([\\d.]+).*$/, '$1')\n },\n Iceape: function () {\n return u.replace(/^.*Iceape\\/([\\d.]+).*$/, '$1')\n },\n SeaMonkey: function () {\n return u.replace(/^.*SeaMonkey\\/([\\d.]+).*$/, '$1')\n },\n Epiphany: function () {\n return u.replace(/^.*Epiphany\\/([\\d.]+).*$/, '$1')\n },\n 360: function () {\n return u.replace(/^.*QihooBrowser\\/([\\d.]+).*$/, '$1')\n },\n '360SE': function () {\n var hash = {\n 63: '10.0',\n 55: '9.1',\n 45: '8.1',\n 42: '8.0',\n 31: '7.0',\n 21: '6.3'\n }\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n return hash[chrome_version] || ''\n },\n '360EE': function () {\n var hash = { 69: '11.0', 63: '9.5', 55: '9.0', 50: '8.7', 30: '7.5' }\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n return hash[chrome_version] || ''\n },\n Maxthon: function () {\n return u.replace(/^.*Maxthon\\/([\\d.]+).*$/, '$1')\n },\n QQBrowser: function () {\n return u.replace(/^.*QQBrowser\\/([\\d.]+).*$/, '$1')\n },\n QQ: function () {\n return u.replace(/^.*QQ\\/([\\d.]+).*$/, '$1')\n },\n Baidu: function () {\n return u.replace(/^.*BIDUBrowser[\\s\\/]([\\d.]+).*$/, '$1')\n },\n UC: function () {\n return u.replace(/^.*UC?Browser\\/([\\d.]+).*$/, '$1')\n },\n Sogou: function () {\n return u\n .replace(/^.*SE ([\\d.X]+).*$/, '$1')\n .replace(/^.*SogouMobileBrowser\\/([\\d.]+).*$/, '$1')\n },\n LBBROWSER: function () {\n var version = ''\n if (u.indexOf('LieBaoFast') > -1) {\n version = u.replace(/^.*LieBaoFast\\/([\\d.]+).*$/, '$1')\n }\n var hash = {\n 57: '6.5',\n 49: '6.0',\n 46: '5.9',\n 42: '5.3',\n 39: '5.2',\n 34: '5.0',\n 29: '4.5',\n 21: '4.0'\n }\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n return version || hash[chrome_version] || ''\n },\n '2345Explorer': function () {\n return u.replace(/^.*2345Explorer\\/([\\d.]+).*$/, '$1')\n },\n TheWorld: function () {\n return u.replace(/^.*TheWorld ([\\d.]+).*$/, '$1')\n },\n XiaoMi: function () {\n return u.replace(/^.*MiuiBrowser\\/([\\d.]+).*$/, '$1')\n },\n Quark: function () {\n return u.replace(/^.*Quark\\/([\\d.]+).*$/, '$1')\n },\n Qiyu: function () {\n return u.replace(/^.*Qiyu\\/([\\d.]+).*$/, '$1')\n },\n Wechat: function () {\n return u.replace(/^.*MicroMessenger\\/([\\d.]+).*$/, '$1')\n },\n WechatWork: function () {\n return u.replace(/^.*wxwork\\/([\\d.]+).*$/, '$1')\n },\n Taobao: function () {\n return u.replace(/^.*AliApp\\(TB\\/([\\d.]+).*$/, '$1')\n },\n Alipay: function () {\n return u.replace(/^.*AliApp\\(AP\\/([\\d.]+).*$/, '$1')\n },\n Weibo: function () {\n return u.replace(/^.*weibo__([\\d.]+).*$/, '$1')\n },\n Douban: function () {\n return u.replace(/^.*com.douban.frodo\\/([\\d.]+).*$/, '$1')\n },\n Suning: function () {\n return u.replace(/^.*SNEBUY-APP([\\d.]+).*$/, '$1')\n },\n iQiYi: function () {\n return u.replace(/^.*IqiyiVersion\\/([\\d.]+).*$/, '$1')\n }\n }\n _this.browserVersion = ''\n _this.browserMajor = ''\n if (browerVersionMap[_this.browser]) {\n _this.browserVersion = browerVersionMap[_this.browser]()\n if (_this.browserVersion == u) {\n _this.browserVersion = ''\n }\n }\n if (_this.browser == 'Chrome' && u.match(/\\S+Browser/)) {\n _this.browser = u.match(/\\S+Browser/)[0]\n _this.version = u.replace(/^.*Browser\\/([\\d.]+).*$/, '$1')\n }\n if (_this.browser == 'Edge') {\n if (_this.version > '75') {\n _this.engine = 'Blink'\n } else {\n _this.engine = 'EdgeHTML'\n }\n }\n if (_this.browser == 'Chrome' && parseInt(_this.browserVersion) > 27) {\n _this.engine = 'Blink'\n } else if (\n match['Chrome'] &&\n _this.engine == 'WebKit' &&\n parseInt(_this.browserVersion) > 27\n ) {\n _this.engine = 'Blink'\n } else if (_this.browser == 'Opera' && parseInt(_this.version) > 12) {\n _this.engine = 'Blink'\n } else if (_this.browser == 'Yandex') {\n _this.engine = 'Blink'\n }\n if (_this.browserVersion) {\n _this.browserMajor =\n _this.browserVersion.split('.').length &&\n this.browserVersion.split('.')[0]\n }\n return {\n browser: _this.browser,\n browserVersion: _this.browserVersion,\n engine: _this.engine,\n browserMajor: _this.browserMajor\n }\n },\n // 获取地理位置\n getGeoPostion: function (callback) {\n navigator &&\n navigator.geolocation &&\n navigator.geolocation.getCurrentPosition(\n // 位置获取成功\n function (position) {\n callback(position)\n },\n // 位置获取失败\n function (error) {\n display.warn(error)\n }\n )\n }\n}\nvar _deviceInfo = {}\nif (typeof window !== 'undefined') {\n _deviceInfo = {\n os: MethodLibrary.getOS(),\n osVersion: MethodLibrary.getOSVersion().version,\n osVersionMajor: MethodLibrary.getOSVersion().osMajor,\n browser: MethodLibrary.getBrowserInfo().browser,\n browserVersion: MethodLibrary.getBrowserInfo().browserVersion,\n browserVersionMajor: MethodLibrary.getBrowserInfo().browserMajor,\n screenSize: window.screen.width + '*' + window.screen.height,\n networkType: MethodLibrary.getNetwork(),\n divice: MethodLibrary.getDeviceType()\n }\n}\nexport var deviceInfo = _deviceInfo\n"],"mappings":"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"}
1
+ {"version":3,"file":"deviceInfo.js","names":["_display","require","_monitor","VariableLibrary","navigator","window","infoMap","engine","browser","os","device","MethodLibrary","getMatchMap","monitor","u","Trident","indexOf","Presto","WebKit","Gecko","Safari","Chrome","IE","Edge","Firefox","Chromium","Opera","Vivaldi","Yandex","Arora","Lunascape","QupZilla","Kindle","Iceweasel","Konqueror","Iceape","SeaMonkey","Epiphany","UC","QQBrowser","QQ","Baidu","Maxthon","Sogou","LBBROWSER","TheWorld","XiaoMi","Quark","Qiyu","Wechat","Taobao","Alipay","Weibo","Douban","Suning","iQiYi","Windows","Linux","Android","Ubuntu","FreeBSD","Debian","BlackBerry","MeeGo","Symbian","iOS","WebOS","Mobile","Tablet","iPad","matchInfoMap","_this","userAgent","match","s","i","length","value","getOS","getOSVersion","osVersion","osMajor","v","replace","oldWindowsVersionMap","WindowsPhone","MacOS","split","version","getOrientationStatu","orientationStatus","orientation","matchMedia","matches","getDeviceType","getNetwork","connection","mozConnection","webkitConnection","result","type","effectiveType","getLanguage","language","browserLanguage","arr","toUpperCase","join","getBrowserInfo","_mime","option","mimeTypes","key","is360","chrome","chrome_version","showModalDialog","navigator_top","screenTop","screenY","browerVersionMap","FirefoxFocus","CocCoc","_","SE","hash","EE","Explorer","WechatWork","browserVersion","browserMajor","parseInt","getGeoPostion","callback","geolocation","getCurrentPosition","position","error","display","warn","_deviceInfo","osVersionMajor","browserVersionMajor","screenSize","screen","width","height","networkType","divice","deviceInfo","exports"],"sources":["../../src/helper/deviceInfo.js"],"sourcesContent":["import { display } from '../helper/display'\nimport { monitor } from '../helper/monitor'\nvar VariableLibrary = {\n navigator:\n typeof window !== 'undefined' && typeof window.navigator != 'undefined'\n ? window.navigator\n : {},\n // 信息map\n infoMap: {\n engine: ['WebKit', 'Trident', 'Gecko', 'Presto'],\n browser: [\n 'Safari',\n 'Chrome',\n 'Edge',\n 'IE',\n 'IE 11',\n 'IE 10',\n 'IE 9',\n 'IE 8',\n 'IE 7',\n 'Firefox',\n 'Firefox Focus',\n 'Chromium',\n 'Opera',\n 'Vivaldi',\n 'Yandex',\n 'Arora',\n 'Lunascape',\n 'QupZilla',\n 'Coc Coc',\n 'Kindle',\n 'Iceweasel',\n 'Konqueror',\n 'Iceape',\n 'SeaMonkey',\n 'Epiphany',\n '360',\n '360SE',\n '360EE',\n 'UC',\n 'QQBrowser',\n 'QQ',\n 'Baidu',\n 'Maxthon',\n 'Sogou',\n 'LBBROWSER',\n '2345Explorer',\n 'TheWorld',\n 'XiaoMi',\n 'Quark',\n 'Qiyu',\n 'Wechat',\n ,\n 'WechatWork',\n 'Taobao',\n 'Alipay',\n 'Weibo',\n 'Douban',\n 'Suning',\n 'iQiYi'\n ],\n os: [\n 'Windows',\n 'Linux',\n 'Mac OS',\n 'Android',\n 'Ubuntu',\n 'FreeBSD',\n 'Debian',\n 'iOS',\n 'Windows Phone',\n 'BlackBerry',\n 'MeeGo',\n 'Symbian',\n 'Chrome OS',\n 'WebOS'\n ],\n device: ['Mobile', 'Tablet', 'iPad']\n }\n}\n// 方法库\nvar MethodLibrary = {\n // 获取匹配库\n getMatchMap: monitor(function (u) {\n return {\n // 内核\n Trident: u.indexOf('Trident') > -1 || u.indexOf('NET CLR') > -1,\n Presto: u.indexOf('Presto') > -1,\n WebKit: u.indexOf('AppleWebKit') > -1,\n Gecko: u.indexOf('Gecko/') > -1,\n // 浏览器\n Safari: u.indexOf('Safari') > -1,\n Chrome: u.indexOf('Chrome') > -1 || u.indexOf('CriOS') > -1,\n IE: u.indexOf('MSIE') > -1 || u.indexOf('Trident') > -1,\n Edge: u.indexOf('Edge') > -1 || u.indexOf('Edg') > -1,\n Firefox: u.indexOf('Firefox') > -1 || u.indexOf('FxiOS') > -1,\n 'Firefox Focus': u.indexOf('Focus') > -1,\n Chromium: u.indexOf('Chromium') > -1,\n Opera: u.indexOf('Opera') > -1 || u.indexOf('OPR') > -1,\n Vivaldi: u.indexOf('Vivaldi') > -1,\n Yandex: u.indexOf('YaBrowser') > -1,\n Arora: u.indexOf('Arora') > -1,\n Lunascape: u.indexOf('Lunascape') > -1,\n QupZilla: u.indexOf('QupZilla') > -1,\n 'Coc Coc': u.indexOf('coc_coc_browser') > -1,\n Kindle: u.indexOf('Kindle') > -1 || u.indexOf('Silk/') > -1,\n Iceweasel: u.indexOf('Iceweasel') > -1,\n Konqueror: u.indexOf('Konqueror') > -1,\n Iceape: u.indexOf('Iceape') > -1,\n SeaMonkey: u.indexOf('SeaMonkey') > -1,\n Epiphany: u.indexOf('Epiphany') > -1,\n 360: u.indexOf('QihooBrowser') > -1 || u.indexOf('QHBrowser') > -1,\n '360EE': u.indexOf('360EE') > -1,\n '360SE': u.indexOf('360SE') > -1,\n UC: u.indexOf('UC') > -1 || u.indexOf(' UBrowser') > -1,\n QQBrowser: u.indexOf('QQBrowser') > -1,\n QQ: u.indexOf('QQ/') > -1,\n Baidu: u.indexOf('Baidu') > -1 || u.indexOf('BIDUBrowser') > -1,\n Maxthon: u.indexOf('Maxthon') > -1,\n Sogou: u.indexOf('MetaSr') > -1 || u.indexOf('Sogou') > -1,\n LBBROWSER: u.indexOf('LBBROWSER') > -1,\n '2345Explorer': u.indexOf('2345Explorer') > -1,\n TheWorld: u.indexOf('TheWorld') > -1,\n XiaoMi: u.indexOf('MiuiBrowser') > -1,\n Quark: u.indexOf('Quark') > -1,\n Qiyu: u.indexOf('Qiyu') > -1,\n Wechat: u.indexOf('MicroMessenger') > -1,\n Taobao: u.indexOf('AliApp(TB') > -1,\n Alipay: u.indexOf('AliApp(AP') > -1,\n Weibo: u.indexOf('Weibo') > -1,\n Douban: u.indexOf('com.douban.frodo') > -1,\n Suning: u.indexOf('SNEBUY-APP') > -1,\n iQiYi: u.indexOf('IqiyiApp') > -1,\n // 系统或平台\n Windows: u.indexOf('Windows') > -1,\n Linux: u.indexOf('Linux') > -1 || u.indexOf('X11') > -1,\n 'Mac OS': u.indexOf('Macintosh') > -1,\n Android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1,\n Ubuntu: u.indexOf('Ubuntu') > -1,\n FreeBSD: u.indexOf('FreeBSD') > -1,\n Debian: u.indexOf('Debian') > -1,\n 'Windows Phone':\n u.indexOf('IEMobile') > -1 || u.indexOf('Windows Phone') > -1,\n BlackBerry: u.indexOf('BlackBerry') > -1 || u.indexOf('RIM') > -1,\n MeeGo: u.indexOf('MeeGo') > -1,\n Symbian: u.indexOf('Symbian') > -1,\n iOS: u.indexOf('like Mac OS X') > -1,\n 'Chrome OS': u.indexOf('CrOS') > -1,\n WebOS: u.indexOf('hpwOS') > -1,\n // 设备\n Mobile:\n u.indexOf('Mobi') > -1 ||\n u.indexOf('iPh') > -1 ||\n u.indexOf('480') > -1,\n Tablet: u.indexOf('Tablet') > -1 || u.indexOf('Nexus 7') > -1,\n iPad: u.indexOf('iPad') > -1\n }\n }),\n // 在信息map和匹配库中进行匹配\n matchInfoMap: monitor(function (_this) {\n var u = VariableLibrary.navigator.userAgent || ''\n var match = MethodLibrary.getMatchMap(u)\n for (var s in VariableLibrary.infoMap) {\n for (var i = 0; i < VariableLibrary.infoMap[s].length; i++) {\n var value = VariableLibrary.infoMap[s][i]\n if (match[value]) {\n _this[s] = value\n }\n }\n }\n }),\n // 获取当前操作系统\n getOS: monitor(function () {\n var _this = this\n MethodLibrary.matchInfoMap(_this)\n return _this.os || 'Unknown'\n }),\n // 获取操作系统版本\n getOSVersion: monitor(function () {\n var _this = this\n var u = VariableLibrary.navigator.userAgent || ''\n _this.osVersion = ''\n _this.osMajor = ''\n // 系统版本信息\n var osVersion = {\n Windows: function () {\n var v = u.replace(/^.*Windows NT ([\\d.]+);.*$/, '$1')\n var oldWindowsVersionMap = {\n 6.4: '10',\n 6.3: '8.1',\n 6.2: '8',\n 6.1: '7',\n '6.0': 'Vista',\n 5.2: 'XP',\n 5.1: 'XP',\n '5.0': '2000'\n }\n return oldWindowsVersionMap[v] || v\n },\n Android: function () {\n return u.replace(/^.*Android ([\\d.]+);.*$/, '$1')\n },\n iOS: function () {\n return u.replace(/^.*OS ([\\d_]+) like.*$/, '$1').replace(/_/g, '.')\n },\n Debian: function () {\n return u.replace(/^.*Debian\\/([\\d.]+).*$/, '$1')\n },\n 'Windows Phone': function () {\n return u.replace(/^.*Windows Phone( OS)? ([\\d.]+);.*$/, '$2')\n },\n 'Mac OS': function () {\n return u.replace(/^.*Mac OS X ([\\d_]+).*$/, '$1').replace(/_/g, '.')\n },\n WebOS: function () {\n return u.replace(/^.*hpwOS\\/([\\d.]+);.*$/, '$1')\n }\n }\n if (osVersion[_this.os]) {\n _this.osVersion = osVersion[_this.os]()\n if (_this.osVersion === u) {\n _this.osVersion = ''\n }\n }\n if (_this.osVersion) {\n _this.osMajor =\n _this.osVersion.split('.').length && _this.osVersion.split('.')[0]\n }\n return {\n version: _this.osVersion,\n osMajor: _this.osMajor\n }\n }),\n // 获取横竖屏状态\n getOrientationStatu: monitor(function () {\n var orientationStatus = ''\n var orientation = window.matchMedia('(orientation: portrait)')\n if (orientation.matches) {\n orientationStatus = '竖屏'\n } else {\n orientationStatus = '横屏'\n }\n return orientationStatus\n }),\n // 获取设备类型\n getDeviceType: monitor(function () {\n var _this = this\n _this.device = 'PC'\n MethodLibrary.matchInfoMap(_this)\n return _this.device\n }),\n // 获取网络状态\n getNetwork: monitor(function () {\n var connection =\n window.navigator.connection ||\n window.navigator.mozConnection ||\n window.navigator.webkitConnection\n var result = 'unknown'\n var type = connection ? connection.type || connection.effectiveType : null\n if (type && typeof type === 'string') {\n switch (type) {\n // possible type values\n case 'bluetooth':\n case 'cellular':\n result = 'cellular'\n break\n case 'none':\n result = 'none'\n break\n case 'ethernet':\n case 'wifi':\n case 'wimax':\n result = 'wifi'\n break\n case 'other':\n case 'unknown':\n result = 'unknown'\n break\n // possible effectiveType values\n case 'slow-2g':\n case '2g':\n case '3g':\n result = 'cellular'\n break\n case '4g':\n result = 'wifi'\n break\n default:\n break\n }\n }\n return result\n }),\n // 获取当前语言\n getLanguage: monitor(function () {\n var _this = this\n _this.language = (function () {\n var language =\n VariableLibrary.navigator.browserLanguage ||\n VariableLibrary.navigator.language ||\n ''\n var arr = language.split('-')\n if (arr[1]) {\n arr[1] = arr[1].toUpperCase()\n }\n return arr.join('_')\n })()\n return _this.language\n }),\n // 浏览器信息\n getBrowserInfo: monitor(function () {\n var _this = this\n MethodLibrary.matchInfoMap(_this)\n\n var u = VariableLibrary.navigator.userAgent || ''\n\n var _mime = function (option, value) {\n var mimeTypes = VariableLibrary.navigator.mimeTypes\n for (var key in mimeTypes) {\n if (mimeTypes[key][option] == value) {\n return true\n }\n }\n return false\n }\n\n var match = MethodLibrary.getMatchMap(u)\n\n var is360 = false\n if (typeof window !== 'undefined' && window.chrome) {\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n if (chrome_version > 36 && window.showModalDialog) {\n is360 = true\n } else if (chrome_version > 45) {\n is360 = _mime('type', 'application/vnd.chromium.remoting-viewer')\n }\n }\n if (match['Baidu'] && match['Opera']) {\n match['Baidu'] = false\n }\n if (match['Mobile']) {\n match['Mobile'] = !(u.indexOf('iPad') > -1)\n }\n if (is360) {\n if (_mime('type', 'application/gameplugin')) {\n match['360SE'] = true\n } else if (\n VariableLibrary.navigator &&\n VariableLibrary.navigator.connection &&\n typeof VariableLibrary.navigator['connection']['saveData'] ==\n 'undefined'\n ) {\n match['360SE'] = true\n } else {\n match['360EE'] = true\n }\n }\n if (match['IE'] || match['Edge']) {\n var navigator_top = window.screenTop - window.screenY\n switch (navigator_top) {\n case 71: // 无收藏栏,贴边\n break\n case 74: // 无收藏栏,非贴边\n break\n case 99: // 有收藏栏,贴边\n break\n case 102: // 有收藏栏,非贴边\n match['360EE'] = true\n break\n case 75: // 无收藏栏,贴边\n break\n case 74: // 无收藏栏,非贴边\n break\n case 105: // 有收藏栏,贴边\n break\n case 104: // 有收藏栏,非贴边\n match['360SE'] = true\n break\n default:\n break\n }\n }\n\n var browerVersionMap = {\n Safari: function () {\n return u.replace(/^.*Version\\/([\\d.]+).*$/, '$1')\n },\n Chrome: function () {\n return u\n .replace(/^.*Chrome\\/([\\d.]+).*$/, '$1')\n .replace(/^.*CriOS\\/([\\d.]+).*$/, '$1')\n },\n IE: function () {\n return u\n .replace(/^.*MSIE ([\\d.]+).*$/, '$1')\n .replace(/^.*rv:([\\d.]+).*$/, '$1')\n },\n Edge: function () {\n return u.replace(/^.*Edge?\\/([\\d.]+).*$/, '$1')\n },\n Firefox: function () {\n return u\n .replace(/^.*Firefox\\/([\\d.]+).*$/, '$1')\n .replace(/^.*FxiOS\\/([\\d.]+).*$/, '$1')\n },\n 'Firefox Focus': function () {\n return u.replace(/^.*Focus\\/([\\d.]+).*$/, '$1')\n },\n Chromium: function () {\n return u.replace(/^.*Chromium\\/([\\d.]+).*$/, '$1')\n },\n Opera: function () {\n return u\n .replace(/^.*Opera\\/([\\d.]+).*$/, '$1')\n .replace(/^.*OPR\\/([\\d.]+).*$/, '$1')\n },\n Vivaldi: function () {\n return u.replace(/^.*Vivaldi\\/([\\d.]+).*$/, '$1')\n },\n Yandex: function () {\n return u.replace(/^.*YaBrowser\\/([\\d.]+).*$/, '$1')\n },\n Arora: function () {\n return u.replace(/^.*Arora\\/([\\d.]+).*$/, '$1')\n },\n Lunascape: function () {\n return u.replace(/^.*Lunascape[\\/\\s]([\\d.]+).*$/, '$1')\n },\n QupZilla: function () {\n return u.replace(/^.*QupZilla[\\/\\s]([\\d.]+).*$/, '$1')\n },\n 'Coc Coc': function () {\n return u.replace(/^.*coc_coc_browser\\/([\\d.]+).*$/, '$1')\n },\n Kindle: function () {\n return u.replace(/^.*Version\\/([\\d.]+).*$/, '$1')\n },\n Iceweasel: function () {\n return u.replace(/^.*Iceweasel\\/([\\d.]+).*$/, '$1')\n },\n Konqueror: function () {\n return u.replace(/^.*Konqueror\\/([\\d.]+).*$/, '$1')\n },\n Iceape: function () {\n return u.replace(/^.*Iceape\\/([\\d.]+).*$/, '$1')\n },\n SeaMonkey: function () {\n return u.replace(/^.*SeaMonkey\\/([\\d.]+).*$/, '$1')\n },\n Epiphany: function () {\n return u.replace(/^.*Epiphany\\/([\\d.]+).*$/, '$1')\n },\n 360: function () {\n return u.replace(/^.*QihooBrowser\\/([\\d.]+).*$/, '$1')\n },\n '360SE': function () {\n var hash = {\n 63: '10.0',\n 55: '9.1',\n 45: '8.1',\n 42: '8.0',\n 31: '7.0',\n 21: '6.3'\n }\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n return hash[chrome_version] || ''\n },\n '360EE': function () {\n var hash = { 69: '11.0', 63: '9.5', 55: '9.0', 50: '8.7', 30: '7.5' }\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n return hash[chrome_version] || ''\n },\n Maxthon: function () {\n return u.replace(/^.*Maxthon\\/([\\d.]+).*$/, '$1')\n },\n QQBrowser: function () {\n return u.replace(/^.*QQBrowser\\/([\\d.]+).*$/, '$1')\n },\n QQ: function () {\n return u.replace(/^.*QQ\\/([\\d.]+).*$/, '$1')\n },\n Baidu: function () {\n return u.replace(/^.*BIDUBrowser[\\s\\/]([\\d.]+).*$/, '$1')\n },\n UC: function () {\n return u.replace(/^.*UC?Browser\\/([\\d.]+).*$/, '$1')\n },\n Sogou: function () {\n return u\n .replace(/^.*SE ([\\d.X]+).*$/, '$1')\n .replace(/^.*SogouMobileBrowser\\/([\\d.]+).*$/, '$1')\n },\n LBBROWSER: function () {\n var version = ''\n if (u.indexOf('LieBaoFast') > -1) {\n version = u.replace(/^.*LieBaoFast\\/([\\d.]+).*$/, '$1')\n }\n var hash = {\n 57: '6.5',\n 49: '6.0',\n 46: '5.9',\n 42: '5.3',\n 39: '5.2',\n 34: '5.0',\n 29: '4.5',\n 21: '4.0'\n }\n var chrome_version = u.replace(/^.*Chrome\\/([\\d]+).*$/, '$1')\n return version || hash[chrome_version] || ''\n },\n '2345Explorer': function () {\n return u.replace(/^.*2345Explorer\\/([\\d.]+).*$/, '$1')\n },\n TheWorld: function () {\n return u.replace(/^.*TheWorld ([\\d.]+).*$/, '$1')\n },\n XiaoMi: function () {\n return u.replace(/^.*MiuiBrowser\\/([\\d.]+).*$/, '$1')\n },\n Quark: function () {\n return u.replace(/^.*Quark\\/([\\d.]+).*$/, '$1')\n },\n Qiyu: function () {\n return u.replace(/^.*Qiyu\\/([\\d.]+).*$/, '$1')\n },\n Wechat: function () {\n return u.replace(/^.*MicroMessenger\\/([\\d.]+).*$/, '$1')\n },\n WechatWork: function () {\n return u.replace(/^.*wxwork\\/([\\d.]+).*$/, '$1')\n },\n Taobao: function () {\n return u.replace(/^.*AliApp\\(TB\\/([\\d.]+).*$/, '$1')\n },\n Alipay: function () {\n return u.replace(/^.*AliApp\\(AP\\/([\\d.]+).*$/, '$1')\n },\n Weibo: function () {\n return u.replace(/^.*weibo__([\\d.]+).*$/, '$1')\n },\n Douban: function () {\n return u.replace(/^.*com.douban.frodo\\/([\\d.]+).*$/, '$1')\n },\n Suning: function () {\n return u.replace(/^.*SNEBUY-APP([\\d.]+).*$/, '$1')\n },\n iQiYi: function () {\n return u.replace(/^.*IqiyiVersion\\/([\\d.]+).*$/, '$1')\n }\n }\n _this.browserVersion = ''\n _this.browserMajor = ''\n if (browerVersionMap[_this.browser]) {\n _this.browserVersion = browerVersionMap[_this.browser]()\n if (_this.browserVersion == u) {\n _this.browserVersion = ''\n }\n }\n if (_this.browser == 'Chrome' && u.match(/\\S+Browser/)) {\n _this.browser = u.match(/\\S+Browser/)[0]\n _this.version = u.replace(/^.*Browser\\/([\\d.]+).*$/, '$1')\n }\n if (_this.browser == 'Edge') {\n if (_this.version > '75') {\n _this.engine = 'Blink'\n } else {\n _this.engine = 'EdgeHTML'\n }\n }\n if (_this.browser == 'Chrome' && parseInt(_this.browserVersion) > 27) {\n _this.engine = 'Blink'\n } else if (\n match['Chrome'] &&\n _this.engine == 'WebKit' &&\n parseInt(_this.browserVersion) > 27\n ) {\n _this.engine = 'Blink'\n } else if (_this.browser == 'Opera' && parseInt(_this.version) > 12) {\n _this.engine = 'Blink'\n } else if (_this.browser == 'Yandex') {\n _this.engine = 'Blink'\n }\n if (_this.browserVersion) {\n _this.browserMajor =\n _this.browserVersion.split('.').length &&\n this.browserVersion.split('.')[0]\n }\n return {\n browser: _this.browser,\n browserVersion: _this.browserVersion,\n engine: _this.engine,\n browserMajor: _this.browserMajor\n }\n }),\n // 获取地理位置\n getGeoPostion: monitor(function (callback) {\n navigator &&\n navigator.geolocation &&\n navigator.geolocation.getCurrentPosition(\n // 位置获取成功\n function (position) {\n callback(position)\n },\n // 位置获取失败\n function (error) {\n display.warn(error)\n }\n )\n })\n}\nvar _deviceInfo = {}\nif (typeof window !== 'undefined') {\n _deviceInfo = {\n os: MethodLibrary.getOS(),\n MethodLibrary,\n osVersion: MethodLibrary.getOSVersion().version,\n osVersionMajor: MethodLibrary.getOSVersion().osMajor,\n browser: MethodLibrary.getBrowserInfo().browser,\n browserVersion: MethodLibrary.getBrowserInfo().browserVersion,\n browserVersionMajor: MethodLibrary.getBrowserInfo().browserMajor,\n screenSize: window.screen.width + '*' + window.screen.height,\n networkType: MethodLibrary.getNetwork(),\n divice: MethodLibrary.getDeviceType()\n }\n}\nexport var deviceInfo = _deviceInfo\n"],"mappings":"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"}