customer-chat-sdk 1.0.28 → 1.0.30
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/core/ScreenshotManager.d.ts +81 -4
- package/dist/core/ScreenshotManager.d.ts.map +1 -1
- package/dist/customer-sdk.cjs.js +603 -69
- package/dist/customer-sdk.esm.js +603 -69
- package/dist/customer-sdk.min.js +1 -1
- package/dist/types/index.d.ts +12 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +3 -2
|
@@ -12,13 +12,21 @@ export interface ScreenshotOptions {
|
|
|
12
12
|
outputFormat?: 'webp' | 'jpeg' | 'png';
|
|
13
13
|
enableCORS?: boolean;
|
|
14
14
|
proxyUrl?: string;
|
|
15
|
-
engine?: 'modern-screenshot';
|
|
15
|
+
engine?: 'modern-screenshot' | 'snapdom';
|
|
16
16
|
corsMode?: 'simple' | 'smart' | 'proxy' | 'blob' | 'canvas-proxy' | 'ignore' | 'test-first';
|
|
17
17
|
silentMode?: boolean;
|
|
18
18
|
maxRetries?: number;
|
|
19
19
|
preloadImages?: boolean;
|
|
20
20
|
maxConcurrentDownloads?: number;
|
|
21
21
|
onlyVisibleImages?: boolean;
|
|
22
|
+
imageCacheTTL?: number;
|
|
23
|
+
useIndexedDB?: boolean;
|
|
24
|
+
usePreconnect?: boolean;
|
|
25
|
+
imageLoadTimeout?: number;
|
|
26
|
+
useIntersectionObserver?: boolean;
|
|
27
|
+
fetchPriority?: 'high' | 'low' | 'auto';
|
|
28
|
+
maxCacheSize?: number;
|
|
29
|
+
maxCacheAge?: number;
|
|
22
30
|
}
|
|
23
31
|
/**
|
|
24
32
|
* 上传配置接口
|
|
@@ -55,6 +63,11 @@ export declare class ScreenshotManager {
|
|
|
55
63
|
private dynamicInterval;
|
|
56
64
|
private expirationTimer;
|
|
57
65
|
private imageProxyCache;
|
|
66
|
+
private indexedDBCache;
|
|
67
|
+
private indexedDBReady;
|
|
68
|
+
private intersectionObserver;
|
|
69
|
+
private visibleElementsCache;
|
|
70
|
+
private preconnected;
|
|
58
71
|
private globalErrorHandler;
|
|
59
72
|
private globalRejectionHandler;
|
|
60
73
|
constructor(targetElement: HTMLElement | null, options?: ScreenshotOptions);
|
|
@@ -98,12 +111,60 @@ export declare class ScreenshotManager {
|
|
|
98
111
|
* 执行截图
|
|
99
112
|
*/
|
|
100
113
|
private takeScreenshot;
|
|
114
|
+
/**
|
|
115
|
+
* 使用 snapdom 截图
|
|
116
|
+
* 参考: https://snapdom.dev/#cors
|
|
117
|
+
* 参考: https://github.com/zumerlab/snapdom/blob/main/README_CN.md
|
|
118
|
+
*
|
|
119
|
+
* 注意:snapdom 内部使用 worker 进行截图处理,会在后台线程执行,不会阻塞主线程
|
|
120
|
+
*/
|
|
121
|
+
private takeScreenshotWithSnapdom;
|
|
101
122
|
/**
|
|
102
123
|
* 使用 modern-screenshot 截图(启用 Worker)
|
|
103
124
|
*/
|
|
104
125
|
private takeScreenshotWithModernScreenshot;
|
|
105
126
|
/**
|
|
106
|
-
*
|
|
127
|
+
* 预连接代理服务器(优化网络性能)
|
|
128
|
+
*/
|
|
129
|
+
private preconnectProxy;
|
|
130
|
+
/**
|
|
131
|
+
* 初始化 Intersection Observer(优化可见性检测)
|
|
132
|
+
*/
|
|
133
|
+
private initIntersectionObserver;
|
|
134
|
+
/**
|
|
135
|
+
* 初始化 IndexedDB(持久化缓存)
|
|
136
|
+
*/
|
|
137
|
+
private initIndexedDB;
|
|
138
|
+
/**
|
|
139
|
+
* 从 IndexedDB 获取缓存
|
|
140
|
+
*/
|
|
141
|
+
private getIndexedDBCache;
|
|
142
|
+
/**
|
|
143
|
+
* 设置 IndexedDB 缓存(带大小和时间控制)
|
|
144
|
+
*/
|
|
145
|
+
private setIndexedDBCache;
|
|
146
|
+
/**
|
|
147
|
+
* 估算 data URL 的大小(字节)
|
|
148
|
+
*/
|
|
149
|
+
private estimateDataUrlSize;
|
|
150
|
+
/**
|
|
151
|
+
* 获取 IndexedDB 当前缓存大小(字节)
|
|
152
|
+
*/
|
|
153
|
+
private getIndexedDBCacheSize;
|
|
154
|
+
/**
|
|
155
|
+
* 清理 IndexedDB 缓存(按时间和大小)
|
|
156
|
+
*/
|
|
157
|
+
private cleanIndexedDBCache;
|
|
158
|
+
/**
|
|
159
|
+
* 按大小清理 IndexedDB 缓存
|
|
160
|
+
*/
|
|
161
|
+
private cleanIndexedDBCacheBySize;
|
|
162
|
+
/**
|
|
163
|
+
* 删除 IndexedDB 缓存
|
|
164
|
+
*/
|
|
165
|
+
private deleteIndexedDBCache;
|
|
166
|
+
/**
|
|
167
|
+
* 检查元素是否在可视区域内(优化:使用 Intersection Observer 或 getBoundingClientRect)
|
|
107
168
|
*/
|
|
108
169
|
private isElementVisible;
|
|
109
170
|
/**
|
|
@@ -119,11 +180,11 @@ export declare class ScreenshotManager {
|
|
|
119
180
|
*/
|
|
120
181
|
private blobToDataUrl;
|
|
121
182
|
/**
|
|
122
|
-
*
|
|
183
|
+
* 等待图片加载完成(优化:使用更短的超时和 Promise.race)
|
|
123
184
|
*/
|
|
124
185
|
private waitForImagesToLoad;
|
|
125
186
|
/**
|
|
126
|
-
* 等待 CSS
|
|
187
|
+
* 等待 CSS 和字体加载完成(优化:减少等待时间,使用 requestAnimationFrame)
|
|
127
188
|
*/
|
|
128
189
|
private waitForStylesAndFonts;
|
|
129
190
|
/**
|
|
@@ -166,6 +227,22 @@ export declare class ScreenshotManager {
|
|
|
166
227
|
* 清理资源
|
|
167
228
|
*/
|
|
168
229
|
destroy(): void;
|
|
230
|
+
/**
|
|
231
|
+
* 获取缓存的图片(检查是否过期)
|
|
232
|
+
*/
|
|
233
|
+
private getCachedImage;
|
|
234
|
+
/**
|
|
235
|
+
* 设置缓存的图片(带时间戳)
|
|
236
|
+
*/
|
|
237
|
+
private setCachedImage;
|
|
238
|
+
/**
|
|
239
|
+
* 清理过期缓存
|
|
240
|
+
*/
|
|
241
|
+
private cleanExpiredCache;
|
|
242
|
+
/**
|
|
243
|
+
* 定期清理过期缓存(可选,在截图时也会自动清理)
|
|
244
|
+
*/
|
|
245
|
+
private startCacheCleanup;
|
|
169
246
|
/**
|
|
170
247
|
* 获取状态
|
|
171
248
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScreenshotManager.d.ts","sourceRoot":"","sources":["../../src/core/ScreenshotManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScreenshotManager.d.ts","sourceRoot":"","sources":["../../src/core/ScreenshotManager.ts"],"names":[],"mappings":"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"}
|