@be-link/cls-logger 1.0.13 → 1.2.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 +16 -6
- package/dist/index.esm.js +70 -1
- package/dist/index.js +70 -1
- package/dist/mini/performanceMonitor.d.ts.map +1 -1
- package/dist/mini/requestMonitor.d.ts.map +1 -1
- package/dist/mini.esm.js +24 -0
- package/dist/mini.js +24 -0
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/web/performanceMonitor.d.ts.map +1 -1
- package/dist/web/requestMonitor.d.ts.map +1 -1
- package/dist/web.esm.js +46 -1
- package/dist/web.js +46 -1
- package/package.json +4 -12
- package/dist/index.umd.js +0 -3327
package/README.md
CHANGED
|
@@ -20,13 +20,23 @@ pnpm add @be-link/cls-logger
|
|
|
20
20
|
|
|
21
21
|
### 依赖说明
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
| -------------------------- | -------------------------------------------- | ----------------------------------- |
|
|
25
|
-
| `@be-link/cls-logger` | `tencentcloud-cls-sdk-js-web` | 统一入口,自动适配环境 |
|
|
26
|
-
| `@be-link/cls-logger/web` | `tencentcloud-cls-sdk-js-web` + `web-vitals` | Web/H5 专用,含 Web Vitals 性能监控 |
|
|
27
|
-
| `@be-link/cls-logger/mini` | `tencentcloud-cls-sdk-js-mini` | 小程序专用 |
|
|
23
|
+
根据使用场景安装对应的 SDK:
|
|
28
24
|
|
|
29
|
-
|
|
25
|
+
| 入口 | 需要安装的依赖 | 说明 |
|
|
26
|
+
| -------------------------- | ------------------------------ | ---------------------- |
|
|
27
|
+
| `@be-link/cls-logger` | `tencentcloud-cls-sdk-js-web` | 统一入口,自动适配环境 |
|
|
28
|
+
| `@be-link/cls-logger/web` | `tencentcloud-cls-sdk-js-web` | Web/H5 专用 |
|
|
29
|
+
| `@be-link/cls-logger/mini` | `tencentcloud-cls-sdk-js-mini` | 小程序专用 |
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Web/H5 项目
|
|
33
|
+
pnpm add @be-link/cls-logger tencentcloud-cls-sdk-js-web
|
|
34
|
+
|
|
35
|
+
# 小程序项目
|
|
36
|
+
pnpm add @be-link/cls-logger tencentcloud-cls-sdk-js-mini
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
> **注意**:SDK 作为 external 依赖,不会打包进产物,需要用户按需安装。
|
|
30
40
|
|
|
31
41
|
## 快速开始
|
|
32
42
|
|
package/dist/index.esm.js
CHANGED
|
@@ -1002,6 +1002,26 @@ function shouldIgnoreUrl$2(url, ignoreUrls) {
|
|
|
1002
1002
|
}
|
|
1003
1003
|
return false;
|
|
1004
1004
|
}
|
|
1005
|
+
function shouldAllowUrl$2(url, allowUrls) {
|
|
1006
|
+
if (!allowUrls || allowUrls.length === 0)
|
|
1007
|
+
return true;
|
|
1008
|
+
const lowerUrl = url.toLowerCase();
|
|
1009
|
+
for (const rule of allowUrls) {
|
|
1010
|
+
if (typeof rule === 'string') {
|
|
1011
|
+
if (lowerUrl.includes(rule.toLowerCase()))
|
|
1012
|
+
return true;
|
|
1013
|
+
continue;
|
|
1014
|
+
}
|
|
1015
|
+
try {
|
|
1016
|
+
if (rule.test(url))
|
|
1017
|
+
return true;
|
|
1018
|
+
}
|
|
1019
|
+
catch {
|
|
1020
|
+
// ignore invalid regex
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
return false;
|
|
1024
|
+
}
|
|
1005
1025
|
function sampleHit$5(sampleRate) {
|
|
1006
1026
|
if (sampleRate >= 1)
|
|
1007
1027
|
return true;
|
|
@@ -1020,6 +1040,8 @@ function buildPayload$1(params) {
|
|
|
1020
1040
|
return null;
|
|
1021
1041
|
if (shouldIgnoreUrl$2(url, options.ignoreUrls))
|
|
1022
1042
|
return null;
|
|
1043
|
+
if (!shouldAllowUrl$2(url, options.allowUrls))
|
|
1044
|
+
return null;
|
|
1023
1045
|
if (!sampleHit$5(options.sampleRate))
|
|
1024
1046
|
return null;
|
|
1025
1047
|
const payload = { url };
|
|
@@ -1232,6 +1254,7 @@ function installWebRequestMonitor(report, opts = {}) {
|
|
|
1232
1254
|
reportType: opts.reportType ?? 'http',
|
|
1233
1255
|
sampleRate: opts.sampleRate ?? 1,
|
|
1234
1256
|
ignoreUrls,
|
|
1257
|
+
allowUrls: opts.allowUrls ?? ['wejourney.top'],
|
|
1235
1258
|
includeMethod: opts.includeMethod ?? true,
|
|
1236
1259
|
includeQuery: opts.includeQuery ?? true,
|
|
1237
1260
|
includeBody: opts.includeBody ?? true,
|
|
@@ -1260,6 +1283,26 @@ function shouldIgnoreUrl$1(url, ignoreUrls) {
|
|
|
1260
1283
|
}
|
|
1261
1284
|
return false;
|
|
1262
1285
|
}
|
|
1286
|
+
function shouldAllowUrl$1(url, allowUrls) {
|
|
1287
|
+
if (!allowUrls || allowUrls.length === 0)
|
|
1288
|
+
return true;
|
|
1289
|
+
const lowerUrl = url.toLowerCase();
|
|
1290
|
+
for (const rule of allowUrls) {
|
|
1291
|
+
if (typeof rule === 'string') {
|
|
1292
|
+
if (lowerUrl.includes(rule.toLowerCase()))
|
|
1293
|
+
return true;
|
|
1294
|
+
continue;
|
|
1295
|
+
}
|
|
1296
|
+
try {
|
|
1297
|
+
if (rule.test(url))
|
|
1298
|
+
return true;
|
|
1299
|
+
}
|
|
1300
|
+
catch {
|
|
1301
|
+
// ignore invalid regex
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
1304
|
+
return false;
|
|
1305
|
+
}
|
|
1263
1306
|
function sampleHit$4(sampleRate) {
|
|
1264
1307
|
if (sampleRate >= 1)
|
|
1265
1308
|
return true;
|
|
@@ -1278,6 +1321,8 @@ function buildPayload(params) {
|
|
|
1278
1321
|
return null;
|
|
1279
1322
|
if (shouldIgnoreUrl$1(url, options.ignoreUrls))
|
|
1280
1323
|
return null;
|
|
1324
|
+
if (!shouldAllowUrl$1(url, options.allowUrls))
|
|
1325
|
+
return null;
|
|
1281
1326
|
if (!sampleHit$4(options.sampleRate))
|
|
1282
1327
|
return null;
|
|
1283
1328
|
const payload = { url };
|
|
@@ -1446,6 +1491,7 @@ function installMiniRequestMonitor(report, opts = {}) {
|
|
|
1446
1491
|
reportType: opts.reportType ?? 'http',
|
|
1447
1492
|
sampleRate: opts.sampleRate ?? 1,
|
|
1448
1493
|
ignoreUrls,
|
|
1494
|
+
allowUrls: opts.allowUrls ?? ['wejourney.top'],
|
|
1449
1495
|
includeMethod: opts.includeMethod ?? true,
|
|
1450
1496
|
includeQuery: opts.includeQuery ?? true,
|
|
1451
1497
|
includeBody: opts.includeBody ?? true,
|
|
@@ -1981,6 +2027,26 @@ function shouldIgnoreUrl(url, ignoreUrls) {
|
|
|
1981
2027
|
}
|
|
1982
2028
|
return false;
|
|
1983
2029
|
}
|
|
2030
|
+
function shouldAllowUrl(url, allowUrls) {
|
|
2031
|
+
if (!allowUrls || allowUrls.length === 0)
|
|
2032
|
+
return true;
|
|
2033
|
+
const lowerUrl = url.toLowerCase();
|
|
2034
|
+
for (const rule of allowUrls) {
|
|
2035
|
+
if (typeof rule === 'string') {
|
|
2036
|
+
if (lowerUrl.includes(rule.toLowerCase()))
|
|
2037
|
+
return true;
|
|
2038
|
+
continue;
|
|
2039
|
+
}
|
|
2040
|
+
try {
|
|
2041
|
+
if (rule.test(url))
|
|
2042
|
+
return true;
|
|
2043
|
+
}
|
|
2044
|
+
catch {
|
|
2045
|
+
// ignore invalid regex
|
|
2046
|
+
}
|
|
2047
|
+
}
|
|
2048
|
+
return false;
|
|
2049
|
+
}
|
|
1984
2050
|
function getPagePath() {
|
|
1985
2051
|
try {
|
|
1986
2052
|
if (typeof window === 'undefined')
|
|
@@ -2007,6 +2073,7 @@ function installBrowserPerformanceMonitor(report, options) {
|
|
|
2007
2073
|
return;
|
|
2008
2074
|
w.__beLinkClsLoggerPerfInstalled__ = true;
|
|
2009
2075
|
const ignoreUrls = [...DEFAULT_IGNORE, ...(options.ignoreUrls ?? [])];
|
|
2076
|
+
const allowUrls = options.allowUrls ?? [];
|
|
2010
2077
|
// Navigation timing: TTFB 等
|
|
2011
2078
|
if (options.navigationTiming) {
|
|
2012
2079
|
try {
|
|
@@ -2154,7 +2221,7 @@ function installBrowserPerformanceMonitor(report, options) {
|
|
|
2154
2221
|
return;
|
|
2155
2222
|
for (const entry of list.getEntries()) {
|
|
2156
2223
|
const name = String(entry?.name ?? '');
|
|
2157
|
-
if (!name || shouldIgnoreUrl(name, ignoreUrls))
|
|
2224
|
+
if (!name || shouldIgnoreUrl(name, ignoreUrls) || !shouldAllowUrl(name, allowUrls))
|
|
2158
2225
|
continue;
|
|
2159
2226
|
const initiatorType = String(entry?.initiatorType ?? '');
|
|
2160
2227
|
// 关注 fetch/xhr/img/script(同时允许 css/other 但不强制)
|
|
@@ -2229,6 +2296,7 @@ function installWebPerformanceMonitor(report, opts = {}) {
|
|
|
2229
2296
|
reportType: raw.reportType ?? 'perf',
|
|
2230
2297
|
sampleRate: raw.sampleRate ?? 1,
|
|
2231
2298
|
ignoreUrls: raw.ignoreUrls ?? [],
|
|
2299
|
+
allowUrls: raw.allowUrls ?? ['wejourney.top', 'travelkeep.top', ' 8848top.com', 'yuanqiclub.com'],
|
|
2232
2300
|
webVitals: raw.webVitals ?? true,
|
|
2233
2301
|
navigationTiming: raw.navigationTiming ?? true,
|
|
2234
2302
|
resourceTiming: raw.resourceTiming ?? true,
|
|
@@ -2324,6 +2392,7 @@ function installMiniPerformanceMonitor(report, opts = {}) {
|
|
|
2324
2392
|
webVitals: raw.webVitals ?? true,
|
|
2325
2393
|
navigationTiming: raw.navigationTiming ?? true,
|
|
2326
2394
|
resourceTiming: raw.resourceTiming ?? true,
|
|
2395
|
+
allowUrls: raw.allowUrls ?? [],
|
|
2327
2396
|
maxTextLength: raw.maxTextLength ?? 2000,
|
|
2328
2397
|
};
|
|
2329
2398
|
installMiniProgramPerformanceMonitor(report, options);
|
package/dist/index.js
CHANGED
|
@@ -1006,6 +1006,26 @@ function shouldIgnoreUrl$2(url, ignoreUrls) {
|
|
|
1006
1006
|
}
|
|
1007
1007
|
return false;
|
|
1008
1008
|
}
|
|
1009
|
+
function shouldAllowUrl$2(url, allowUrls) {
|
|
1010
|
+
if (!allowUrls || allowUrls.length === 0)
|
|
1011
|
+
return true;
|
|
1012
|
+
const lowerUrl = url.toLowerCase();
|
|
1013
|
+
for (const rule of allowUrls) {
|
|
1014
|
+
if (typeof rule === 'string') {
|
|
1015
|
+
if (lowerUrl.includes(rule.toLowerCase()))
|
|
1016
|
+
return true;
|
|
1017
|
+
continue;
|
|
1018
|
+
}
|
|
1019
|
+
try {
|
|
1020
|
+
if (rule.test(url))
|
|
1021
|
+
return true;
|
|
1022
|
+
}
|
|
1023
|
+
catch {
|
|
1024
|
+
// ignore invalid regex
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
1027
|
+
return false;
|
|
1028
|
+
}
|
|
1009
1029
|
function sampleHit$5(sampleRate) {
|
|
1010
1030
|
if (sampleRate >= 1)
|
|
1011
1031
|
return true;
|
|
@@ -1024,6 +1044,8 @@ function buildPayload$1(params) {
|
|
|
1024
1044
|
return null;
|
|
1025
1045
|
if (shouldIgnoreUrl$2(url, options.ignoreUrls))
|
|
1026
1046
|
return null;
|
|
1047
|
+
if (!shouldAllowUrl$2(url, options.allowUrls))
|
|
1048
|
+
return null;
|
|
1027
1049
|
if (!sampleHit$5(options.sampleRate))
|
|
1028
1050
|
return null;
|
|
1029
1051
|
const payload = { url };
|
|
@@ -1236,6 +1258,7 @@ function installWebRequestMonitor(report, opts = {}) {
|
|
|
1236
1258
|
reportType: opts.reportType ?? 'http',
|
|
1237
1259
|
sampleRate: opts.sampleRate ?? 1,
|
|
1238
1260
|
ignoreUrls,
|
|
1261
|
+
allowUrls: opts.allowUrls ?? ['wejourney.top'],
|
|
1239
1262
|
includeMethod: opts.includeMethod ?? true,
|
|
1240
1263
|
includeQuery: opts.includeQuery ?? true,
|
|
1241
1264
|
includeBody: opts.includeBody ?? true,
|
|
@@ -1264,6 +1287,26 @@ function shouldIgnoreUrl$1(url, ignoreUrls) {
|
|
|
1264
1287
|
}
|
|
1265
1288
|
return false;
|
|
1266
1289
|
}
|
|
1290
|
+
function shouldAllowUrl$1(url, allowUrls) {
|
|
1291
|
+
if (!allowUrls || allowUrls.length === 0)
|
|
1292
|
+
return true;
|
|
1293
|
+
const lowerUrl = url.toLowerCase();
|
|
1294
|
+
for (const rule of allowUrls) {
|
|
1295
|
+
if (typeof rule === 'string') {
|
|
1296
|
+
if (lowerUrl.includes(rule.toLowerCase()))
|
|
1297
|
+
return true;
|
|
1298
|
+
continue;
|
|
1299
|
+
}
|
|
1300
|
+
try {
|
|
1301
|
+
if (rule.test(url))
|
|
1302
|
+
return true;
|
|
1303
|
+
}
|
|
1304
|
+
catch {
|
|
1305
|
+
// ignore invalid regex
|
|
1306
|
+
}
|
|
1307
|
+
}
|
|
1308
|
+
return false;
|
|
1309
|
+
}
|
|
1267
1310
|
function sampleHit$4(sampleRate) {
|
|
1268
1311
|
if (sampleRate >= 1)
|
|
1269
1312
|
return true;
|
|
@@ -1282,6 +1325,8 @@ function buildPayload(params) {
|
|
|
1282
1325
|
return null;
|
|
1283
1326
|
if (shouldIgnoreUrl$1(url, options.ignoreUrls))
|
|
1284
1327
|
return null;
|
|
1328
|
+
if (!shouldAllowUrl$1(url, options.allowUrls))
|
|
1329
|
+
return null;
|
|
1285
1330
|
if (!sampleHit$4(options.sampleRate))
|
|
1286
1331
|
return null;
|
|
1287
1332
|
const payload = { url };
|
|
@@ -1450,6 +1495,7 @@ function installMiniRequestMonitor(report, opts = {}) {
|
|
|
1450
1495
|
reportType: opts.reportType ?? 'http',
|
|
1451
1496
|
sampleRate: opts.sampleRate ?? 1,
|
|
1452
1497
|
ignoreUrls,
|
|
1498
|
+
allowUrls: opts.allowUrls ?? ['wejourney.top'],
|
|
1453
1499
|
includeMethod: opts.includeMethod ?? true,
|
|
1454
1500
|
includeQuery: opts.includeQuery ?? true,
|
|
1455
1501
|
includeBody: opts.includeBody ?? true,
|
|
@@ -1985,6 +2031,26 @@ function shouldIgnoreUrl(url, ignoreUrls) {
|
|
|
1985
2031
|
}
|
|
1986
2032
|
return false;
|
|
1987
2033
|
}
|
|
2034
|
+
function shouldAllowUrl(url, allowUrls) {
|
|
2035
|
+
if (!allowUrls || allowUrls.length === 0)
|
|
2036
|
+
return true;
|
|
2037
|
+
const lowerUrl = url.toLowerCase();
|
|
2038
|
+
for (const rule of allowUrls) {
|
|
2039
|
+
if (typeof rule === 'string') {
|
|
2040
|
+
if (lowerUrl.includes(rule.toLowerCase()))
|
|
2041
|
+
return true;
|
|
2042
|
+
continue;
|
|
2043
|
+
}
|
|
2044
|
+
try {
|
|
2045
|
+
if (rule.test(url))
|
|
2046
|
+
return true;
|
|
2047
|
+
}
|
|
2048
|
+
catch {
|
|
2049
|
+
// ignore invalid regex
|
|
2050
|
+
}
|
|
2051
|
+
}
|
|
2052
|
+
return false;
|
|
2053
|
+
}
|
|
1988
2054
|
function getPagePath() {
|
|
1989
2055
|
try {
|
|
1990
2056
|
if (typeof window === 'undefined')
|
|
@@ -2011,6 +2077,7 @@ function installBrowserPerformanceMonitor(report, options) {
|
|
|
2011
2077
|
return;
|
|
2012
2078
|
w.__beLinkClsLoggerPerfInstalled__ = true;
|
|
2013
2079
|
const ignoreUrls = [...DEFAULT_IGNORE, ...(options.ignoreUrls ?? [])];
|
|
2080
|
+
const allowUrls = options.allowUrls ?? [];
|
|
2014
2081
|
// Navigation timing: TTFB 等
|
|
2015
2082
|
if (options.navigationTiming) {
|
|
2016
2083
|
try {
|
|
@@ -2158,7 +2225,7 @@ function installBrowserPerformanceMonitor(report, options) {
|
|
|
2158
2225
|
return;
|
|
2159
2226
|
for (const entry of list.getEntries()) {
|
|
2160
2227
|
const name = String(entry?.name ?? '');
|
|
2161
|
-
if (!name || shouldIgnoreUrl(name, ignoreUrls))
|
|
2228
|
+
if (!name || shouldIgnoreUrl(name, ignoreUrls) || !shouldAllowUrl(name, allowUrls))
|
|
2162
2229
|
continue;
|
|
2163
2230
|
const initiatorType = String(entry?.initiatorType ?? '');
|
|
2164
2231
|
// 关注 fetch/xhr/img/script(同时允许 css/other 但不强制)
|
|
@@ -2233,6 +2300,7 @@ function installWebPerformanceMonitor(report, opts = {}) {
|
|
|
2233
2300
|
reportType: raw.reportType ?? 'perf',
|
|
2234
2301
|
sampleRate: raw.sampleRate ?? 1,
|
|
2235
2302
|
ignoreUrls: raw.ignoreUrls ?? [],
|
|
2303
|
+
allowUrls: raw.allowUrls ?? ['wejourney.top', 'travelkeep.top', ' 8848top.com', 'yuanqiclub.com'],
|
|
2236
2304
|
webVitals: raw.webVitals ?? true,
|
|
2237
2305
|
navigationTiming: raw.navigationTiming ?? true,
|
|
2238
2306
|
resourceTiming: raw.resourceTiming ?? true,
|
|
@@ -2328,6 +2396,7 @@ function installMiniPerformanceMonitor(report, opts = {}) {
|
|
|
2328
2396
|
webVitals: raw.webVitals ?? true,
|
|
2329
2397
|
navigationTiming: raw.navigationTiming ?? true,
|
|
2330
2398
|
resourceTiming: raw.resourceTiming ?? true,
|
|
2399
|
+
allowUrls: raw.allowUrls ?? [],
|
|
2331
2400
|
maxTextLength: raw.maxTextLength ?? 2000,
|
|
2332
2401
|
};
|
|
2333
2402
|
installMiniProgramPerformanceMonitor(report, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performanceMonitor.d.ts","sourceRoot":"","sources":["../../src/mini/performanceMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAEtE,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;AA+EzD,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,QAAQ,EAChB,IAAI,GAAE,OAAO,GAAG,yBAAyB,GAAG,SAAc,GACzD,IAAI,
|
|
1
|
+
{"version":3,"file":"performanceMonitor.d.ts","sourceRoot":"","sources":["../../src/mini/performanceMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAEtE,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;AA+EzD,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,QAAQ,EAChB,IAAI,GAAE,OAAO,GAAG,yBAAyB,GAAG,SAAc,GACzD,IAAI,CAkBN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestMonitor.d.ts","sourceRoot":"","sources":["../../src/mini/requestMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGlE,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;AAEzD,UAAU,cAAe,SAAQ,qBAAqB;IACpD,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"requestMonitor.d.ts","sourceRoot":"","sources":["../../src/mini/requestMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGlE,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;AAEzD,UAAU,cAAe,SAAQ,qBAAqB;IACpD,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAuOD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAE,cAAmB,GAAG,IAAI,CAsB3F"}
|
package/dist/mini.esm.js
CHANGED
|
@@ -966,6 +966,26 @@ function shouldIgnoreUrl(url, ignoreUrls) {
|
|
|
966
966
|
}
|
|
967
967
|
return false;
|
|
968
968
|
}
|
|
969
|
+
function shouldAllowUrl(url, allowUrls) {
|
|
970
|
+
if (!allowUrls || allowUrls.length === 0)
|
|
971
|
+
return true;
|
|
972
|
+
const lowerUrl = url.toLowerCase();
|
|
973
|
+
for (const rule of allowUrls) {
|
|
974
|
+
if (typeof rule === 'string') {
|
|
975
|
+
if (lowerUrl.includes(rule.toLowerCase()))
|
|
976
|
+
return true;
|
|
977
|
+
continue;
|
|
978
|
+
}
|
|
979
|
+
try {
|
|
980
|
+
if (rule.test(url))
|
|
981
|
+
return true;
|
|
982
|
+
}
|
|
983
|
+
catch {
|
|
984
|
+
// ignore invalid regex
|
|
985
|
+
}
|
|
986
|
+
}
|
|
987
|
+
return false;
|
|
988
|
+
}
|
|
969
989
|
function sampleHit$2(sampleRate) {
|
|
970
990
|
if (sampleRate >= 1)
|
|
971
991
|
return true;
|
|
@@ -984,6 +1004,8 @@ function buildPayload(params) {
|
|
|
984
1004
|
return null;
|
|
985
1005
|
if (shouldIgnoreUrl(url, options.ignoreUrls))
|
|
986
1006
|
return null;
|
|
1007
|
+
if (!shouldAllowUrl(url, options.allowUrls))
|
|
1008
|
+
return null;
|
|
987
1009
|
if (!sampleHit$2(options.sampleRate))
|
|
988
1010
|
return null;
|
|
989
1011
|
const payload = { url };
|
|
@@ -1152,6 +1174,7 @@ function installMiniRequestMonitor(report, opts = {}) {
|
|
|
1152
1174
|
reportType: opts.reportType ?? 'http',
|
|
1153
1175
|
sampleRate: opts.sampleRate ?? 1,
|
|
1154
1176
|
ignoreUrls,
|
|
1177
|
+
allowUrls: opts.allowUrls ?? ['wejourney.top'],
|
|
1155
1178
|
includeMethod: opts.includeMethod ?? true,
|
|
1156
1179
|
includeQuery: opts.includeQuery ?? true,
|
|
1157
1180
|
includeBody: opts.includeBody ?? true,
|
|
@@ -1524,6 +1547,7 @@ function installMiniPerformanceMonitor(report, opts = {}) {
|
|
|
1524
1547
|
webVitals: raw.webVitals ?? true,
|
|
1525
1548
|
navigationTiming: raw.navigationTiming ?? true,
|
|
1526
1549
|
resourceTiming: raw.resourceTiming ?? true,
|
|
1550
|
+
allowUrls: raw.allowUrls ?? [],
|
|
1527
1551
|
maxTextLength: raw.maxTextLength ?? 2000,
|
|
1528
1552
|
};
|
|
1529
1553
|
installMiniProgramPerformanceMonitor(report, options);
|
package/dist/mini.js
CHANGED
|
@@ -989,6 +989,26 @@ function shouldIgnoreUrl(url, ignoreUrls) {
|
|
|
989
989
|
}
|
|
990
990
|
return false;
|
|
991
991
|
}
|
|
992
|
+
function shouldAllowUrl(url, allowUrls) {
|
|
993
|
+
if (!allowUrls || allowUrls.length === 0)
|
|
994
|
+
return true;
|
|
995
|
+
const lowerUrl = url.toLowerCase();
|
|
996
|
+
for (const rule of allowUrls) {
|
|
997
|
+
if (typeof rule === 'string') {
|
|
998
|
+
if (lowerUrl.includes(rule.toLowerCase()))
|
|
999
|
+
return true;
|
|
1000
|
+
continue;
|
|
1001
|
+
}
|
|
1002
|
+
try {
|
|
1003
|
+
if (rule.test(url))
|
|
1004
|
+
return true;
|
|
1005
|
+
}
|
|
1006
|
+
catch {
|
|
1007
|
+
// ignore invalid regex
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1010
|
+
return false;
|
|
1011
|
+
}
|
|
992
1012
|
function sampleHit$2(sampleRate) {
|
|
993
1013
|
if (sampleRate >= 1)
|
|
994
1014
|
return true;
|
|
@@ -1007,6 +1027,8 @@ function buildPayload(params) {
|
|
|
1007
1027
|
return null;
|
|
1008
1028
|
if (shouldIgnoreUrl(url, options.ignoreUrls))
|
|
1009
1029
|
return null;
|
|
1030
|
+
if (!shouldAllowUrl(url, options.allowUrls))
|
|
1031
|
+
return null;
|
|
1010
1032
|
if (!sampleHit$2(options.sampleRate))
|
|
1011
1033
|
return null;
|
|
1012
1034
|
const payload = { url };
|
|
@@ -1175,6 +1197,7 @@ function installMiniRequestMonitor(report, opts = {}) {
|
|
|
1175
1197
|
reportType: opts.reportType ?? 'http',
|
|
1176
1198
|
sampleRate: opts.sampleRate ?? 1,
|
|
1177
1199
|
ignoreUrls,
|
|
1200
|
+
allowUrls: opts.allowUrls ?? ['wejourney.top'],
|
|
1178
1201
|
includeMethod: opts.includeMethod ?? true,
|
|
1179
1202
|
includeQuery: opts.includeQuery ?? true,
|
|
1180
1203
|
includeBody: opts.includeBody ?? true,
|
|
@@ -1547,6 +1570,7 @@ function installMiniPerformanceMonitor(report, opts = {}) {
|
|
|
1547
1570
|
webVitals: raw.webVitals ?? true,
|
|
1548
1571
|
navigationTiming: raw.navigationTiming ?? true,
|
|
1549
1572
|
resourceTiming: raw.resourceTiming ?? true,
|
|
1573
|
+
allowUrls: raw.allowUrls ?? [],
|
|
1550
1574
|
maxTextLength: raw.maxTextLength ?? 2000,
|
|
1551
1575
|
};
|
|
1552
1576
|
installMiniProgramPerformanceMonitor(report, options);
|
package/dist/types.d.ts
CHANGED
|
@@ -201,6 +201,12 @@ export interface RequestMonitorOptions {
|
|
|
201
201
|
* - 默认会忽略 CLS 上报域名(避免递归)
|
|
202
202
|
*/
|
|
203
203
|
ignoreUrls?: Array<string | RegExp>;
|
|
204
|
+
/**
|
|
205
|
+
* 允许上报的 url:字符串(includes)或正则(test)
|
|
206
|
+
* - 如果设置了此项,则只有匹配的 url 才会上报
|
|
207
|
+
* - 优先级:ignoreUrls > allowUrls
|
|
208
|
+
*/
|
|
209
|
+
allowUrls?: Array<string | RegExp>;
|
|
204
210
|
/** 是否携带 method,默认 true */
|
|
205
211
|
includeMethod?: boolean;
|
|
206
212
|
/** 是否携带 query,默认 true */
|
|
@@ -251,6 +257,12 @@ export interface PerformanceMonitorOptions {
|
|
|
251
257
|
sampleRate?: number;
|
|
252
258
|
/** Web/H5:忽略的资源 url(防止递归/噪声) */
|
|
253
259
|
ignoreUrls?: Array<string | RegExp>;
|
|
260
|
+
/**
|
|
261
|
+
* Web/H5:允许上报的资源 url(字符串 includes 或正则 test)
|
|
262
|
+
* - 如果设置了此项,则只有匹配的 url 才会上报
|
|
263
|
+
* - 优先级:ignoreUrls > allowUrls
|
|
264
|
+
*/
|
|
265
|
+
allowUrls?: Array<string | RegExp>;
|
|
254
266
|
/** Web/H5:是否采集 Web Vitals(FCP/LCP/CLS/FID),默认 true */
|
|
255
267
|
webVitals?: boolean;
|
|
256
268
|
/** Web/H5:是否采集导航指标(TTFB 等),默认 true */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,SAAS,EAAE,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;AAEhE,sCAAsC;AACtC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC;AAEpC,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAEhD,MAAM,WAAW,qBAAqB;IACpC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,GAAG,CAAC,EAAE,GAAG,CAAC;IAEV;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,UAAU,CAAC;IAEtC,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wCAAwC;IACxC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAAC;IAEjD;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAE7C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAEzD;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;IAEzC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;CACpD;AAED,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,yCAAyC;IACzC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,8BAA8B;IAC9B,OAAO,EAAE,aAAa,CAAC;IACvB,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,2BAA2B,CAAC;AAErF,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACpC;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACnC,0BAA0B;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yBAAyB;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,yBAAyB;IACxC,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACpC;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACnC,sDAAsD;IACtD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2DAA2D;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kDAAkD;IAClD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8DAA8D;IAC9D,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yBAAyB;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,sBAAsB;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,qBAAqB;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mBAAmB;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE;QACb;;;;WAIG;QACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,yBAAyB;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performanceMonitor.d.ts","sourceRoot":"","sources":["../../src/web/performanceMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAEtE,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"performanceMonitor.d.ts","sourceRoot":"","sources":["../../src/web/performanceMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAEtE,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;AA+RzD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,QAAQ,EAChB,IAAI,GAAE,OAAO,GAAG,yBAAyB,GAAG,SAAc,GACzD,IAAI,CAkBN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestMonitor.d.ts","sourceRoot":"","sources":["../../src/web/requestMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGlE,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"requestMonitor.d.ts","sourceRoot":"","sources":["../../src/web/requestMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAGlE,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;AAsRzD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAE,qBAA0B,GAAG,IAAI,CAsBjG"}
|
package/dist/web.esm.js
CHANGED
|
@@ -980,6 +980,26 @@ function shouldIgnoreUrl$1(url, ignoreUrls) {
|
|
|
980
980
|
}
|
|
981
981
|
return false;
|
|
982
982
|
}
|
|
983
|
+
function shouldAllowUrl$1(url, allowUrls) {
|
|
984
|
+
if (!allowUrls || allowUrls.length === 0)
|
|
985
|
+
return true;
|
|
986
|
+
const lowerUrl = url.toLowerCase();
|
|
987
|
+
for (const rule of allowUrls) {
|
|
988
|
+
if (typeof rule === 'string') {
|
|
989
|
+
if (lowerUrl.includes(rule.toLowerCase()))
|
|
990
|
+
return true;
|
|
991
|
+
continue;
|
|
992
|
+
}
|
|
993
|
+
try {
|
|
994
|
+
if (rule.test(url))
|
|
995
|
+
return true;
|
|
996
|
+
}
|
|
997
|
+
catch {
|
|
998
|
+
// ignore invalid regex
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
return false;
|
|
1002
|
+
}
|
|
983
1003
|
function sampleHit$2(sampleRate) {
|
|
984
1004
|
if (sampleRate >= 1)
|
|
985
1005
|
return true;
|
|
@@ -998,6 +1018,8 @@ function buildPayload(params) {
|
|
|
998
1018
|
return null;
|
|
999
1019
|
if (shouldIgnoreUrl$1(url, options.ignoreUrls))
|
|
1000
1020
|
return null;
|
|
1021
|
+
if (!shouldAllowUrl$1(url, options.allowUrls))
|
|
1022
|
+
return null;
|
|
1001
1023
|
if (!sampleHit$2(options.sampleRate))
|
|
1002
1024
|
return null;
|
|
1003
1025
|
const payload = { url };
|
|
@@ -1210,6 +1232,7 @@ function installWebRequestMonitor(report, opts = {}) {
|
|
|
1210
1232
|
reportType: opts.reportType ?? 'http',
|
|
1211
1233
|
sampleRate: opts.sampleRate ?? 1,
|
|
1212
1234
|
ignoreUrls,
|
|
1235
|
+
allowUrls: opts.allowUrls ?? ['wejourney.top'],
|
|
1213
1236
|
includeMethod: opts.includeMethod ?? true,
|
|
1214
1237
|
includeQuery: opts.includeQuery ?? true,
|
|
1215
1238
|
includeBody: opts.includeBody ?? true,
|
|
@@ -1456,6 +1479,26 @@ function shouldIgnoreUrl(url, ignoreUrls) {
|
|
|
1456
1479
|
}
|
|
1457
1480
|
return false;
|
|
1458
1481
|
}
|
|
1482
|
+
function shouldAllowUrl(url, allowUrls) {
|
|
1483
|
+
if (!allowUrls || allowUrls.length === 0)
|
|
1484
|
+
return true;
|
|
1485
|
+
const lowerUrl = url.toLowerCase();
|
|
1486
|
+
for (const rule of allowUrls) {
|
|
1487
|
+
if (typeof rule === 'string') {
|
|
1488
|
+
if (lowerUrl.includes(rule.toLowerCase()))
|
|
1489
|
+
return true;
|
|
1490
|
+
continue;
|
|
1491
|
+
}
|
|
1492
|
+
try {
|
|
1493
|
+
if (rule.test(url))
|
|
1494
|
+
return true;
|
|
1495
|
+
}
|
|
1496
|
+
catch {
|
|
1497
|
+
// ignore invalid regex
|
|
1498
|
+
}
|
|
1499
|
+
}
|
|
1500
|
+
return false;
|
|
1501
|
+
}
|
|
1459
1502
|
function getPagePath() {
|
|
1460
1503
|
try {
|
|
1461
1504
|
if (typeof window === 'undefined')
|
|
@@ -1482,6 +1525,7 @@ function installBrowserPerformanceMonitor(report, options) {
|
|
|
1482
1525
|
return;
|
|
1483
1526
|
w.__beLinkClsLoggerPerfInstalled__ = true;
|
|
1484
1527
|
const ignoreUrls = [...DEFAULT_IGNORE, ...(options.ignoreUrls ?? [])];
|
|
1528
|
+
const allowUrls = options.allowUrls ?? [];
|
|
1485
1529
|
// Navigation timing: TTFB 等
|
|
1486
1530
|
if (options.navigationTiming) {
|
|
1487
1531
|
try {
|
|
@@ -1629,7 +1673,7 @@ function installBrowserPerformanceMonitor(report, options) {
|
|
|
1629
1673
|
return;
|
|
1630
1674
|
for (const entry of list.getEntries()) {
|
|
1631
1675
|
const name = String(entry?.name ?? '');
|
|
1632
|
-
if (!name || shouldIgnoreUrl(name, ignoreUrls))
|
|
1676
|
+
if (!name || shouldIgnoreUrl(name, ignoreUrls) || !shouldAllowUrl(name, allowUrls))
|
|
1633
1677
|
continue;
|
|
1634
1678
|
const initiatorType = String(entry?.initiatorType ?? '');
|
|
1635
1679
|
// 关注 fetch/xhr/img/script(同时允许 css/other 但不强制)
|
|
@@ -1704,6 +1748,7 @@ function installWebPerformanceMonitor(report, opts = {}) {
|
|
|
1704
1748
|
reportType: raw.reportType ?? 'perf',
|
|
1705
1749
|
sampleRate: raw.sampleRate ?? 1,
|
|
1706
1750
|
ignoreUrls: raw.ignoreUrls ?? [],
|
|
1751
|
+
allowUrls: raw.allowUrls ?? ['wejourney.top', 'travelkeep.top', ' 8848top.com', 'yuanqiclub.com'],
|
|
1707
1752
|
webVitals: raw.webVitals ?? true,
|
|
1708
1753
|
navigationTiming: raw.navigationTiming ?? true,
|
|
1709
1754
|
resourceTiming: raw.resourceTiming ?? true,
|