@tmsfe/tms-core 0.0.62 → 0.0.63
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/package.json +1 -1
- package/src/report/proxy/page.ts +2 -2
- package/src/storage.js +10 -4
package/package.json
CHANGED
package/src/report/proxy/page.ts
CHANGED
|
@@ -29,9 +29,9 @@ function proxyLifeMethod(pageOptions: any, methodName: string): void {
|
|
|
29
29
|
// eslint-disable-next-line no-param-reassign
|
|
30
30
|
pageOptions[methodName] = function (...args: any[]): any {
|
|
31
31
|
// 生命周期函数先发埋点,避免次过程用户退出而丢失埋点
|
|
32
|
-
const options = methodName ===
|
|
32
|
+
const options = methodName === 'onLoad' ? clone.deepClone(args[0], 0, 1) : null;
|
|
33
33
|
const extra = getPageLifeExtra(this, methodName, args);
|
|
34
|
-
helper.reportData(`Page_${methodName}`,
|
|
34
|
+
helper.reportData(`Page_${methodName}`, extra, options);
|
|
35
35
|
|
|
36
36
|
// 执行原函数
|
|
37
37
|
return helper.executeFunc(this, original, args, helper.emptyFunc);
|
package/src/storage.js
CHANGED
|
@@ -46,10 +46,14 @@ const cleanQueue = [];
|
|
|
46
46
|
let cleanTimerId = 0;
|
|
47
47
|
|
|
48
48
|
function cleanTask() {
|
|
49
|
+
const { keys } = wx.getStorageInfoSync();
|
|
49
50
|
while (cleanQueue.length > 0) {
|
|
50
51
|
const { key, version } = cleanQueue.pop();
|
|
51
52
|
for (let i = version - 1; i > version - 10 && i > 0; i--) {
|
|
52
|
-
|
|
53
|
+
const str = `${key}_v${i}`;
|
|
54
|
+
if (keys.includes(str)) {
|
|
55
|
+
removeItem(str);
|
|
56
|
+
}
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
59
|
cleanTimerId = 0;
|
|
@@ -64,9 +68,11 @@ function cleanTask() {
|
|
|
64
68
|
*/
|
|
65
69
|
function setCacheData(key, version, data) {
|
|
66
70
|
// 异步清理旧数据,不要阻塞当前线程
|
|
67
|
-
cleanQueue.
|
|
68
|
-
|
|
69
|
-
cleanTimerId
|
|
71
|
+
if (!cleanQueue.some(q => q.key === key && q.version === version)) {
|
|
72
|
+
cleanQueue.push({ key, version });
|
|
73
|
+
if (cleanTimerId === 0) {
|
|
74
|
+
cleanTimerId = setTimeout(cleanTask, 2000);
|
|
75
|
+
}
|
|
70
76
|
}
|
|
71
77
|
|
|
72
78
|
const str = `${key}_v${version}`;
|