@antglobal/rlog-sdk 0.0.1755855517-dev.10 → 0.0.1755855517-dev.11

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.
Files changed (51) hide show
  1. package/README.md +48 -8
  2. package/dist/esm/index.d.ts +10 -46
  3. package/dist/esm/index.d.ts.map +1 -1
  4. package/dist/esm/index.js +27 -70
  5. package/dist/esm/lib/api.d.ts.map +1 -1
  6. package/dist/esm/lib/api.js +19 -13
  7. package/dist/esm/lib/config.d.ts +1 -8
  8. package/dist/esm/lib/config.d.ts.map +1 -1
  9. package/dist/esm/lib/config.js +18 -18
  10. package/dist/esm/lib/error-trigger.d.ts +1 -3
  11. package/dist/esm/lib/error-trigger.d.ts.map +1 -1
  12. package/dist/esm/lib/error-trigger.js +1 -8
  13. package/dist/esm/lib/error.d.ts.map +1 -1
  14. package/dist/esm/lib/error.js +8 -40
  15. package/dist/esm/lib/init.d.ts.map +1 -1
  16. package/dist/esm/lib/init.js +4 -12
  17. package/dist/esm/lib/net.d.ts +5 -0
  18. package/dist/esm/lib/net.d.ts.map +1 -1
  19. package/dist/esm/lib/net.js +8 -0
  20. package/dist/esm/lib/router-monitor.d.ts.map +1 -1
  21. package/dist/esm/lib/router-monitor.js +10 -36
  22. package/dist/esm/lib/rrweb.d.ts.map +1 -1
  23. package/dist/esm/lib/rrweb.js +8 -8
  24. package/dist/esm/lib/uploader.d.ts.map +1 -1
  25. package/dist/esm/lib/uploader.js +27 -19
  26. package/dist/lib/index.d.ts +10 -46
  27. package/dist/lib/index.d.ts.map +1 -1
  28. package/dist/lib/index.js +9 -58
  29. package/dist/lib/lib/api.d.ts.map +1 -1
  30. package/dist/lib/lib/api.js +19 -13
  31. package/dist/lib/lib/config.d.ts +1 -8
  32. package/dist/lib/lib/config.d.ts.map +1 -1
  33. package/dist/lib/lib/config.js +18 -18
  34. package/dist/lib/lib/error-trigger.d.ts +1 -3
  35. package/dist/lib/lib/error-trigger.d.ts.map +1 -1
  36. package/dist/lib/lib/error-trigger.js +1 -8
  37. package/dist/lib/lib/error.d.ts.map +1 -1
  38. package/dist/lib/lib/error.js +8 -40
  39. package/dist/lib/lib/init.d.ts.map +1 -1
  40. package/dist/lib/lib/init.js +3 -11
  41. package/dist/lib/lib/net.d.ts +5 -0
  42. package/dist/lib/lib/net.d.ts.map +1 -1
  43. package/dist/lib/lib/net.js +9 -0
  44. package/dist/lib/lib/router-monitor.d.ts.map +1 -1
  45. package/dist/lib/lib/router-monitor.js +10 -36
  46. package/dist/lib/lib/rrweb.d.ts.map +1 -1
  47. package/dist/lib/lib/rrweb.js +8 -8
  48. package/dist/lib/lib/uploader.d.ts.map +1 -1
  49. package/dist/lib/lib/uploader.js +27 -19
  50. package/dist/rlog-sdk.min.js +1 -1
  51. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/lib/api.ts"],"names":[],"mappings":"AAIA,KAAK,aAAa,GAAG;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAqBF,eAAO,MAAM,MAAM,QAAe,aAAa,kBAoD9C,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/lib/api.ts"],"names":[],"mappings":"AAKA,KAAK,aAAa,GAAG;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAqBF,eAAO,MAAM,MAAM,QAAe,aAAa,kBAuD9C,CAAC"}
@@ -7,6 +7,7 @@ exports.upload = void 0;
7
7
  var _utils = require("./utils");
8
8
  var _request = require("./request");
9
9
  var _config = require("./config");
