mon-reactive-h5 1.0.7 → 1.0.9
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/dist/BatchReporter.d.ts +56 -56
- package/dist/BatchReporter.js +24 -24
- package/dist/BatchReporter.js.map +1 -1
- package/dist/MonitorSDK.d.ts +137 -141
- package/dist/MonitorSDK.js +134 -91
- package/dist/MonitorSDK.js.map +1 -1
- package/dist/index.d.ts +30 -30
- package/dist/index.js +7 -17
- package/dist/index.js.map +1 -1
- package/dist/packages/basic-sdk.d.ts +18 -18
- package/dist/packages/basic-sdk.js +9 -9
- package/dist/packages/basic-sdk.js.map +1 -1
- package/dist/packages/index.d.ts +16 -16
- package/dist/packages/index.js +9 -19
- package/dist/packages/index.js.map +1 -1
- package/dist/packages/premium-sdk.d.ts +69 -69
- package/dist/packages/premium-sdk.js +33 -33
- package/dist/packages/premium-sdk.js.map +1 -1
- package/dist/packages/standard-sdk.d.ts +22 -22
- package/dist/packages/standard-sdk.js +11 -11
- package/dist/packages/standard-sdk.js.map +1 -1
- package/dist/reporters.d.ts +32 -32
- package/dist/reporters.js +106 -99
- package/dist/reporters.js.map +1 -1
- package/dist/types.d.ts +120 -120
- package/package.json +7 -3
|
@@ -21,12 +21,11 @@ var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
|
|
|
21
21
|
Object.defineProperty(exports, "__esModule", {
|
|
22
22
|
value: true
|
|
23
23
|
});
|
|
24
|
-
exports.StandardSDK = void 0;
|
|
25
|
-
exports.createStandardSDK = createStandardSDK;
|
|
24
|
+
exports.createStandardSDK = exports.StandardSDK = void 0;
|
|
26
25
|
var MonitorSDK_1 = __importDefault(require("../MonitorSDK"));
|
|
27
|
-
/**
|
|
28
|
-
* 标准版SDK
|
|
29
|
-
* 包含完整监控功能:页面浏览、JS错误、API请求、资源错误
|
|
26
|
+
/**
|
|
27
|
+
* 标准版SDK
|
|
28
|
+
* 包含完整监控功能:页面浏览、JS错误、API请求、资源错误
|
|
30
29
|
*/
|
|
31
30
|
var StandardSDK = /*#__PURE__*/function (_MonitorSDK_1$default) {
|
|
32
31
|
function StandardSDK(config) {
|
|
@@ -44,8 +43,8 @@ var StandardSDK = /*#__PURE__*/function (_MonitorSDK_1$default) {
|
|
|
44
43
|
console.log('StandardSDK initialized for app:', config.appId);
|
|
45
44
|
return _this;
|
|
46
45
|
}
|
|
47
|
-
/**
|
|
48
|
-
* 增强的API监控配置
|
|
46
|
+
/**
|
|
47
|
+
* 增强的API监控配置
|
|
49
48
|
*/
|
|
50
49
|
_inherits(StandardSDK, _MonitorSDK_1$default);
|
|
51
50
|
return _createClass(StandardSDK, [{
|
|
@@ -55,8 +54,8 @@ var StandardSDK = /*#__PURE__*/function (_MonitorSDK_1$default) {
|
|
|
55
54
|
this.sampleRates.api = 1;
|
|
56
55
|
console.log('Full API monitoring enabled');
|
|
57
56
|
}
|
|
58
|
-
/**
|
|
59
|
-
* 增强的资源监控配置
|
|
57
|
+
/**
|
|
58
|
+
* 增强的资源监控配置
|
|
60
59
|
*/
|
|
61
60
|
}, {
|
|
62
61
|
key: "enableFullResourceMonitoring",
|
|
@@ -68,11 +67,12 @@ var StandardSDK = /*#__PURE__*/function (_MonitorSDK_1$default) {
|
|
|
68
67
|
}]);
|
|
69
68
|
}(MonitorSDK_1.default);
|
|
70
69
|
exports.StandardSDK = StandardSDK;
|
|
71
|
-
/**
|
|
72
|
-
* 创建标准版SDK实例的工厂函数
|
|
70
|
+
/**
|
|
71
|
+
* 创建标准版SDK实例的工厂函数
|
|
73
72
|
*/
|
|
74
73
|
function createStandardSDK(config) {
|
|
75
74
|
return new StandardSDK(config);
|
|
76
75
|
}
|
|
76
|
+
exports.createStandardSDK = createStandardSDK;
|
|
77
77
|
exports.default = StandardSDK;
|
|
78
78
|
//# sourceMappingURL=standard-sdk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-sdk.js","names":["
|
|
1
|
+
{"version":3,"file":"standard-sdk.js","names":["MonitorSDK_1","__importDefault","require","StandardSDK","_MonitorSDK_1$default","config","_this","_classCallCheck","_callSuper","Object","assign","sampleRates","pageview","jserror","api","resource","console","log","appId","_inherits","_createClass","key","value","enableFullApiMonitoring","enableFullResourceMonitoring","default","exports","createStandardSDK"],"sources":["../../packages/standard-sdk.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,eAAA,CAAAC,OAAA;AAGA;;;;AAAA,IAIaC,WAAY,0BAAAC,qBAAA;EACvB,SAAAD,YAAYE,MAAwB;IAAA,IAAAC,KAAA;IAAAC,eAAA,OAAAJ,WAAA;IAClCG,KAAA,GAAAE,UAAA,OAAAL,WAAA,GAAKM,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KACAL,MAAM;MACT;MACAM,WAAW,EAAAF,MAAA,CAAAC,MAAA;QACTE,QAAQ,EAAE,CAAC;QACXC,OAAO,EAAE,CAAC;QACVC,GAAG,EAAE,GAAG;QACRC,QAAQ,EAAE;MAAG,GACVV,MAAM,CAACM,WAAW;IAAA;IAIzBK,OAAO,CAACC,GAAG,CAAC,kCAAkC,EAAEZ,MAAM,CAACa,KAAK,CAAC;IAAC,OAAAZ,KAAA;EAChE;EAEA;;;EAAAa,SAAA,CAAAhB,WAAA,EAAAC,qBAAA;EAAA,OAAAgB,YAAA,CAAAjB,WAAA;IAAAkB,GAAA;IAAAC,KAAA,EAGO,SAAAC,uBAAuBA,CAAA;MAC5B;MACA,IAAI,CAACZ,WAAW,CAACG,GAAG,GAAG,CAAC;MACxBE,OAAO,CAACC,GAAG,CAAC,6BAA6B,CAAC;IAC5C;IAEA;;;EAAA;IAAAI,GAAA;IAAAC,KAAA,EAGO,SAAAE,4BAA4BA,CAAA;MACjC;MACA,IAAI,CAACb,WAAW,CAACI,QAAQ,GAAG,CAAC;MAC7BC,OAAO,CAACC,GAAG,CAAC,kCAAkC,CAAC;IACjD;EAAC;AAAA,EAjC8BjB,YAAA,CAAAyB,OAAU;AAA3CC,OAAA,CAAAvB,WAAA,GAAAA,WAAA;AAoCA;;;AAGA,SAAgBwB,iBAAiBA,CAACtB,MAAwB;EACxD,OAAO,IAAIF,WAAW,CAACE,MAAM,CAAC;AAChC;AAFAqB,OAAA,CAAAC,iBAAA,GAAAA,iBAAA;AAIAD,OAAA,CAAAD,OAAA,GAAetB,WAAW","ignoreList":[]}
|
package/dist/reporters.d.ts
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { BaseReportData, ReportResult } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* 使用img标签方式上报数据
|
|
4
|
-
* @param data 上报数据
|
|
5
|
-
* @param url 上报地址(优先使用,为空时使用默认接口)
|
|
6
|
-
* @returns 是否上报成功
|
|
7
|
-
*/
|
|
8
|
-
export declare function reportByImg(data: BaseReportData, url: string): boolean;
|
|
9
|
-
/**
|
|
10
|
-
* 使用sendBeacon方式上报数据
|
|
11
|
-
* @param data 上报数据
|
|
12
|
-
* @param url 上报地址(优先使用,为空时使用默认接口)
|
|
13
|
-
* @returns 是否上报成功
|
|
14
|
-
*/
|
|
15
|
-
export declare function reportByBeacon(data: BaseReportData, url: string): boolean;
|
|
16
|
-
/**
|
|
17
|
-
* 使用接口方式上报数据
|
|
18
|
-
* @param data 上报数据
|
|
19
|
-
* @param url 上报地址(优先使用,为空时使用默认接口)
|
|
20
|
-
* @param options 配置项
|
|
21
|
-
* @returns Promise<ReportResult>
|
|
22
|
-
*/
|
|
23
|
-
export declare function reportByApi(data: BaseReportData, url: string, options?: {
|
|
24
|
-
timeout?: number;
|
|
25
|
-
}): Promise<ReportResult>;
|
|
26
|
-
/**
|
|
27
|
-
* 带降级策略的上报方法
|
|
28
|
-
* @param data 上报数据
|
|
29
|
-
* @param url 上报地址
|
|
30
|
-
* @returns 是否至少有一种上报方式成功
|
|
31
|
-
*/
|
|
32
|
-
export declare function reportWithFallback(data: BaseReportData, url: string): Promise<boolean>;
|
|
1
|
+
import { BaseReportData, ReportResult } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* 使用img标签方式上报数据
|
|
4
|
+
* @param data 上报数据
|
|
5
|
+
* @param url 上报地址(优先使用,为空时使用默认接口)
|
|
6
|
+
* @returns 是否上报成功
|
|
7
|
+
*/
|
|
8
|
+
export declare function reportByImg(data: BaseReportData, url: string): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* 使用sendBeacon方式上报数据
|
|
11
|
+
* @param data 上报数据
|
|
12
|
+
* @param url 上报地址(优先使用,为空时使用默认接口)
|
|
13
|
+
* @returns 是否上报成功
|
|
14
|
+
*/
|
|
15
|
+
export declare function reportByBeacon(data: BaseReportData, url: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* 使用接口方式上报数据
|
|
18
|
+
* @param data 上报数据
|
|
19
|
+
* @param url 上报地址(优先使用,为空时使用默认接口)
|
|
20
|
+
* @param options 配置项
|
|
21
|
+
* @returns Promise<ReportResult>
|
|
22
|
+
*/
|
|
23
|
+
export declare function reportByApi(data: BaseReportData, url: string, options?: {
|
|
24
|
+
timeout?: number;
|
|
25
|
+
}): Promise<ReportResult>;
|
|
26
|
+
/**
|
|
27
|
+
* 带降级策略的上报方法
|
|
28
|
+
* @param data 上报数据
|
|
29
|
+
* @param url 上报地址
|
|
30
|
+
* @returns 是否至少有一种上报方式成功
|
|
31
|
+
*/
|
|
32
|
+
export declare function reportWithFallback(data: BaseReportData, url: string): Promise<boolean>;
|
package/dist/reporters.js
CHANGED
|
@@ -32,15 +32,12 @@ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P
|
|
|
32
32
|
Object.defineProperty(exports, "__esModule", {
|
|
33
33
|
value: true
|
|
34
34
|
});
|
|
35
|
-
exports.reportByImg =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
*
|
|
41
|
-
* @param data 上报数据
|
|
42
|
-
* @param url 上报地址(优先使用,为空时使用默认接口)
|
|
43
|
-
* @returns 是否上报成功
|
|
35
|
+
exports.reportWithFallback = exports.reportByApi = exports.reportByBeacon = exports.reportByImg = void 0;
|
|
36
|
+
/**
|
|
37
|
+
* 使用img标签方式上报数据
|
|
38
|
+
* @param data 上报数据
|
|
39
|
+
* @param url 上报地址(优先使用,为空时使用默认接口)
|
|
40
|
+
* @returns 是否上报成功
|
|
44
41
|
*/
|
|
45
42
|
function reportByImg(data, url) {
|
|
46
43
|
try {
|
|
@@ -59,11 +56,12 @@ function reportByImg(data, url) {
|
|
|
59
56
|
return false;
|
|
60
57
|
}
|
|
61
58
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
*
|
|
65
|
-
* @param
|
|
66
|
-
* @
|
|
59
|
+
exports.reportByImg = reportByImg;
|
|
60
|
+
/**
|
|
61
|
+
* 使用sendBeacon方式上报数据
|
|
62
|
+
* @param data 上报数据
|
|
63
|
+
* @param url 上报地址(优先使用,为空时使用默认接口)
|
|
64
|
+
* @returns 是否上报成功
|
|
67
65
|
*/
|
|
68
66
|
function reportByBeacon(data, url) {
|
|
69
67
|
try {
|
|
@@ -81,81 +79,91 @@ function reportByBeacon(data, url) {
|
|
|
81
79
|
return false;
|
|
82
80
|
}
|
|
83
81
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
*
|
|
87
|
-
* @param
|
|
88
|
-
* @param
|
|
89
|
-
* @
|
|
82
|
+
exports.reportByBeacon = reportByBeacon;
|
|
83
|
+
/**
|
|
84
|
+
* 使用接口方式上报数据
|
|
85
|
+
* @param data 上报数据
|
|
86
|
+
* @param url 上报地址(优先使用,为空时使用默认接口)
|
|
87
|
+
* @param options 配置项
|
|
88
|
+
* @returns Promise<ReportResult>
|
|
90
89
|
*/
|
|
91
|
-
function reportByApi(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
})();
|
|
143
|
-
});
|
|
90
|
+
function reportByApi(data, url) {
|
|
91
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
92
|
+
return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
|
|
93
|
+
var controller, timeoutId, apiReportUrl, response, result, _t;
|
|
94
|
+
return _regenerator().w(function (_context) {
|
|
95
|
+
while (1) switch (_context.p = _context.n) {
|
|
96
|
+
case 0:
|
|
97
|
+
_context.p = 0;
|
|
98
|
+
controller = new AbortController();
|
|
99
|
+
timeoutId = setTimeout(function () {
|
|
100
|
+
return controller.abort();
|
|
101
|
+
}, options.timeout || 5000); // 优先使用传入的url,为空时使用默认接口
|
|
102
|
+
apiReportUrl = url + '/api/report/collect';
|
|
103
|
+
_context.n = 1;
|
|
104
|
+
return fetch(apiReportUrl, {
|
|
105
|
+
method: 'POST',
|
|
106
|
+
headers: {
|
|
107
|
+
'Content-Type': 'application/json',
|
|
108
|
+
'x-sdk-internal': 'true' // 添加SDK内部请求标记,避免被SDK自身的fetch拦截器拦截
|
|
109
|
+
},
|
|
110
|
+
body: JSON.stringify(data),
|
|
111
|
+
signal: controller.signal
|
|
112
|
+
});
|
|
113
|
+
case 1:
|
|
114
|
+
response = _context.v;
|
|
115
|
+
clearTimeout(timeoutId);
|
|
116
|
+
if (response.ok) {
|
|
117
|
+
_context.n = 2;
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
throw new Error("HTTP error! status: ".concat(response.status));
|
|
121
|
+
case 2:
|
|
122
|
+
_context.n = 3;
|
|
123
|
+
return response.json();
|
|
124
|
+
case 3:
|
|
125
|
+
result = _context.v;
|
|
126
|
+
return _context.a(2, {
|
|
127
|
+
success: true,
|
|
128
|
+
data: result
|
|
129
|
+
});
|
|
130
|
+
case 4:
|
|
131
|
+
_context.p = 4;
|
|
132
|
+
_t = _context.v;
|
|
133
|
+
console.error('接口上报失败:', _t);
|
|
134
|
+
return _context.a(2, {
|
|
135
|
+
success: false,
|
|
136
|
+
error: _t
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
}, _callee, null, [[0, 4]]);
|
|
140
|
+
}));
|
|
144
141
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
*
|
|
148
|
-
* @param
|
|
149
|
-
* @
|
|
142
|
+
exports.reportByApi = reportByApi;
|
|
143
|
+
/**
|
|
144
|
+
* 带降级策略的上报方法
|
|
145
|
+
* @param data 上报数据
|
|
146
|
+
* @param url 上报地址
|
|
147
|
+
* @returns 是否至少有一种上报方式成功
|
|
150
148
|
*/
|
|
151
149
|
function reportWithFallback(data, url) {
|
|
152
150
|
return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee2() {
|
|
153
|
-
var
|
|
151
|
+
var img, params, imgReportUrl, blob, success, apiReportUrl, _t2, _t3, _t4;
|
|
154
152
|
return _regenerator().w(function (_context2) {
|
|
155
153
|
while (1) switch (_context2.p = _context2.n) {
|
|
156
154
|
case 0:
|
|
155
|
+
_context2.p = 0;
|
|
156
|
+
img = new Image();
|
|
157
|
+
params = encodeURIComponent(JSON.stringify(data)); // 优先使用传入的url,为空时使用默认接口
|
|
158
|
+
imgReportUrl = url + '/v1/report/collectImg';
|
|
159
|
+
img.src = "".concat(imgReportUrl, "?data=").concat(params);
|
|
160
|
+
return _context2.a(2, true);
|
|
161
|
+
case 1:
|
|
162
|
+
_context2.p = 1;
|
|
163
|
+
_t2 = _context2.v;
|
|
164
|
+
_context2.p = 2;
|
|
157
165
|
if (!navigator.sendBeacon) {
|
|
158
|
-
_context2.n =
|
|
166
|
+
_context2.n = 3;
|
|
159
167
|
break;
|
|
160
168
|
}
|
|
161
169
|
blob = new Blob([JSON.stringify(data)], {
|
|
@@ -163,24 +171,22 @@ function reportWithFallback(data, url) {
|
|
|
163
171
|
});
|
|
164
172
|
success = navigator.sendBeacon(url, blob);
|
|
165
173
|
if (!success) {
|
|
166
|
-
_context2.n =
|
|
174
|
+
_context2.n = 3;
|
|
167
175
|
break;
|
|
168
176
|
}
|
|
169
177
|
return _context2.a(2, true);
|
|
170
|
-
case
|
|
171
|
-
_context2.
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
case
|
|
178
|
-
_context2.p =
|
|
179
|
-
_t2 = _context2.v;
|
|
180
|
-
_context2.p = 3;
|
|
178
|
+
case 3:
|
|
179
|
+
_context2.n = 5;
|
|
180
|
+
break;
|
|
181
|
+
case 4:
|
|
182
|
+
_context2.p = 4;
|
|
183
|
+
_t3 = _context2.v;
|
|
184
|
+
console.error('sendBeacon上报失败:', _t3);
|
|
185
|
+
case 5:
|
|
186
|
+
_context2.p = 5;
|
|
181
187
|
// 优先使用传入的url,为空时使用默认接口
|
|
182
188
|
apiReportUrl = url + '/v1/report/collect';
|
|
183
|
-
_context2.n =
|
|
189
|
+
_context2.n = 6;
|
|
184
190
|
return fetch(apiReportUrl, {
|
|
185
191
|
method: 'POST',
|
|
186
192
|
headers: {
|
|
@@ -190,15 +196,16 @@ function reportWithFallback(data, url) {
|
|
|
190
196
|
body: JSON.stringify(data),
|
|
191
197
|
keepalive: true // 尝试使用keepalive
|
|
192
198
|
});
|
|
193
|
-
case
|
|
199
|
+
case 6:
|
|
194
200
|
return _context2.a(2, true);
|
|
195
|
-
case
|
|
196
|
-
_context2.p =
|
|
197
|
-
|
|
198
|
-
console.error('所有上报方式均失败:',
|
|
201
|
+
case 7:
|
|
202
|
+
_context2.p = 7;
|
|
203
|
+
_t4 = _context2.v;
|
|
204
|
+
console.error('所有上报方式均失败:', _t4);
|
|
199
205
|
return _context2.a(2, false);
|
|
200
206
|
}
|
|
201
|
-
}, _callee2, null, [[
|
|
207
|
+
}, _callee2, null, [[5, 7], [2, 4], [0, 1]]);
|
|
202
208
|
}));
|
|
203
209
|
}
|
|
210
|
+
exports.reportWithFallback = reportWithFallback;
|
|
204
211
|
//# sourceMappingURL=reporters.js.map
|
package/dist/reporters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporters.js","names":["
|
|
1
|
+
{"version":3,"file":"reporters.js","names":["reportByImg","data","url","img","Image","params","encodeURIComponent","JSON","stringify","imgReportUrl","src","concat","onload","onerror","error","console","exports","reportByBeacon","navigator","sendBeacon","blob","Blob","type","apiReportUrl","reportByApi","options","arguments","length","undefined","controller","AbortController","timeoutId","setTimeout","abort","timeout","_context","n","fetch","method","headers","body","signal","response","v","clearTimeout","ok","Error","status","json","result","a","success","p","_t","_callee","reportWithFallback","_context2","_t2","_t3","keepalive","_t4","_callee2"],"sources":["../reporters.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|