@pluve/mp-logger-sdk 0.0.1
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 +133 -0
- package/dist/cjs/capture/wechatError.js +85 -0
- package/dist/cjs/compress/compression.js +94 -0
- package/dist/cjs/config/index.js +48 -0
- package/dist/cjs/core/fingerprint.js +32 -0
- package/dist/cjs/core/httpClient.js +55 -0
- package/dist/cjs/core/loggerSDK.js +580 -0
- package/dist/cjs/core/queueManager.js +121 -0
- package/dist/cjs/core/retryManager.js +123 -0
- package/dist/cjs/index.js +25 -0
- package/dist/cjs/stack/stacktrace.js +69 -0
- package/dist/cjs/transport/transport.js +17 -0
- package/dist/cjs/transport/transportAdapter.js +39 -0
- package/dist/cjs/transport/wechatTransport.js +98 -0
- package/dist/cjs/types/api.js +17 -0
- package/dist/cjs/types/env.js +17 -0
- package/dist/cjs/types/external.d.ts +15 -0
- package/dist/cjs/types/logEvent.js +17 -0
- package/dist/cjs/types/logEventLevel.js +17 -0
- package/dist/cjs/types/sdkOptions.js +17 -0
- package/dist/cjs/types/securityType.js +34 -0
- package/dist/cjs/types/trackOptions.js +17 -0
- package/dist/cjs/utils/environment.js +85 -0
- package/dist/cjs/utils/innerMD5.js +143 -0
- package/dist/cjs/utils/session.js +27 -0
- package/dist/cjs/utils/tools.js +73 -0
- package/dist/cjs/utils/uuid.js +31 -0
- package/dist/esm/capture/wechatError.js +65 -0
- package/dist/esm/compress/compression.js +74 -0
- package/dist/esm/config/index.js +28 -0
- package/dist/esm/core/fingerprint.js +12 -0
- package/dist/esm/core/httpClient.js +35 -0
- package/dist/esm/core/loggerSDK.js +560 -0
- package/dist/esm/core/queueManager.js +101 -0
- package/dist/esm/core/retryManager.js +103 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/stack/stacktrace.js +49 -0
- package/dist/esm/transport/transport.js +0 -0
- package/dist/esm/transport/transportAdapter.js +19 -0
- package/dist/esm/transport/wechatTransport.js +78 -0
- package/dist/esm/types/api.js +0 -0
- package/dist/esm/types/env.js +0 -0
- package/dist/esm/types/external.d.ts +15 -0
- package/dist/esm/types/logEvent.js +0 -0
- package/dist/esm/types/logEventLevel.js +0 -0
- package/dist/esm/types/sdkOptions.js +0 -0
- package/dist/esm/types/securityType.js +14 -0
- package/dist/esm/types/trackOptions.js +0 -0
- package/dist/esm/utils/environment.js +65 -0
- package/dist/esm/utils/innerMD5.js +123 -0
- package/dist/esm/utils/session.js +7 -0
- package/dist/esm/utils/tools.js +53 -0
- package/dist/esm/utils/uuid.js +11 -0
- package/dist/types/capture/jsError.d.ts +2 -0
- package/dist/types/capture/promiseError.d.ts +2 -0
- package/dist/types/capture/resourceError.d.ts +2 -0
- package/dist/types/capture/wechatError.d.ts +3 -0
- package/dist/types/compress/compression.d.ts +9 -0
- package/dist/types/config/index.d.ts +9 -0
- package/dist/types/core/fingerprint.d.ts +8 -0
- package/dist/types/core/httpClient.d.ts +11 -0
- package/dist/types/core/loggerSDK.d.ts +87 -0
- package/dist/types/core/queueManager.d.ts +55 -0
- package/dist/types/core/retryManager.d.ts +53 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/stack/stacktrace.d.ts +2 -0
- package/dist/types/transport/beaconTransport.d.ts +11 -0
- package/dist/types/transport/pixelImageTransport.d.ts +11 -0
- package/dist/types/transport/transport.d.ts +14 -0
- package/dist/types/transport/transportAdapter.d.ts +8 -0
- package/dist/types/transport/wechatTransport.d.ts +11 -0
- package/dist/types/types/api.d.ts +12 -0
- package/dist/types/types/env.d.ts +14 -0
- package/dist/types/types/logEvent.d.ts +57 -0
- package/dist/types/types/logEventLevel.d.ts +2 -0
- package/dist/types/types/sdkOptions.d.ts +61 -0
- package/dist/types/types/securityType.d.ts +6 -0
- package/dist/types/types/trackOptions.d.ts +7 -0
- package/dist/types/utils/environment.d.ts +10 -0
- package/dist/types/utils/innerMD5.d.ts +6 -0
- package/dist/types/utils/session.d.ts +1 -0
- package/dist/types/utils/tools.d.ts +12 -0
- package/dist/types/utils/uuid.d.ts +7 -0
- package/package.json +65 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/core/retryManager.ts
|
|
20
|
+
var retryManager_exports = {};
|
|
21
|
+
__export(retryManager_exports, {
|
|
22
|
+
RetryManager: () => RetryManager
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(retryManager_exports);
|
|
25
|
+
var import_tools = require("../utils/tools");
|
|
26
|
+
var RetryManager = class {
|
|
27
|
+
constructor(options) {
|
|
28
|
+
this.retryingTasks = /* @__PURE__ */ new Map();
|
|
29
|
+
this.opts = options;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 执行带重试的任务
|
|
33
|
+
* @param taskId - 任务唯一标识
|
|
34
|
+
* @param fn - 要执行的异步函数
|
|
35
|
+
* @returns Promise
|
|
36
|
+
*/
|
|
37
|
+
async executeWithRetry(taskId, fn) {
|
|
38
|
+
if (this.retryingTasks.has(taskId)) {
|
|
39
|
+
(0, import_tools.logDebug)(!!this.opts.debug, `Task ${taskId} already retrying, skipped`);
|
|
40
|
+
throw new Error(`Task ${taskId} already retrying`);
|
|
41
|
+
}
|
|
42
|
+
const task = {
|
|
43
|
+
id: taskId,
|
|
44
|
+
fn,
|
|
45
|
+
retries: 0,
|
|
46
|
+
maxRetries: this.opts.maxRetries,
|
|
47
|
+
baseDelay: this.opts.baseDelay,
|
|
48
|
+
useBackoff: this.opts.useBackoff
|
|
49
|
+
};
|
|
50
|
+
this.retryingTasks.set(taskId, task);
|
|
51
|
+
try {
|
|
52
|
+
const result = await this.executeTask(task);
|
|
53
|
+
this.retryingTasks.delete(taskId);
|
|
54
|
+
return result;
|
|
55
|
+
} catch (error) {
|
|
56
|
+
this.retryingTasks.delete(taskId);
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* 执行任务(带重试逻辑)
|
|
62
|
+
*/
|
|
63
|
+
async executeTask(task) {
|
|
64
|
+
while (task.retries <= task.maxRetries) {
|
|
65
|
+
try {
|
|
66
|
+
const result = await task.fn();
|
|
67
|
+
if (task.retries > 0) {
|
|
68
|
+
(0, import_tools.logDebug)(!!this.opts.debug, `Task ${task.id} succeeded after ${task.retries} retries`);
|
|
69
|
+
}
|
|
70
|
+
return result;
|
|
71
|
+
} catch (error) {
|
|
72
|
+
task.retries += 1;
|
|
73
|
+
if (task.retries > task.maxRetries) {
|
|
74
|
+
(0, import_tools.logDebug)(!!this.opts.debug, `Task ${task.id} failed after ${task.maxRetries} retries`);
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
const delay = RetryManager.calculateDelay(task.retries, task.baseDelay, task.useBackoff);
|
|
78
|
+
(0, import_tools.logDebug)(
|
|
79
|
+
!!this.opts.debug,
|
|
80
|
+
`Task ${task.id} failed (attempt ${task.retries}/${task.maxRetries}), retrying in ${delay}ms`
|
|
81
|
+
);
|
|
82
|
+
await RetryManager.sleep(delay);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
throw new Error(`Task ${task.id} exceeded max retries`);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* 计算延迟时间
|
|
89
|
+
* @param attempt - 当前重试次数
|
|
90
|
+
* @param baseDelay - 基础延迟时间
|
|
91
|
+
* @param useBackoff - 是否使用指数退避
|
|
92
|
+
* @returns 延迟时间(毫秒)
|
|
93
|
+
*/
|
|
94
|
+
static calculateDelay(attempt, baseDelay, useBackoff) {
|
|
95
|
+
if (!useBackoff) {
|
|
96
|
+
return baseDelay;
|
|
97
|
+
}
|
|
98
|
+
const factor = 2 ** (attempt - 1);
|
|
99
|
+
const delay = baseDelay * factor;
|
|
100
|
+
const jitterRatio = 0.3;
|
|
101
|
+
const maxDelay = 3e4;
|
|
102
|
+
const jitter = Math.random() * jitterRatio * delay;
|
|
103
|
+
return Math.min(delay + jitter, maxDelay);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* 睡眠函数
|
|
107
|
+
*/
|
|
108
|
+
static sleep(ms) {
|
|
109
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* 获取正在重试的任务数量
|
|
113
|
+
*/
|
|
114
|
+
getRetryingCount() {
|
|
115
|
+
return this.retryingTasks.size;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* 清空所有重试任务
|
|
119
|
+
*/
|
|
120
|
+
clear() {
|
|
121
|
+
this.retryingTasks.clear();
|
|
122
|
+
}
|
|
123
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/index.ts
|
|
20
|
+
var src_exports = {};
|
|
21
|
+
__export(src_exports, {
|
|
22
|
+
LoggerSDK: () => import_loggerSDK.LoggerSDK
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(src_exports);
|
|
25
|
+
var import_loggerSDK = require("./core/loggerSDK");
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/stack/stacktrace.ts
|
|
20
|
+
var stacktrace_exports = {};
|
|
21
|
+
__export(stacktrace_exports, {
|
|
22
|
+
parseStack: () => parseStack
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(stacktrace_exports);
|
|
25
|
+
function parseErrorStack(stack) {
|
|
26
|
+
const lines = stack.split("\n");
|
|
27
|
+
const frames = [];
|
|
28
|
+
lines.forEach((line) => {
|
|
29
|
+
const trimmed = line.trim();
|
|
30
|
+
if (!trimmed)
|
|
31
|
+
return;
|
|
32
|
+
if (trimmed.startsWith("Error:"))
|
|
33
|
+
return;
|
|
34
|
+
const v8Match = trimmed.match(/^at (?:(.+?)\s+\()?(?:(.+?):(\d+):(\d+))\)?$/);
|
|
35
|
+
if (v8Match) {
|
|
36
|
+
frames.push({
|
|
37
|
+
function: v8Match[1] || void 0,
|
|
38
|
+
file: v8Match[2],
|
|
39
|
+
line: parseInt(v8Match[3], 10),
|
|
40
|
+
column: parseInt(v8Match[4], 10)
|
|
41
|
+
});
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const jscMatch = trimmed.match(/^(?:(.+?)@)?(.+?):(\d+):(\d+)$/);
|
|
45
|
+
if (jscMatch) {
|
|
46
|
+
frames.push({
|
|
47
|
+
function: jscMatch[1] || void 0,
|
|
48
|
+
file: jscMatch[2],
|
|
49
|
+
line: parseInt(jscMatch[3], 10),
|
|
50
|
+
column: parseInt(jscMatch[4], 10)
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
return frames;
|
|
55
|
+
}
|
|
56
|
+
async function parseStack(error) {
|
|
57
|
+
return new Promise((resolve) => {
|
|
58
|
+
try {
|
|
59
|
+
if (!error || !error.stack) {
|
|
60
|
+
resolve([]);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const frames = parseErrorStack(error.stack);
|
|
64
|
+
resolve(frames.slice(0, 5));
|
|
65
|
+
} catch (e) {
|
|
66
|
+
resolve([]);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
|
|
15
|
+
// src/transport/transport.ts
|
|
16
|
+
var transport_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(transport_exports);
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/transport/transportAdapter.ts
|
|
20
|
+
var transportAdapter_exports = {};
|
|
21
|
+
__export(transportAdapter_exports, {
|
|
22
|
+
TransportAdapter: () => TransportAdapter
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(transportAdapter_exports);
|
|
25
|
+
var import_wechatTransport = require("./wechatTransport");
|
|
26
|
+
var TransportAdapter = class {
|
|
27
|
+
constructor(opts) {
|
|
28
|
+
this.opts = opts;
|
|
29
|
+
}
|
|
30
|
+
static getInstance(opts) {
|
|
31
|
+
if (!TransportAdapter.instance) {
|
|
32
|
+
TransportAdapter.instance = new TransportAdapter(opts);
|
|
33
|
+
}
|
|
34
|
+
return TransportAdapter.instance;
|
|
35
|
+
}
|
|
36
|
+
async getTransporter() {
|
|
37
|
+
return new import_wechatTransport.WechatTransport(this.opts);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/transport/wechatTransport.ts
|
|
20
|
+
var wechatTransport_exports = {};
|
|
21
|
+
__export(wechatTransport_exports, {
|
|
22
|
+
WechatTransport: () => WechatTransport
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(wechatTransport_exports);
|
|
25
|
+
var import_compression = require("../compress/compression");
|
|
26
|
+
var import_config = require("../config");
|
|
27
|
+
var import_tools = require("../utils/tools");
|
|
28
|
+
var WechatTransport = class {
|
|
29
|
+
constructor(opts) {
|
|
30
|
+
/** 传输器名称 */
|
|
31
|
+
this.name = "wechat";
|
|
32
|
+
this.opts = opts;
|
|
33
|
+
}
|
|
34
|
+
// eslint-disable-next-line class-methods-use-this
|
|
35
|
+
isSupported() {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
async send(token, payload) {
|
|
39
|
+
var _a, _b, _c, _d, _e;
|
|
40
|
+
let body = typeof payload === "string" ? payload : (0, import_tools.safeStringify)(payload);
|
|
41
|
+
const endpoint = `${(0, import_config.getReportApi)(((_a = this.opts) == null ? void 0 : _a.env) || "develop")}?token=${token}`;
|
|
42
|
+
const timeout = 1e4;
|
|
43
|
+
let contentType = "application/json";
|
|
44
|
+
if (((_b = this.opts) == null ? void 0 : _b.enableGzip) && payload.items.length >= ((_c = this.opts) == null ? void 0 : _c.gzipBatchMinSize)) {
|
|
45
|
+
const t = (0, import_tools.now)();
|
|
46
|
+
(0, import_tools.logDebug)(!!((_d = this.opts) == null ? void 0 : _d.debug), "WeChat request enable gzip compress: ", t);
|
|
47
|
+
const compressedItems = await (0, import_compression.gzipCompress)((0, import_tools.safeStringify)(payload.items));
|
|
48
|
+
body = (0, import_tools.safeStringify)({
|
|
49
|
+
...payload,
|
|
50
|
+
items: compressedItems
|
|
51
|
+
});
|
|
52
|
+
(0, import_tools.logDebug)(!!((_e = this.opts) == null ? void 0 : _e.debug), "WeChat request gzip compress cost: ", (0, import_tools.now)() - t);
|
|
53
|
+
contentType = "application/json; charset=utf-8";
|
|
54
|
+
}
|
|
55
|
+
return new Promise((resolve, reject) => {
|
|
56
|
+
var _a2;
|
|
57
|
+
let timeoutId = null;
|
|
58
|
+
let settled = false;
|
|
59
|
+
timeoutId = setTimeout(() => {
|
|
60
|
+
if (!settled) {
|
|
61
|
+
settled = true;
|
|
62
|
+
reject(new Error(`WeChat request timeout after ${timeout}ms`));
|
|
63
|
+
}
|
|
64
|
+
}, timeout);
|
|
65
|
+
wx.request({
|
|
66
|
+
url: endpoint,
|
|
67
|
+
method: "POST",
|
|
68
|
+
data: body,
|
|
69
|
+
header: {
|
|
70
|
+
"Content-Type": contentType,
|
|
71
|
+
token: ((_a2 = this.opts) == null ? void 0 : _a2.token) || ""
|
|
72
|
+
},
|
|
73
|
+
success(res) {
|
|
74
|
+
if (timeoutId)
|
|
75
|
+
clearTimeout(timeoutId);
|
|
76
|
+
if (!settled) {
|
|
77
|
+
settled = true;
|
|
78
|
+
if (res.statusCode >= 200 && res.statusCode < 300) {
|
|
79
|
+
resolve();
|
|
80
|
+
} else {
|
|
81
|
+
reject(new Error(`HTTP ${res.statusCode}`));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
fail(err) {
|
|
86
|
+
var _a3;
|
|
87
|
+
if (timeoutId)
|
|
88
|
+
clearTimeout(timeoutId);
|
|
89
|
+
if (!settled) {
|
|
90
|
+
settled = true;
|
|
91
|
+
(0, import_tools.logDebug)(!!((_a3 = this.opts) == null ? void 0 : _a3.debug), "WeChat request failed", err);
|
|
92
|
+
reject(new Error(`WeChat request failed: ${err.errMsg || "unknown error"}`));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
|
|
15
|
+
// src/types/api.ts
|
|
16
|
+
var api_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(api_exports);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
|
|
15
|
+
// src/types/env.ts
|
|
16
|
+
var env_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(env_exports);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: 黄震 huangzhen@yfpharmacy.com
|
|
3
|
+
* @Date: 2026-02-03 10:26:04
|
|
4
|
+
* @LastEditors: 黄震 huangzhen@yfpharmacy.com
|
|
5
|
+
* @LastEditTime: 2026-02-13 15:15:07
|
|
6
|
+
* @FilePath: /pluve-lib/packages/mp-logger-sdk/src/types/external.d.ts
|
|
7
|
+
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
8
|
+
*/
|
|
9
|
+
declare module 'fflate' {
|
|
10
|
+
export function gzipSync(input: Uint8Array | string): Uint8Array;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare const wx: any;
|
|
14
|
+
declare function getCurrentPages(): any[];
|
|
15
|
+
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
|
|
15
|
+
// src/types/logEvent.ts
|
|
16
|
+
var logEvent_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(logEvent_exports);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
|
|
15
|
+
// src/types/logEventLevel.ts
|
|
16
|
+
var logEventLevel_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(logEventLevel_exports);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
|
|
15
|
+
// src/types/sdkOptions.ts
|
|
16
|
+
var sdkOptions_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(sdkOptions_exports);
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/types/securityType.ts
|
|
20
|
+
var securityType_exports = {};
|
|
21
|
+
__export(securityType_exports, {
|
|
22
|
+
SecurityType: () => SecurityType
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(securityType_exports);
|
|
25
|
+
var SecurityType = {
|
|
26
|
+
ACCOUNT_CENTER: "2B",
|
|
27
|
+
// 2B(账号中心)
|
|
28
|
+
EHP: "EHP",
|
|
29
|
+
// EHP(医疗)
|
|
30
|
+
CUSTOMER: "CUSTOMER",
|
|
31
|
+
// 2C(会员,这期不涉及先预留)
|
|
32
|
+
BASE: "BASE"
|
|
33
|
+
// BASE(兜底MD5)
|
|
34
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
|
|
15
|
+
// src/types/trackOptions.ts
|
|
16
|
+
var trackOptions_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(trackOptions_exports);
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/utils/environment.ts
|
|
20
|
+
var environment_exports = {};
|
|
21
|
+
__export(environment_exports, {
|
|
22
|
+
collectEnvironmentTags: () => collectEnvironmentTags,
|
|
23
|
+
getCurrentUrl: () => getCurrentUrl,
|
|
24
|
+
getEnvironmentInfo: () => getEnvironmentInfo
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(environment_exports);
|
|
27
|
+
function getCurrentUrl() {
|
|
28
|
+
try {
|
|
29
|
+
if (typeof getCurrentPages !== "function") {
|
|
30
|
+
return "";
|
|
31
|
+
}
|
|
32
|
+
const pages = getCurrentPages();
|
|
33
|
+
if (pages && pages.length > 0) {
|
|
34
|
+
const currentPage = pages[pages.length - 1];
|
|
35
|
+
const route = currentPage.route || "";
|
|
36
|
+
const options = currentPage.options || {};
|
|
37
|
+
let query = "";
|
|
38
|
+
if (options && typeof options === "object") {
|
|
39
|
+
query = Object.keys(options).map((key) => `${key}=${options[key]}`).join("&");
|
|
40
|
+
}
|
|
41
|
+
return query ? `${route}?${query}` : route;
|
|
42
|
+
}
|
|
43
|
+
} catch (e) {
|
|
44
|
+
return "";
|
|
45
|
+
}
|
|
46
|
+
return "";
|
|
47
|
+
}
|
|
48
|
+
function getEnvironmentInfo() {
|
|
49
|
+
const envInfo = {
|
|
50
|
+
platform: "wechat"
|
|
51
|
+
};
|
|
52
|
+
try {
|
|
53
|
+
const systemInfo = wx.getSystemInfoSync();
|
|
54
|
+
envInfo.systemInfo = {
|
|
55
|
+
brand: systemInfo.brand,
|
|
56
|
+
model: systemInfo.model,
|
|
57
|
+
system: systemInfo.system,
|
|
58
|
+
platform: systemInfo.platform,
|
|
59
|
+
version: systemInfo.version,
|
|
60
|
+
SDKVersion: systemInfo.SDKVersion
|
|
61
|
+
};
|
|
62
|
+
envInfo.screenWidth = systemInfo.screenWidth;
|
|
63
|
+
envInfo.screenHeight = systemInfo.screenHeight;
|
|
64
|
+
envInfo.language = systemInfo.language;
|
|
65
|
+
} catch (e) {
|
|
66
|
+
}
|
|
67
|
+
return envInfo;
|
|
68
|
+
}
|
|
69
|
+
function collectEnvironmentTags() {
|
|
70
|
+
const envInfo = getEnvironmentInfo();
|
|
71
|
+
const tags = {
|
|
72
|
+
platform: envInfo.platform
|
|
73
|
+
};
|
|
74
|
+
if (envInfo.platform === "wechat" && envInfo.systemInfo) {
|
|
75
|
+
tags.brand = envInfo.systemInfo.brand;
|
|
76
|
+
tags.model = envInfo.systemInfo.model;
|
|
77
|
+
tags.system = envInfo.systemInfo.system;
|
|
78
|
+
tags.wechatVersion = envInfo.systemInfo.version;
|
|
79
|
+
tags.SDKVersion = envInfo.systemInfo.SDKVersion;
|
|
80
|
+
tags.screenWidth = envInfo.screenWidth;
|
|
81
|
+
tags.screenHeight = envInfo.screenHeight;
|
|
82
|
+
tags.language = envInfo.language;
|
|
83
|
+
}
|
|
84
|
+
return tags;
|
|
85
|
+
}
|