10
+ var _net = require("./net");
10
11
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
11
12
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
12
13
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
@@ -31,7 +32,7 @@ var getCachedParam = function getCachedParam(paramName) {
31
32
  var upload = exports.upload = /*#__PURE__*/function () {
32
33
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(opt) {
33
34
  var _opt$data, _opt$data2;
34
- var lastIndex, queryParams, config, paramsToReport, queryString, api, formData, response, responseData, error;
35
+ var lastIndex, queryParams, config, paramsToReport, queryString, api, formData, customHeaders, response, responseData, error;
35
36
  return _regeneratorRuntime().wrap(function _callee$(_context) {
36
37
  while (1) switch (_context.prev = _context.next) {
37
38
  case 0:
@@ -59,31 +60,36 @@ var upload = exports.upload = /*#__PURE__*/function () {
59
60
  api = "".concat(opt.url).concat(queryString ? "?".concat(queryString) : '');
60
61
  formData = new FormData();
61
62
  formData.append('file', new Blob([JSON.stringify(opt.data)]), (0, _utils.generateUUIDCompat)() + '.json');
62
- _context.next = 12;
63
- return (0, _request.post)(api, formData);
64
- case 12:
63
+
64
+ // 获取自定义请求头
65
+ customHeaders = (0, _net.getCustomHeaders)();
66
+ _context.next = 13;
67
+ return (0, _request.post)(api, formData, {
68
+ headers: customHeaders
69
+ });
70
+ case 13:
65
71
  response = _context.sent;
66
- _context.prev = 13;
72
+ _context.prev = 14;
67
73
  responseData = typeof response.data === 'string' ? JSON.parse(response.data) : response.data;
68
- _context.next = 20;
74
+ _context.next = 21;
69
75
  break;
70
- case 17:
71
- _context.prev = 17;
72
- _context.t0 = _context["catch"](13);
76
+ case 18:
77
+ _context.prev = 18;
78
+ _context.t0 = _context["catch"](14);
73
79
  return _context.abrupt("return");
74
- case 20:
80
+ case 21:
75
81
  if (!(responseData && _typeof(responseData) === 'object' && responseData.success === false)) {
76
- _context.next = 24;
82
+ _context.next = 25;
77
83
  break;
78
84
  }
79
85
  error = new Error(responseData.errorMessage || 'Upload failed with success=false'); // 将完整的响应数据附加到错误对象上
80
86
  error.responseData = responseData;
81
87
  throw error;
82
- case 24:
88
+ case 25:
83
89
  case "end":
84
90
  return _context.stop();
85
91
  }
86
- }, _callee, null, [[13, 17]]);
92
+ }, _callee, null, [[14, 18]]);
87
93
  }));
