@antglobal/rlog-sdk 0.0.1755855517-dev.9 → 1.0.0
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.
- package/README.md +192 -432
- package/dist/esm/index.d.ts +14 -41
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +92 -76
- package/dist/esm/lib/api.d.ts +10 -0
- package/dist/esm/lib/api.d.ts.map +1 -1
- package/dist/esm/lib/api.js +58 -35
- package/dist/esm/lib/config.d.ts +13 -6
- package/dist/esm/lib/config.d.ts.map +1 -1
- package/dist/esm/lib/config.js +61 -33
- package/dist/esm/lib/constants.d.ts +89 -0
- package/dist/esm/lib/constants.d.ts.map +1 -0
- package/dist/esm/lib/constants.js +145 -0
- package/dist/esm/lib/drive/indexeddb-adapt.d.ts +12 -0
- package/dist/esm/lib/drive/indexeddb-adapt.d.ts.map +1 -1
- package/dist/esm/lib/drive/indexeddb-adapt.js +190 -20
- package/dist/esm/lib/drive/localstorage-adapt.d.ts +12 -0
- package/dist/esm/lib/drive/localstorage-adapt.d.ts.map +1 -1
- package/dist/esm/lib/drive/localstorage-adapt.js +179 -36
- package/dist/esm/lib/drive/memory-adapt.d.ts +10 -2
- package/dist/esm/lib/drive/memory-adapt.d.ts.map +1 -1
- package/dist/esm/lib/drive/memory-adapt.js +118 -26
- package/dist/esm/lib/drive/safe-storage.d.ts +24 -0
- package/dist/esm/lib/drive/safe-storage.d.ts.map +1 -0
- package/dist/esm/lib/drive/safe-storage.js +96 -0
- package/dist/esm/lib/drive/storage-interface.d.ts +20 -0
- package/dist/esm/lib/drive/storage-interface.d.ts.map +1 -1
- package/dist/esm/lib/error-trigger.d.ts +73 -0
- package/dist/esm/lib/error-trigger.d.ts.map +1 -0
- package/dist/esm/lib/error-trigger.js +162 -0
- package/dist/esm/lib/error.d.ts +9 -0
- package/dist/esm/lib/error.d.ts.map +1 -1
- package/dist/esm/lib/error.js +70 -118
- package/dist/esm/lib/init.d.ts +0 -4
- package/dist/esm/lib/init.d.ts.map +1 -1
- package/dist/esm/lib/init.js +148 -47
- package/dist/esm/lib/logger.d.ts +27 -0
- package/dist/esm/lib/logger.d.ts.map +1 -0
- package/dist/esm/lib/logger.js +79 -0
- package/dist/esm/lib/net.d.ts +11 -0
- package/dist/esm/lib/net.d.ts.map +1 -1
- package/dist/esm/lib/net.js +264 -119
- package/dist/esm/lib/request.d.ts.map +1 -1
- package/dist/esm/lib/request.js +2 -2
- package/dist/esm/lib/router-monitor.d.ts.map +1 -1
- package/dist/esm/lib/router-monitor.js +135 -49
- package/dist/esm/lib/rrweb.d.ts.map +1 -1
- package/dist/esm/lib/rrweb.js +31 -24
- package/dist/esm/lib/storage-manager.d.ts +12 -0
- package/dist/esm/lib/storage-manager.d.ts.map +1 -1
- package/dist/esm/lib/storage-manager.js +129 -46
- package/dist/esm/lib/upload-worker-manager.d.ts +47 -0
- package/dist/esm/lib/upload-worker-manager.d.ts.map +1 -0
- package/dist/esm/lib/upload-worker-manager.js +559 -0
- package/dist/esm/lib/upload-worker.d.ts +58 -0
- package/dist/esm/lib/upload-worker.d.ts.map +1 -0
- package/dist/esm/lib/upload-worker.js +28 -0
- package/dist/esm/lib/uploader.d.ts +43 -0
- package/dist/esm/lib/uploader.d.ts.map +1 -1
- package/dist/esm/lib/uploader.js +464 -102
- package/dist/esm/lib/utils.d.ts +75 -0
- package/dist/esm/lib/utils.d.ts.map +1 -1
- package/dist/esm/lib/utils.js +268 -5
- package/dist/lib/index.d.ts +14 -41
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +81 -63
- package/dist/lib/lib/api.d.ts +10 -0
- package/dist/lib/lib/api.d.ts.map +1 -1
- package/dist/lib/lib/api.js +59 -35
- package/dist/lib/lib/config.d.ts +13 -6
- package/dist/lib/lib/config.d.ts.map +1 -1
- package/dist/lib/lib/config.js +63 -33
- package/dist/lib/lib/constants.d.ts +89 -0
- package/dist/lib/lib/constants.d.ts.map +1 -0
- package/dist/lib/lib/constants.js +151 -0
- package/dist/lib/lib/drive/indexeddb-adapt.d.ts +12 -0
- package/dist/lib/lib/drive/indexeddb-adapt.d.ts.map +1 -1
- package/dist/lib/lib/drive/indexeddb-adapt.js +191 -19
- package/dist/lib/lib/drive/localstorage-adapt.d.ts +12 -0
- package/dist/lib/lib/drive/localstorage-adapt.d.ts.map +1 -1
- package/dist/lib/lib/drive/localstorage-adapt.js +179 -36
- package/dist/lib/lib/drive/memory-adapt.d.ts +10 -2
- package/dist/lib/lib/drive/memory-adapt.d.ts.map +1 -1
- package/dist/lib/lib/drive/memory-adapt.js +117 -26
- package/dist/lib/lib/drive/safe-storage.d.ts +24 -0
- package/dist/lib/lib/drive/safe-storage.d.ts.map +1 -0
- package/dist/lib/lib/drive/safe-storage.js +102 -0
- package/dist/lib/lib/drive/storage-interface.d.ts +20 -0
- package/dist/lib/lib/drive/storage-interface.d.ts.map +1 -1
- package/dist/lib/lib/error-trigger.d.ts +73 -0
- package/dist/lib/lib/error-trigger.d.ts.map +1 -0
- package/dist/lib/lib/error-trigger.js +167 -0
- package/dist/lib/lib/error.d.ts +9 -0
- package/dist/lib/lib/error.d.ts.map +1 -1
- package/dist/lib/lib/error.js +73 -118
- package/dist/lib/lib/init.d.ts +0 -4
- package/dist/lib/lib/init.d.ts.map +1 -1
- package/dist/lib/lib/init.js +144 -43
- package/dist/lib/lib/logger.d.ts +27 -0
- package/dist/lib/lib/logger.d.ts.map +1 -0
- package/dist/lib/lib/logger.js +84 -0
- package/dist/lib/lib/net.d.ts +11 -0
- package/dist/lib/lib/net.d.ts.map +1 -1
- package/dist/lib/lib/net.js +268 -120
- package/dist/lib/lib/request.d.ts.map +1 -1
- package/dist/lib/lib/request.js +3 -3
- package/dist/lib/lib/router-monitor.d.ts.map +1 -1
- package/dist/lib/lib/router-monitor.js +136 -49
- package/dist/lib/lib/rrweb.d.ts.map +1 -1
- package/dist/lib/lib/rrweb.js +31 -23
- package/dist/lib/lib/storage-manager.d.ts +12 -0
- package/dist/lib/lib/storage-manager.d.ts.map +1 -1
- package/dist/lib/lib/storage-manager.js +130 -46
- package/dist/lib/lib/upload-worker-manager.d.ts +47 -0
- package/dist/lib/lib/upload-worker-manager.d.ts.map +1 -0
- package/dist/lib/lib/upload-worker-manager.js +570 -0
- package/dist/lib/lib/upload-worker.d.ts +58 -0
- package/dist/lib/lib/upload-worker.d.ts.map +1 -0
- package/dist/lib/lib/upload-worker.js +33 -0
- package/dist/lib/lib/uploader.d.ts +43 -0
- package/dist/lib/lib/uploader.d.ts.map +1 -1
- package/dist/lib/lib/uploader.js +468 -101
- package/dist/lib/lib/utils.d.ts +75 -0
- package/dist/lib/lib/utils.d.ts.map +1 -1
- package/dist/lib/lib/utils.js +276 -6
- package/dist/rlog-sdk.min.js +1 -1
- package/package.json +3 -2
package/dist/lib/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
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); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -25,6 +24,12 @@ Object.defineProperty(exports, "getCurrentRouteInfo", {
|
|
|
25
24
|
return _routerMonitor.getCurrentRouteInfo;
|
|
26
25
|
}
|
|
27
26
|
});
|
|
27
|
+
Object.defineProperty(exports, "getCustomHeaders", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function get() {
|
|
30
|
+
return _net.getCustomHeaders;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
28
33
|
Object.defineProperty(exports, "getSdkLogEndpoint", {
|
|
29
34
|
enumerable: true,
|
|
30
35
|
get: function get() {
|
|
@@ -45,6 +50,7 @@ Object.defineProperty(exports, "manualRouteChange", {
|
|
|
45
50
|
return _routerMonitor.manualRouteChange;
|
|
46
51
|
}
|
|
47
52
|
});
|
|
53
|
+
exports.reportError = reportError;
|
|
48
54
|
Object.defineProperty(exports, "setBlackListUrls", {
|
|
49
55
|
enumerable: true,
|
|
50
56
|
get: function get() {
|
|
@@ -64,6 +70,12 @@ Object.defineProperty(exports, "setWhiteListUrls", {
|
|
|
64
70
|
return _net.setWhiteListUrls;
|
|
65
71
|
}
|
|
66
72
|
});
|
|
73
|
+
Object.defineProperty(exports, "shouldRecordUrl", {
|
|
74
|
+
enumerable: true,
|
|
75
|
+
get: function get() {
|
|
76
|
+
return _net.shouldRecordUrl;
|
|
77
|
+
}
|
|
78
|
+
});
|
|
67
79
|
Object.defineProperty(exports, "stopRouterMonitor", {
|
|
68
80
|
enumerable: true,
|
|
69
81
|
get: function get() {
|
|
@@ -86,95 +98,105 @@ var _uploader = require("./lib/uploader");
|
|
|
86
98
|
var _routerMonitor = require("./lib/router-monitor");
|
|
87
99
|
var _config = require("./lib/config");
|
|
88
100
|
var _error = require("./lib/error");
|
|
101
|
+
var _logger = _interopRequireDefault(require("./lib/logger"));
|
|
102
|
+
var _constants = require("./lib/constants");
|
|
103
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
89
104
|
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; }
|
|
90
105
|
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); } }
|
|
91
106
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
107
|
+
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); }
|
|
92
108
|
function init(param) {
|
|
93
|
-
|
|
94
|
-
|
|
109
|
+
try {
|
|
110
|
+
(0, _init.initRLog)(param.serv, param.appId, param.cdnConfigUrl);
|
|
111
|
+
} catch (error) {
|
|
112
|
+
_logger.default.error('Failed to initialize SDK:', error);
|
|
113
|
+
}
|
|
95
114
|
return {
|
|
96
115
|
cancel: function cancel() {
|
|
97
116
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
98
|
-
|
|
117
|
+
try {
|
|
118
|
+
(0, _init.cancelRlog)(options, 'SDK instance');
|
|
119
|
+
} catch (error) {
|
|
120
|
+
_logger.default.error('Failed to cancel SDK:', error);
|
|
121
|
+
}
|
|
99
122
|
}
|
|
100
123
|
};
|
|
101
124
|
}
|
|
102
|
-
|
|
103
|
-
// 单独导出 cancelRecord 方法
|
|
104
125
|
function cancelRecord() {
|
|
105
126
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
106
|
-
|
|
107
|
-
|
|
127
|
+
try {
|
|
128
|
+
_logger.default.warn('Please use rlog.cancel() from initialized instance instead of standalone cancelRecord()');
|
|
129
|
+
(0, _init.cancelRlog)(options, 'standalone function');
|
|
130
|
+
} catch (error) {
|
|
131
|
+
_logger.default.error('Failed to cancel record:', error);
|
|
132
|
+
}
|
|
108
133
|
}
|
|
109
134
|
function addCustomEvent(tagName, payload) {
|
|
110
|
-
|
|
135
|
+
try {
|
|
136
|
+
_rrweb.record.addCustomEvent(tagName, payload);
|
|
137
|
+
} catch (error) {
|
|
138
|
+
_logger.default.warn('Failed to add custom event:', error);
|
|
139
|
+
}
|
|
111
140
|
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* 设置只采集不上报模式
|
|
115
|
-
* @param enable 是否启用只采集不上报模式
|
|
116
|
-
*/
|
|
117
141
|
function setConsumeOnlyMode(enable) {
|
|
118
142
|
(0, _config.updateConfig)({
|
|
119
143
|
consumeOnly: enable
|
|
120
144
|
});
|
|
121
|
-
console.log("RLog consume only mode ".concat(enable ? 'enabled' : 'disabled'));
|
|
122
145
|
}
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* 获取当前是否处于只采集不上报模式
|
|
126
|
-
* @returns 是否启用只采集不上报模式
|
|
127
|
-
*/
|
|
128
146
|
function isConsumeOnlyMode() {
|
|
129
|
-
return sessionStorage.getItem(
|
|
147
|
+
return sessionStorage.getItem(_constants.STORAGE_KEY_CONSUME_ONLY) === _constants.STORAGE_VALUE_CONSUME_ONLY || !!(0, _config.getConfig)().consumeOnly;
|
|
130
148
|
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* 切换只采集不上报模式
|
|
134
|
-
*/
|
|
135
149
|
function toggleConsumeOnlyMode() {
|
|
136
150
|
var newMode = !(0, _config.getConfig)().consumeOnly;
|
|
137
151
|
setConsumeOnlyMode(newMode);
|
|
138
152
|
return newMode;
|
|
139
153
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
154
|
+
function reportError(error) {
|
|
155
|
+
var message = typeof error === 'string' ? error : error.message;
|
|
156
|
+
var stack = _typeof(error) === 'object' && error.stack ? error.stack : undefined;
|
|
157
|
+
try {
|
|
158
|
+
_rrweb.record.addCustomEvent(_constants.EVENT_CUSTOM_ERROR, {
|
|
159
|
+
type: 'CUSTOM_ERROR',
|
|
160
|
+
message: message,
|
|
161
|
+
stack: stack,
|
|
162
|
+
timestamp: Date.now(),
|
|
163
|
+
location: typeof window !== 'undefined' ? window.location.href : ''
|
|
164
|
+
});
|
|
165
|
+
} catch (e) {
|
|
166
|
+
_logger.default.warn('Failed to add custom error event:', e);
|
|
167
|
+
}
|
|
168
|
+
try {
|
|
169
|
+
var trigger = (0, _error.getErrorTrigger)();
|
|
170
|
+
if (trigger) {
|
|
171
|
+
trigger.onError({
|
|
172
|
+
type: 'custom',
|
|
173
|
+
message: message,
|
|
174
|
+
timestamp: Date.now(),
|
|
175
|
+
detail: {
|
|
176
|
+
stack: stack
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
} catch (e) {
|
|
181
|
+
_logger.default.warn('Failed to trigger error mode:', e);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
148
184
|
var debug = exports.debug = {
|
|
149
|
-
/**
|
|
150
|
-
* 获取存储适配器类型
|
|
151
|
-
*/
|
|
152
185
|
getStorageAdapterType: function getStorageAdapterType() {
|
|
153
186
|
return _storageManager.storage.getAdapterType();
|
|
154
187
|
},
|
|
155
|
-
// get storage() {
|
|
156
|
-
// return storage;
|
|
157
|
-
// },
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* 获取设备ID
|
|
161
|
-
*/
|
|
162
188
|
getDeviceId: _utils.getDeviceId,
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
*/
|
|
189
|
+
getSessionId: _utils.getSessionId,
|
|
190
|
+
getStorageKey: _utils.getStorageKey,
|
|
166
191
|
resetUploadState: _uploader.forceResetUploadState,
|
|
167
|
-
/**
|
|
168
|
-
* 获取存储状态
|
|
169
|
-
*/
|
|
170
192
|
getStorageState: function getStorageState() {
|
|
171
193
|
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
172
|
-
var
|
|
194
|
+
var storageKey;
|
|
173
195
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
174
196
|
while (1) switch (_context.prev = _context.next) {
|
|
175
197
|
case 0:
|
|
176
|
-
|
|
177
|
-
return _context.abrupt("return", _storageManager.storage.getStorageState(
|
|
198
|
+
storageKey = (0, _utils.getStorageKey)();
|
|
199
|
+
return _context.abrupt("return", _storageManager.storage.getStorageState(storageKey));
|
|
178
200
|
case 2:
|
|
179
201
|
case "end":
|
|
180
202
|
return _context.stop();
|
|
@@ -182,17 +204,14 @@ var debug = exports.debug = {
|
|
|
182
204
|
}, _callee);
|
|
183
205
|
}))();
|
|
184
206
|
},
|
|
185
|
-
/**
|
|
186
|
-
* 清空存储数据
|
|
187
|
-
*/
|
|
188
207
|
clearStorage: function clearStorage() {
|
|
189
208
|
return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
190
|
-
var
|
|
209
|
+
var storageKey;
|
|
191
210
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
192
211
|
while (1) switch (_context2.prev = _context2.next) {
|
|
193
212
|
case 0:
|
|
194
|
-
|
|
195
|
-
return _context2.abrupt("return", _storageManager.storage.clear(
|
|
213
|
+
storageKey = (0, _utils.getStorageKey)();
|
|
214
|
+
return _context2.abrupt("return", _storageManager.storage.clear(storageKey));
|
|
196
215
|
case 2:
|
|
197
216
|
case "end":
|
|
198
217
|
return _context2.stop();
|
|
@@ -200,8 +219,7 @@ var debug = exports.debug = {
|
|
|
200
219
|
}, _callee2);
|
|
201
220
|
}))();
|
|
202
221
|
},
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
};
|
|
222
|
+
getConfig: _config.getConfig
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
// 统一导出所有公共 API
|
package/dist/lib/lib/api.d.ts
CHANGED
|
@@ -4,6 +4,16 @@ type UploadOptions = {
|
|
|
4
4
|
deviceId: string;
|
|
5
5
|
appId: string;
|
|
6
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* 构建上传查询参数(纯函数,供 Worker 管理器复用)
|
|
9
|
+
* @param opts 包含 appId、deviceId、data 的选项
|
|
10
|
+
* @returns 查询参数键值对
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildQueryParams(opts: {
|
|
13
|
+
appId: string;
|
|
14
|
+
deviceId: string;
|
|
15
|
+
data: any[];
|
|
16
|
+
}): Record<string, string>;
|
|
7
17
|
export declare const upload: (opt: UploadOptions) => Promise<void>;
|
|
8
18
|
export {};
|
|
9
19
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/lib/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/lib/api.ts"],"names":[],"mappings":"AASA,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;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,GAAG,EAAE,CAAC;CACb,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyBzB;AAED,eAAO,MAAM,MAAM,QAAe,aAAa,kBAsC9C,CAAC"}
|
package/dist/lib/lib/api.js
CHANGED
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.buildQueryParams = buildQueryParams;
|
|
6
7
|
exports.upload = void 0;
|
|
7
8
|
var _utils = require("./utils");
|
|
8
9
|
var _request = require("./request");
|
|
9
10
|
var _config = require("./config");
|
|
11
|
+
var _net = require("./net");
|
|
12
|
+
var _constants = require("./constants");
|
|
10
13
|
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
14
|
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
15
|
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); } }
|
|
@@ -14,76 +17,97 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
|
|
|
14
17
|
// 从URL中提取指定参数并存储到sessionStorage中
|
|
15
18
|
var cacheUrlParams = function cacheUrlParams() {
|
|
16
19
|
var config = (0, _config.getConfig)();
|
|
17
|
-
var paramsToCache = config.urlParamsToCache ||
|
|
20
|
+
var paramsToCache = config.urlParamsToCache || _constants.DEFAULT_URL_PARAMS_TO_CACHE;
|
|
18
21
|
var urlParams = new URLSearchParams(window.location.search);
|
|
19
22
|
paramsToCache.forEach(function (paramName) {
|
|
20
23
|
var paramValue = urlParams.get(paramName);
|
|
21
24
|
if (paramValue) {
|
|
22
|
-
sessionStorage.setItem("
|
|
25
|
+
sessionStorage.setItem("".concat(_constants.STORAGE_KEY_URL_PARAM_PREFIX).concat(paramName), paramValue);
|
|
23
26
|
}
|
|
24
27
|
});
|
|
25
28
|
};
|
|
26
29
|
|
|
27
30
|
// 获取缓存的参数值
|
|
28
31
|
var getCachedParam = function getCachedParam(paramName) {
|
|
29
|
-
return sessionStorage.getItem("
|
|
32
|
+
return sessionStorage.getItem("".concat(_constants.STORAGE_KEY_URL_PARAM_PREFIX).concat(paramName));
|
|
30
33
|
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* 构建上传查询参数(纯函数,供 Worker 管理器复用)
|
|
37
|
+
* @param opts 包含 appId、deviceId、data 的选项
|
|
38
|
+
* @returns 查询参数键值对
|
|
39
|
+
*/
|
|
40
|
+
function buildQueryParams(opts) {
|
|
41
|
+
var _opts$data, _opts$data2;
|
|
42
|
+
// 缓存URL中的参数
|
|
43
|
+
cacheUrlParams();
|
|
44
|
+
var lastIndex = opts.data && opts.data.length > 0 ? opts.data.length - 1 : -1;
|
|
45
|
+
var queryParams = {
|
|
46
|
+
deviceId: opts.deviceId,
|
|
47
|
+
appId: opts.appId,
|
|
48
|
+
startTime: (_opts$data = opts.data) === null || _opts$data === void 0 || (_opts$data = _opts$data[0]) === null || _opts$data === void 0 ? void 0 : _opts$data.timestamp,
|
|
49
|
+
endTime: (_opts$data2 = opts.data) === null || _opts$data2 === void 0 || (_opts$data2 = _opts$data2[lastIndex]) === null || _opts$data2 === void 0 ? void 0 : _opts$data2.timestamp
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
// 从配置中获取需要上报的参数名称列表
|
|
53
|
+
var config = (0, _config.getConfig)();
|
|
54
|
+
var paramsToReport = config.urlParamsToCache || _constants.DEFAULT_URL_PARAMS_TO_CACHE;
|
|
55
|
+
|
|
56
|
+
// 添加缓存的参数到查询字符串中
|
|
57
|
+
paramsToReport.forEach(function (paramName) {
|
|
58
|
+
var paramValue = getCachedParam(paramName);
|
|
59
|
+
if (paramValue) {
|
|
60
|
+
queryParams[paramName] = paramValue;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
return queryParams;
|
|
64
|
+
}
|
|
31
65
|
var upload = exports.upload = /*#__PURE__*/function () {
|
|
32
66
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(opt) {
|
|
33
|
-
var
|
|
34
|
-
var lastIndex, queryParams, config, paramsToReport, queryString, api, formData, response, responseData, error;
|
|
67
|
+
var queryParams, queryString, api, formData, customHeaders, response, responseData, error;
|
|
35
68
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
36
69
|
while (1) switch (_context.prev = _context.next) {
|
|
37
70
|
case 0:
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
// 构建查询字符串
|
|
42
|
-
lastIndex = opt.data && opt.data.length > 0 ? opt.data.length - 1 : -1;
|
|
43
|
-
queryParams = {
|
|
44
|
-
deviceId: opt.deviceId,
|
|
71
|
+
// 构建查询参数
|
|
72
|
+
queryParams = buildQueryParams({
|
|
45
73
|
appId: opt.appId,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}; // 从配置中获取需要上报的参数名称列表
|
|
49
|
-
config = (0, _config.getConfig)();
|
|
50
|
-
paramsToReport = config.urlParamsToCache || ['taskId']; // 默认上报taskId
|
|
51
|
-
// 添加缓存的参数到查询字符串中
|
|
52
|
-
paramsToReport.forEach(function (paramName) {
|
|
53
|
-
var paramValue = getCachedParam(paramName);
|
|
54
|
-
if (paramValue) {
|
|
55
|
-
queryParams[paramName] = paramValue;
|
|
56
|
-
}
|
|
74
|
+
deviceId: opt.deviceId,
|
|
75
|
+
data: opt.data
|
|
57
76
|
});
|
|
58
77
|
queryString = new URLSearchParams(queryParams);
|
|
59
78
|
api = "".concat(opt.url).concat(queryString ? "?".concat(queryString) : '');
|
|
60
79
|
formData = new FormData();
|
|
61
80
|
formData.append('file', new Blob([JSON.stringify(opt.data)]), (0, _utils.generateUUIDCompat)() + '.json');
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
81
|
+
|
|
82
|
+
// 获取自定义请求头
|
|
83
|
+
customHeaders = (0, _net.getCustomHeaders)();
|
|
84
|
+
_context.next = 8;
|
|
85
|
+
return (0, _request.post)(api, formData, {
|
|
86
|
+
headers: customHeaders
|
|
87
|
+
});
|
|
88
|
+
case 8:
|
|
65
89
|
response = _context.sent;
|
|
66
|
-
_context.prev =
|
|
90
|
+
_context.prev = 9;
|
|
67
91
|
responseData = typeof response.data === 'string' ? JSON.parse(response.data) : response.data;
|
|
68
|
-
_context.next =
|
|
92
|
+
_context.next = 16;
|
|
69
93
|
break;
|
|
70
|
-
case
|
|
71
|
-
_context.prev =
|
|
72
|
-
_context.t0 = _context["catch"](
|
|
94
|
+
case 13:
|
|
95
|
+
_context.prev = 13;
|
|
96
|
+
_context.t0 = _context["catch"](9);
|
|
73
97
|
return _context.abrupt("return");
|
|
74
|
-
case
|
|
98
|
+
case 16:
|
|
75
99
|
if (!(responseData && _typeof(responseData) === 'object' && responseData.success === false)) {
|
|
76
|
-
_context.next =
|
|
100
|
+
_context.next = 20;
|
|
77
101
|
break;
|
|
78
102
|
}
|
|
79
103
|
error = new Error(responseData.errorMessage || 'Upload failed with success=false'); // 将完整的响应数据附加到错误对象上
|
|
80
104
|
error.responseData = responseData;
|
|
81
105
|
throw error;
|
|
82
|
-
case
|
|
106
|
+
case 20:
|
|
83
107
|
case "end":
|
|
84
108
|
return _context.stop();
|
|
85
109
|
}
|
|
86
|
-
}, _callee, null, [[
|
|
110
|
+
}, _callee, null, [[9, 13]]);
|
|
87
111
|
}));
|
|
88
112
|
return function upload(_x) {
|
|
89
113
|
return _ref.apply(this, arguments);
|
package/dist/lib/lib/config.d.ts
CHANGED
|
@@ -8,14 +8,19 @@ export interface ConsoleRecordConfig {
|
|
|
8
8
|
depthOfLimit?: number;
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
|
+
export interface ErrorCaptureConfig {
|
|
12
|
+
beforeDuration?: number;
|
|
13
|
+
afterDuration?: number;
|
|
14
|
+
httpErrorThreshold?: number;
|
|
15
|
+
}
|
|
11
16
|
export interface CdnConfig {
|
|
12
17
|
enable: boolean;
|
|
13
18
|
checkoutEveryNms?: number;
|
|
14
19
|
ignoreClass?: string;
|
|
15
20
|
blockClass?: string;
|
|
16
21
|
maskTextClass?: string;
|
|
17
|
-
samplingRate: number;
|
|
18
22
|
sampling?: {
|
|
23
|
+
canvas?: number;
|
|
19
24
|
mousemove?: number | boolean;
|
|
20
25
|
scroll?: number;
|
|
21
26
|
input?: 'all' | 'last';
|
|
@@ -28,19 +33,17 @@ export interface CdnConfig {
|
|
|
28
33
|
clearStorageBeforeRecord?: boolean;
|
|
29
34
|
console?: ConsoleRecordConfig;
|
|
30
35
|
http?: boolean;
|
|
31
|
-
error?: boolean;
|
|
32
36
|
routerMonitor?: {
|
|
33
37
|
enable?: boolean;
|
|
34
38
|
trackHashChange?: boolean;
|
|
35
39
|
trackHistoryChange?: boolean;
|
|
36
40
|
trackPageStayTime?: boolean;
|
|
37
41
|
ignoreRoutes?: string[];
|
|
38
|
-
customMatchers?: Array<{
|
|
39
|
-
pattern: string | RegExp;
|
|
40
|
-
name?: string;
|
|
41
|
-
}>;
|
|
42
42
|
};
|
|
43
43
|
packEvents?: boolean;
|
|
44
|
+
error?: boolean;
|
|
45
|
+
captureMode?: 'full' | 'error';
|
|
46
|
+
errorCapture?: ErrorCaptureConfig;
|
|
44
47
|
}
|
|
45
48
|
/**
|
|
46
49
|
* 从 CDN 获取配置
|
|
@@ -58,6 +61,10 @@ export declare function updateConfig(newConfig: Partial<CdnConfig>): void;
|
|
|
58
61
|
* @returns 当前配置
|
|
59
62
|
*/
|
|
60
63
|
export declare function getConfig(): CdnConfig;
|
|
64
|
+
/**
|
|
65
|
+
* 停止配置定时更新
|
|
66
|
+
*/
|
|
67
|
+
export declare function stopConfigUpdate(): void;
|
|
61
68
|
/**
|
|
62
69
|
* 初始化配置管理器
|
|
63
70
|
* @param cdnUrl CDN 配置文件地址
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"
|
|
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,KAAK,CAAC,EAAE,OAAO,CAAC;IAGhB,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,CAoC3E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAEhE;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,SAAS,CAErC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BtE"}
|