88
94
  return function upload(_x) {
89
95
  return _ref.apply(this, arguments);
@@ -11,8 +11,6 @@ export interface ConsoleRecordConfig {
11
11
  export interface ErrorCaptureConfig {
12
12
  beforeDuration?: number;
13
13
  afterDuration?: number;
14
- maxBufferSize?: number;
15
- triggerErrors?: ('js' | 'promise' | 'resource' | 'http' | 'custom')[];
16
14
  httpErrorThreshold?: number;
17
15
  }
18
16
  export interface CdnConfig {
@@ -21,8 +19,8 @@ export interface CdnConfig {
21
19
  ignoreClass?: string;
22
20
  blockClass?: string;
23
21
  maskTextClass?: string;
24
- samplingRate: number;
25
22
  sampling?: {
23
+ canvas?: number;
26
24
  mousemove?: number | boolean;
27
25
  scroll?: number;
28
26
  input?: 'all' | 'last';
@@ -35,17 +33,12 @@ export interface CdnConfig {
35
33
  clearStorageBeforeRecord?: boolean;
36
34
  console?: ConsoleRecordConfig;
37
35
  http?: boolean;
38
- error?: boolean;
39
36
  routerMonitor?: {
40
37
  enable?: boolean;
41
38
  trackHashChange?: boolean;
42
39
  trackHistoryChange?: boolean;
43
40
  trackPageStayTime?: boolean;
44
41
  ignoreRoutes?: string[];
45
- customMatchers?: Array<{
46
- pattern: string | RegExp;
47
- name?: string;
48
- }>;
49
42
  };
50
43
  packEvents?: boolean;
51
44
  captureMode?: 'full' | 'error';
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAElC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,KAAK,CAAC,EAAE,CACJ,QAAQ,GACR,OAAO,GACP,OAAO,GACP,YAAY,GACZ,OAAO,GACP,KAAK,GACL,QAAQ,GACR,OAAO,GACP,OAAO,GACP,gBAAgB,GAChB,UAAU,GACV,MAAM,GACN,KAAK,GACL,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,GACT,OAAO,GACP,MAAM,CACT,EAAE,CAAC;IAEJ,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gBAAgB,CAAC,EAAE;QAEjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAE3B,cAAc,CAAC,EAAE,MAAM,CAAC;QAExB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAGD,MAAM,WAAW,kBAAkB;IAEjC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,aAAa,CAAC,EAAE,CAAC,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC;IAEtE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAGD,MAAM,WAAW,SAAS;IAExB,MAAM,EAAE,OAAO,CAAC;IAEhB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,YAAY,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE;QAET,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAE7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;KACxB,CAAC;IAGF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,cAAc,EAAE,MAAM,CAAC;IAEvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG5B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAGnC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAG9B,IAAI,CAAC,EAAE,OAAO,CAAC;IAGf,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QAEjB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAExB,cAAc,CAAC,EAAE,KAAK,CAAC;YACrB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC,CAAC;KACJ,CAAC;IAGF,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAG/B,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AAkDD;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAqC3E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAEhE;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,SAAS,CAErC;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAElC,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,KAAK,CAAC,EAAE,CACJ,QAAQ,GACR,OAAO,GACP,OAAO,GACP,YAAY,GACZ,OAAO,GACP,KAAK,GACL,QAAQ,GACR,OAAO,GACP,OAAO,GACP,gBAAgB,GAChB,UAAU,GACV,MAAM,GACN,KAAK,GACL,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,GACT,OAAO,GACP,MAAM,CACT,EAAE,CAAC;IAEJ,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gBAAgB,CAAC,EAAE;QAEjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAE3B,cAAc,CAAC,EAAE,MAAM,CAAC;QAExB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAGD,MAAM,WAAW,kBAAkB;IAEjC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAGD,MAAM,WAAW,SAAS;IAExB,MAAM,EAAE,OAAO,CAAC;IAEhB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,EAAE;QAET,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAE7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;KACxB,CAAC;IAGF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,cAAc,EAAE,MAAM,CAAC;IAEvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG5B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAGnC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAG9B,IAAI,CAAC,EAAE,OAAO,CAAC;IAGf,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QAEjB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IAGF,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAG/B,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC;AA8CD;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAuC3E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAEhE;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,SAAS,CAErC;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtE"}
@@ -10,6 +10,7 @@ exports.updateConfig = updateConfig;
10
10
  var _request = require("./request");
11
11
  var _utils = require("./utils");
12
12
  var _logger = _interopRequireDefault(require("./logger"));
13
+ var _net = require("./net");
13
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
15
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
15
16
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
@@ -29,7 +30,6 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
29
30
  // 默认配置
30
31
  var DEFAULT_CONFIG = {
31
32
  enable: true,
32
- samplingRate: 15,
33
33
  uploadInterval: 2000,
34
34
  configUpdateInterval: 300000,
35
35
  // 5分钟
@@ -50,14 +50,14 @@ var DEFAULT_CONFIG = {
50
50
  blockClass: 'rr-block',
51
51
  maskTextClass: 'rr-mask',
52
52
  sampling: {
53
+ canvas: 15,
54
+ // Canvas 采样率 (帧/秒)
53
55
  mousemove: 50,
54
56
  // 每50ms最多采集一次mousemove事件
55
57
  scroll: 100,
56
58
  // 滚动事件防抖,每100ms采集一次,
57
59
  input: 'last' // 输入只记录最后一次,
58
60
  },
59
- error: false,
60
- // 默认不启用错误处理
61
61
  packEvents: false,
62
62
  // 默认不使用rrweb的packFn压缩事件数据
63
63
  clearStorageBeforeRecord: true,
@@ -67,8 +67,6 @@ var DEFAULT_CONFIG = {
67
67
  errorCapture: {
68
68
  beforeDuration: 30000,
69
69
  afterDuration: 30000,
70
- maxBufferSize: 10000,
71
- triggerErrors: ['js', 'promise', 'resource', 'http', 'custom'],
72
70
  httpErrorThreshold: 400
73
71
  },
74
72
  // 路由监控配置
@@ -80,9 +78,7 @@ var DEFAULT_CONFIG = {
80
78
  trackHistoryChange: true,
81
79
  trackPageStayTime: true,
82
80
  // 是否计算页面停留时间
83
- ignoreRoutes: [],
84
- // 路由是否应该被忽略
85
- customMatchers: [] // 自定义匹配规则
81
+ ignoreRoutes: [] // 路由是否应该被忽略
86
82
  }
87
83
  };
88
84
 
@@ -103,21 +99,25 @@ function fetchConfigFromCdn(_x) {
103
99
  */
104
100
  function _fetchConfigFromCdn() {
105
101
  _fetchConfigFromCdn = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(cdnUrl) {
106
- var response, config;
102
+ var customHeaders, response, config;
107
103
  return _regeneratorRuntime().wrap(function _callee$(_context) {
108
104
  while (1) switch (_context.prev = _context.next) {
109
105
  case 0:
110
106
  _context.prev = 0;
111
- _context.next = 3;
112
- return (0, _request.get)(cdnUrl);
113
- case 3:
107
+ // 从 net.ts 中获取自定义请求头
108
+ customHeaders = (0, _net.getCustomHeaders)();
109
+ _context.next = 4;
110
+ return (0, _request.get)(cdnUrl, {
111
+ headers: customHeaders
112
+ });
113
+ case 4:
114
114
  response = _context.sent;
115
115
  if (response.ok) {
116
- _context.next = 6;
116
+ _context.next = 7;
117
117
  break;
118
118
  }
119
119
  throw new Error("Failed to fetch config: ".concat(response.status));
120
- case 6:
120
+ case 7:
121
121
  config = {}; // 处理三种不同的响应格式
122
122
  if (response.data) {
123
123
  // 情况1: response.data 直接就是配置对象
@@ -138,16 +138,16 @@ function _fetchConfigFromCdn() {
138
138
  }
139
139
  }
140
140
  return _context.abrupt("return", (0, _utils.deepMergeConfig)(DEFAULT_CONFIG, config));
141
- case 11:
142
- _context.prev = 11;
141
+ case 12:
142
+ _context.prev = 12;
143
143
  _context.t0 = _context["catch"](0);
144
144
  _logger.default.warn('Failed to fetch config from CDN, using default config', _context.t0);
145
145
  return _context.abrupt("return", _objectSpread({}, DEFAULT_CONFIG));
146
- case 15:
146
+ case 16:
147
147
  case "end":
148
148
  return _context.stop();
149
149
  }
150
- }, _callee, null, [[0, 11]]);
150
+ }, _callee, null, [[0, 12]]);
151
151
  }));
152
152
  return _fetchConfigFromCdn.apply(this, arguments);
153
153
  }
@@ -21,7 +21,7 @@
21
21
  * 统一的上传逻辑由 uploader.ts 中的 startUploadLoop 处理。
22
22
  */
23
23
  export interface ErrorInfo {
24
- type: 'js' | 'promise' | 'resource' | 'http' | 'custom';
24
+ type: string;
25
25
  message?: string;
26
26
  timestamp: number;
27
27
  [key: string]: any;
@@ -29,14 +29,12 @@ export interface ErrorInfo {
29
29
  export declare class ErrorTrigger {
30
30
  private beforeDuration;
31
31
  private afterDuration;
32
- private triggerErrors;
33
32
  private state;
34
33
  private cooldownTimer;
35
34
  private destroyed;
36
35
  constructor(options?: {
37
36
  beforeDuration?: number;
38
37
  afterDuration?: number;
39
- triggerErrors?: string[];
40
38
  });
41
39
  /**
42
40
  * 当前是否处于持续上传状态
@@ -1 +1 @@
1
- {"version":3,"file":"error-trigger.d.ts","sourceRoot":"","sources":["../../../src/lib/error-trigger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAID,qBAAa,YAAY;IACvB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAc;IAGnC,OAAO,CAAC,KAAK,CAAwB;IAGrC,OAAO,CAAC,aAAa,CAA8C;IAGnE,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,GAAE;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB;IAQN;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAmBnC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;OAEG;IACH,OAAO,IAAI,IAAI;CAahB"}
1
+ {"version":3,"file":"error-trigger.d.ts","sourceRoot":"","sources":["../../../src/lib/error-trigger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAID,qBAAa,YAAY;IACvB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAS;IAG9B,OAAO,CAAC,KAAK,CAAwB;IAGrC,OAAO,CAAC,aAAa,CAA8C;IAGnE,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,GAAE;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;KACnB;IAKN;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAcnC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;OAEG;IACH,OAAO,IAAI,IAAI;CAahB"}
@@ -37,12 +37,11 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
37
37
  */
38
38
  var ErrorTrigger = exports.ErrorTrigger = /*#__PURE__*/function () {
39
39
  function ErrorTrigger() {
40
- var _options$beforeDurati, _options$afterDuratio, _options$triggerError;
40
+ var _options$beforeDurati, _options$afterDuratio;
41
41
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
42
42
  _classCallCheck(this, ErrorTrigger);
43
43
  _defineProperty(this, "beforeDuration", void 0);
44
44
  _defineProperty(this, "afterDuration", void 0);
45
- _defineProperty(this, "triggerErrors", void 0);
46
45
  // 状态机
47
46
  _defineProperty(this, "state", 'idle');
48
47
  // afterDuration 倒计时定时器
@@ -51,7 +50,6 @@ var ErrorTrigger = exports.ErrorTrigger = /*#__PURE__*/function () {
51
50
  _defineProperty(this, "destroyed", false);
52
51
  this.beforeDuration = (_options$beforeDurati = options.beforeDuration) !== null && _options$beforeDurati !== void 0 ? _options$beforeDurati : 30000;
53
52
  this.afterDuration = (_options$afterDuratio = options.afterDuration) !== null && _options$afterDuratio !== void 0 ? _options$afterDuratio : 30000;
54
- this.triggerErrors = new Set((_options$triggerError = options.triggerErrors) !== null && _options$triggerError !== void 0 ? _options$triggerError : ['js', 'promise', 'resource', 'http', 'custom']);
55
53
  }
56
54
 
57
55
  /**
@@ -78,11 +76,6 @@ var ErrorTrigger = exports.ErrorTrigger = /*#__PURE__*/function () {
78
76
  key: "onError",
79
77
  value: function onError(errorInfo) {
80
78
  if (this.destroyed) return;
81
-
82
- // 检查错误类型是否在触发列表中
83
- if (!this.triggerErrors.has(errorInfo.type)) {
84
- return;
85
- }
86
79
  if (this.state === 'idle') {
87
80
  // ===== 首次错误触发 =====
88
81
  this.enterUploadingState(errorInfo.timestamp);
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/lib/error.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAc/C;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAElE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAErD;AAGD,eAAO,MAAM,oBAAoB,SAAU,GAAG,SA4B7C,CAAC;AAGF,wBAAgB,gBAAgB,SAoJ/B;AAGD,wBAAgB,mBAAmB,SAgBlC"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/lib/error.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAc/C;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAElE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CAErD;AAGD,eAAO,MAAM,oBAAoB,SAAU,GAAG,SAmB7C,CAAC;AAGF,wBAAgB,gBAAgB,SA4I/B;AAGD,wBAAgB,mBAAmB,SAgBlC"}
@@ -35,44 +35,28 @@ function getErrorTrigger() {
35
35
 
36
36
  // 错误数据发送函数 - 使用 rrweb 的自定义事件功能
37
37
  var sendErrorToAnalytics = exports.sendErrorToAnalytics = function sendErrorToAnalytics(data) {
38
- var config = (0, _config.getConfig)();
39
-
40
- // 如果错误处理未启用,直接返回
41
- if (!config.error) {
42
- return;
43
- }
44
-
45
38
  // 使用 rrweb 的自定义事件功能上报错误
46
39
  try {
47
40
  _rrweb.record.addCustomEvent('custom-error-event', data);
48
41
  } catch (error) {
49
42
  // 降级方案:直接控制台输出
50
- _logger.default.log('Error captured', data);
43
+ _logger.default.error('Error captured', data);
51
44
  }
52
45
 
53
46
  // 错误采集模式下,通知错误触发器
47
+ var config = (0, _config.getConfig)();
54
48
  if (config.captureMode === 'error' && errorTriggerInstance) {
55
- var errorType = mapErrorType(data.type);
56
- if (errorType) {
57
- errorTriggerInstance.onError({
58
- type: errorType,
59
- message: data.message || data.type,
60
- timestamp: data.timestamp || Date.now(),
61
- detail: data
62
- });
63
- }
49
+ errorTriggerInstance.onError({
50
+ type: data.type,
51
+ message: data.message || data.type,
52
+ timestamp: data.timestamp || Date.now(),
53
+ detail: data
54
+ });
64
55
  }
65
56
  };
66
57
 
67
58
  // 初始化错误处理
68
59
  function initErrorHandler() {
69
- var config = (0, _config.getConfig)();
70
-
71
- // 如果错误处理未启用,不注册任何事件监听器
72
- if (!config.error) {
73
- _logger.default.log('Error handling is disabled by config');
74
- return;
75
- }
76
60
  _logger.default.log('Error handling is enabled');
77
61
 
78
62
  // JavaScript 运行时错误处理
@@ -223,20 +207,4 @@ function cleanupErrorHandler() {
223
207
  // 清空监听器数组
224
208
  eventListeners.length = 0;
225
209
  _logger.default.log('Error handlers cleaned up successfully');
226
- }
227
-
228
- /**
229
- * 将内部错误类型映射到 ErrorTrigger 的错误类型
230
- */
231
- function mapErrorType(internalType) {
232
- switch (internalType) {
233
- case 'JS_ERROR':
234
- return 'js';
235
- case 'PROMISE_REJECTION':
236
- return 'promise';
237
- case 'RESOURCE_ERROR':
238
- return 'resource';
239
- default:
240
- return null;
241
- }
242
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/lib/init.ts"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,EACrC,OAAO,GAAE,MAAuB,GAC/B,IAAI,CAiDN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI,CAgEN"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/lib/init.ts"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,EACrC,OAAO,GAAE,MAAuB,GAC/B,IAAI,CAiDN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI,CA0DN"}
@@ -115,22 +115,14 @@ function initRLog(serv, appId, cdnConfigUrl) {
115
115
  }
116
116
  var isErrorMode = config.captureMode === 'error';
117
117
  if (isErrorMode) {
118
- var _config$errorCapture, _config$errorCapture2, _config$errorCapture3;
118
+ var _config$errorCapture, _config$errorCapture2;
119
119
  // ===== 错误采集模式初始化 =====
120
120
  _logger.default.log('Initializing in error capture mode');
121
121
 
122
- // 强制启用错误监听
123
- if (!config.error) {
124
- (0, _config.updateConfig)({
125
- error: true
126
- });
127
- }
128
-
129
122
  // 创建 ErrorTrigger 实例(只负责状态切换)
130
123
  errorTriggerInstance = new _errorTrigger.ErrorTrigger({
131
124
  beforeDuration: (_config$errorCapture = config.errorCapture) === null || _config$errorCapture === void 0 ? void 0 : _config$errorCapture.beforeDuration,
132
- afterDuration: (_config$errorCapture2 = config.errorCapture) === null || _config$errorCapture2 === void 0 ? void 0 : _config$errorCapture2.afterDuration,
133
- triggerErrors: (_config$errorCapture3 = config.errorCapture) === null || _config$errorCapture3 === void 0 ? void 0 : _config$errorCapture3.triggerErrors
125
+ afterDuration: (_config$errorCapture2 = config.errorCapture) === null || _config$errorCapture2 === void 0 ? void 0 : _config$errorCapture2.afterDuration
134
126
  });
135
127
 
136
128
  // 将 errorTrigger 注入到 error 和 net 模块
@@ -149,7 +141,7 @@ function initRLog(serv, appId, cdnConfigUrl) {
149
141
  // 初始化路由监控
150
142
  (0, _routerMonitor.initRouterMonitor)(config.routerMonitor);
151
143
 
152
- // 初始化错误处理(错误模式下 config.error 已强制为 true)
144
+ // 初始化错误处理(全量模式和错误模式都启用)
153
145
  (0, _error.initErrorHandler)();
154
146
  }).catch(function (error) {
155
147
  _logger.default.error('Failed to initialize SDK', error);
@@ -34,4 +34,9 @@ export declare function getSdkLogEndpoint(): string | null;
34
34
  * @param headers 需要添加的自定义请求头对象
35
35
  */
36
36
  export declare function setCustomHeaders(headers: Record<string, string>): void;
37
+ /**
38
+ * 获取当前设置的自定义请求头
39
+ * @returns 当前自定义请求头的副本
40
+ */
41
+ export declare function getCustomHeaders(): Record<string, string>;
37
42
  //# sourceMappingURL=net.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"net.d.ts","sourceRoot":"","sources":["../../../src/lib/net.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAM/C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAErE;AA2ID,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAgBpD;AAUD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,QAkPxC;AAGD,wBAAgB,UAAU,IAAI,IAAI,CAYjC;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAQrD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAOrD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAsBxD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAEjD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAEtE"}
1
+ {"version":3,"file":"net.d.ts","sourceRoot":"","sources":["../../../src/lib/net.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAM/C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAErE;AA2ID,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAgBpD;AAUD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,QAkPxC;AAGD,wBAAgB,UAAU,IAAI,IAAI,CAYjC;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAQrD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAOrD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAsBxD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAEjD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAEtE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEzD"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.getBlackListUrls = getBlackListUrls;
8
+ exports.getCustomHeaders = getCustomHeaders;
8
9
  exports.getSdkLogEndpoint = getSdkLogEndpoint;
9
10
  exports.getWhiteListUrls = getWhiteListUrls;
10
11
  exports.restoreXhr = restoreXhr;
@@ -494,4 +495,12 @@ function getSdkLogEndpoint() {
494
495
  */
495
496
  function setCustomHeaders(headers) {
496
497
  Object.assign(customHeaders, headers);
498
+ }
499
+
500
+ /**
501
+ * 获取当前设置的自定义请求头
502
+ * @returns 当前自定义请求头的副本
503
+ */
504
+ function getCustomHeaders() {
505
+ return _objectSpread({}, customHeaders);
497
506
  }
@@ -1 +1 @@
1
- {"version":3,"file":"router-monitor.d.ts","sourceRoot":"","sources":["../../../src/lib/router-monitor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,UAAU,CAAC;AAIrD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,CAAC;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2JD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI,CAwB3E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,QAmCpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB;;;;EAMlC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,QAG1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,SAyBhC"}
1
+ {"version":3,"file":"router-monitor.d.ts","sourceRoot":"","sources":["../../../src/lib/router-monitor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,UAAU,CAAC;AAIrD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,CAAC;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2ID;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI,CAuB3E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,QAkCpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB;;;;EAMlC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,QAG1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,SAyBhC"}
@@ -13,9 +13,6 @@ var _config = require("./config");
13
13
  var _logger = _interopRequireDefault(require("./logger"));
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
16
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
17
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
19
16
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
17
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
18
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -38,39 +35,18 @@ var originalReplaceState = null;
38
35
  * 获取当前路由
39
36
  */
40
37
  function getCurrentRoute() {
41
- var _routerConfig;
42
38
  if (typeof window === 'undefined') return '';
43
39
 
44
- // 优先使用完整路径
45
- var fullPath = window.location.pathname + window.location.search + window.location.hash;
46
-
47
- // 应用自定义匹配规则
48
- if ((_routerConfig = routerConfig) !== null && _routerConfig !== void 0 && _routerConfig.customMatchers) {
49
- var _iterator = _createForOfIteratorHelper(routerConfig.customMatchers),
50
- _step;
51
- try {
52
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
53
- var matcher = _step.value;
54
- var pattern = typeof matcher.pattern === 'string' ? new RegExp(matcher.pattern) : matcher.pattern;
55
- if (pattern.test(fullPath)) {
56
- return matcher.name || fullPath;
57
- }
58
- }
59
- } catch (err) {
60
- _iterator.e(err);
61
- } finally {
62
- _iterator.f();
63
- }
64
- }
65
- return fullPath;
40
+ // 使用完整路径
41
+ return window.location.pathname + window.location.search + window.location.hash;
66
42
  }
67
43
 
68
44
  /**
69
45
  * 检查路由是否应该被忽略
70
46
  */
71
47
  function shouldIgnoreRoute(route) {
72
- var _routerConfig2;
73
- if (!((_routerConfig2 = routerConfig) !== null && _routerConfig2 !== void 0 && _routerConfig2.ignoreRoutes)) return false;
48
+ var _routerConfig;
49
+ if (!((_routerConfig = routerConfig) !== null && _routerConfig !== void 0 && _routerConfig.ignoreRoutes)) return false;
74
50
  return routerConfig.ignoreRoutes.some(function (pattern) {
75
51
  if (typeof pattern === 'string') {
76
52
  return route.includes(pattern);
@@ -86,8 +62,8 @@ function shouldIgnoreRoute(route) {
86
62
  * 上报路由变化事件
87
63
  */
88
64
  function reportRouteChange(from, to, method) {
89
- var _routerConfig3;
90
- if (!((_routerConfig3 = routerConfig) !== null && _routerConfig3 !== void 0 && _routerConfig3.enable) || shouldIgnoreRoute(to)) {
65
+ var _routerConfig2;
66
+ if (!((_routerConfig2 = routerConfig) !== null && _routerConfig2 !== void 0 && _routerConfig2.enable) || shouldIgnoreRoute(to)) {
91
67
  return;
92
68
  }
93
69
  var event = {
@@ -180,15 +156,14 @@ function handleHashChange() {
180
156
  * @param config 新的配置对象
181
157
  */
182
158
  function updateRouterConfig(config) {
183
- var _defaultConfig$enable, _defaultConfig$trackH, _defaultConfig$trackH2, _defaultConfig$trackP, _defaultConfig$ignore, _defaultConfig$custom;
159
+ var _defaultConfig$enable, _defaultConfig$trackH, _defaultConfig$trackH2, _defaultConfig$trackP, _defaultConfig$ignore;
184
160
  var defaultConfig = (0, _config.getConfig)().routerMonitor || {};
185
161
  var newConfig = _objectSpread({
186
162
  enable: (_defaultConfig$enable = defaultConfig.enable) !== null && _defaultConfig$enable !== void 0 ? _defaultConfig$enable : false,
187
163
  trackHashChange: (_defaultConfig$trackH = defaultConfig.trackHashChange) !== null && _defaultConfig$trackH !== void 0 ? _defaultConfig$trackH : true,
188
164
  trackHistoryChange: (_defaultConfig$trackH2 = defaultConfig.trackHistoryChange) !== null && _defaultConfig$trackH2 !== void 0 ? _defaultConfig$trackH2 : true,
189
165
  trackPageStayTime: (_defaultConfig$trackP = defaultConfig.trackPageStayTime) !== null && _defaultConfig$trackP !== void 0 ? _defaultConfig$trackP : true,
190
- ignoreRoutes: (_defaultConfig$ignore = defaultConfig.ignoreRoutes) !== null && _defaultConfig$ignore !== void 0 ? _defaultConfig$ignore : [],
191
- customMatchers: (_defaultConfig$custom = defaultConfig.customMatchers) !== null && _defaultConfig$custom !== void 0 ? _defaultConfig$custom : []
166
+ ignoreRoutes: (_defaultConfig$ignore = defaultConfig.ignoreRoutes) !== null && _defaultConfig$ignore !== void 0 ? _defaultConfig$ignore : []
192
167
  }, config || {});
193
168
 
194
169
  // 如果配置发生变化,重新初始化
@@ -207,7 +182,7 @@ function updateRouterConfig(config) {
207
182
  * 初始化路由监控
208
183
  */
209
184
  function initRouterMonitor(config) {
210
- var _defaultConfig$enable2, _defaultConfig$trackH3, _defaultConfig$trackH4, _defaultConfig$trackP2, _defaultConfig$ignore2, _defaultConfig$custom2;
185
+ var _defaultConfig$enable2, _defaultConfig$trackH3, _defaultConfig$trackH4, _defaultConfig$trackP2, _defaultConfig$ignore2;
211
186
  if (isInitialized || typeof window === 'undefined') return;
212
187
 
213
188
  // 合并配置
@@ -217,8 +192,7 @@ function initRouterMonitor(config) {
217
192
  trackHashChange: (_defaultConfig$trackH3 = defaultConfig.trackHashChange) !== null && _defaultConfig$trackH3 !== void 0 ? _defaultConfig$trackH3 : true,
218
193
  trackHistoryChange: (_defaultConfig$trackH4 = defaultConfig.trackHistoryChange) !== null && _defaultConfig$trackH4 !== void 0 ? _defaultConfig$trackH4 : true,
219
194
  trackPageStayTime: (_defaultConfig$trackP2 = defaultConfig.trackPageStayTime) !== null && _defaultConfig$trackP2 !== void 0 ? _defaultConfig$trackP2 : true,
220
- ignoreRoutes: (_defaultConfig$ignore2 = defaultConfig.ignoreRoutes) !== null && _defaultConfig$ignore2 !== void 0 ? _defaultConfig$ignore2 : [],
221
- customMatchers: (_defaultConfig$custom2 = defaultConfig.customMatchers) !== null && _defaultConfig$custom2 !== void 0 ? _defaultConfig$custom2 : []
195
+ ignoreRoutes: (_defaultConfig$ignore2 = defaultConfig.ignoreRoutes) !== null && _defaultConfig$ignore2 !== void 0 ? _defaultConfig$ignore2 : []
222
196
  }, config || {});
223
197
 
224
198
  // 如果未启用,直接返回
@@ -1 +1 @@
1
- {"version":3,"file":"rrweb.d.ts","sourceRoot":"","sources":["../../../src/lib/rrweb.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,UAAU,YAKtB,CAAC;AAEF,eAAO,MAAM,WAAW,YA0FvB,CAAC"}
1
+ {"version":3,"file":"rrweb.d.ts","sourceRoot":"","sources":["../../../src/lib/rrweb.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,UAAU,YAKtB,CAAC;AAEF,eAAO,MAAM,WAAW,YAuFvB,CAAC"}