customer-chat-sdk 1.0.63 → 1.0.64
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.
|
@@ -290,8 +290,16 @@ export declare class ScreenshotManager {
|
|
|
290
290
|
*/
|
|
291
291
|
private arrayBufferToBase64;
|
|
292
292
|
/**
|
|
293
|
-
* 构建二进制结构(按顺序:sign[
|
|
294
|
-
* 20 + 1 +
|
|
293
|
+
* 构建二进制结构(按顺序:sign[20], type[1], topicLength[1], topic[topicLength], routingKeyLength[1], routingKey[routingKeyLength])
|
|
294
|
+
* 总大小 = 20 + 1 + 1 + topicLength + 1 + routingKeyLength(动态计算)
|
|
295
|
+
*
|
|
296
|
+
* 与服务端格式对应:
|
|
297
|
+
* - sign: 20字节 (CharSequence, UTF-8)
|
|
298
|
+
* - type: 1字节 (转为无符号)
|
|
299
|
+
* - topicLength: 1字节
|
|
300
|
+
* - topic: topicLength字节 (CharSequence, UTF-8)
|
|
301
|
+
* - routingKeyLength: 1字节
|
|
302
|
+
* - routingKey: routingKeyLength字节 (CharSequence, UTF-8)
|
|
295
303
|
*/
|
|
296
304
|
private buildBinaryConfig;
|
|
297
305
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScreenshotManager.d.ts","sourceRoot":"","sources":["../../src/core/ScreenshotManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ScreenshotManager.d.ts","sourceRoot":"","sources":["../../src/core/ScreenshotManager.ts"],"names":[],"mappings":"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"}
|
package/dist/customer-sdk.cjs.js
CHANGED
|
@@ -17200,16 +17200,30 @@ class ScreenshotManager {
|
|
|
17200
17200
|
return btoa(binaryStr);
|
|
17201
17201
|
}
|
|
17202
17202
|
/**
|
|
17203
|
-
* 构建二进制结构(按顺序:sign[
|
|
17204
|
-
* 20 + 1 +
|
|
17203
|
+
* 构建二进制结构(按顺序:sign[20], type[1], topicLength[1], topic[topicLength], routingKeyLength[1], routingKey[routingKeyLength])
|
|
17204
|
+
* 总大小 = 20 + 1 + 1 + topicLength + 1 + routingKeyLength(动态计算)
|
|
17205
|
+
*
|
|
17206
|
+
* 与服务端格式对应:
|
|
17207
|
+
* - sign: 20字节 (CharSequence, UTF-8)
|
|
17208
|
+
* - type: 1字节 (转为无符号)
|
|
17209
|
+
* - topicLength: 1字节
|
|
17210
|
+
* - topic: topicLength字节 (CharSequence, UTF-8)
|
|
17211
|
+
* - routingKeyLength: 1字节
|
|
17212
|
+
* - routingKey: routingKeyLength字节 (CharSequence, UTF-8)
|
|
17205
17213
|
*/
|
|
17206
17214
|
buildBinaryConfig(config) {
|
|
17207
|
-
// 20 + 1 + 8 + 8 = 37 字节
|
|
17208
|
-
const buffer = new ArrayBuffer(37);
|
|
17209
|
-
const view = new DataView(buffer);
|
|
17210
17215
|
const encoder = new TextEncoder();
|
|
17216
|
+
// 计算实际长度
|
|
17217
|
+
const topicBytes = encoder.encode(config.topic);
|
|
17218
|
+
const topicLength = topicBytes.length;
|
|
17219
|
+
const routingKeyBytes = encoder.encode(config.routingKey.trim());
|
|
17220
|
+
const routingKeyLength = routingKeyBytes.length;
|
|
17221
|
+
// 动态计算总大小:20(sign) + 1(type) + 1(topicLength) + topicLength + 1(routingKeyLength) + routingKeyLength
|
|
17222
|
+
const totalSize = 20 + 1 + 1 + topicLength + 1 + routingKeyLength;
|
|
17223
|
+
const buffer = new ArrayBuffer(totalSize);
|
|
17224
|
+
const view = new DataView(buffer);
|
|
17211
17225
|
let offset = 0;
|
|
17212
|
-
// sign: 20字节 (字符串,UTF-8编码,不足补0
|
|
17226
|
+
// sign: 20字节 (字符串,UTF-8编码,不足补0)
|
|
17213
17227
|
const signStr = String(config.sign);
|
|
17214
17228
|
const signBytes = encoder.encode(signStr);
|
|
17215
17229
|
const signArray = new Uint8Array(buffer, offset, 20);
|
|
@@ -17218,21 +17232,17 @@ class ScreenshotManager {
|
|
|
17218
17232
|
// type: 1字节
|
|
17219
17233
|
view.setUint8(offset, config.type);
|
|
17220
17234
|
offset += 1;
|
|
17221
|
-
// topic: 8字节
|
|
17222
|
-
const topicBytes = encoder.encode(config.topic);
|
|
17223
|
-
const topicLength = topicBytes.length;
|
|
17224
17235
|
// topicLength: 1字节
|
|
17225
17236
|
view.setUint8(offset, topicLength);
|
|
17226
17237
|
offset += 1;
|
|
17238
|
+
// topic: topicLength字节
|
|
17227
17239
|
const topicArray = new Uint8Array(buffer, offset, topicLength);
|
|
17228
17240
|
topicArray.set(topicBytes);
|
|
17229
17241
|
offset += topicLength;
|
|
17230
|
-
// routingKey:
|
|
17231
|
-
const routingKeyBytes = encoder.encode(config.routingKey.trim());
|
|
17232
|
-
const routingKeyLength = routingKeyBytes.length;
|
|
17233
17242
|
// routingKeyLength: 1字节
|
|
17234
17243
|
view.setUint8(offset, routingKeyLength);
|
|
17235
17244
|
offset += 1;
|
|
17245
|
+
// routingKey: routingKeyLength字节
|
|
17236
17246
|
const routingKeyArray = new Uint8Array(buffer, offset, routingKeyLength);
|
|
17237
17247
|
routingKeyArray.set(routingKeyBytes);
|
|
17238
17248
|
offset += routingKeyLength;
|
|
@@ -17285,12 +17295,26 @@ class ScreenshotManager {
|
|
|
17285
17295
|
const imageBufferSize = imageBuffer.byteLength;
|
|
17286
17296
|
// 将 imageBuffer 转换为 base64 字符串(用于和接收端对比)
|
|
17287
17297
|
const imageBufferBase64 = this.arrayBufferToBase64(imageBuffer);
|
|
17298
|
+
// 验证:base64Data(从 latestScreenshot 提取)和 imageBufferBase64(从 imageBuffer 转换)应该一致
|
|
17299
|
+
const isBase64Same = base64Data === imageBufferBase64;
|
|
17288
17300
|
// 打印 imageBuffer 的 base64 编码(用于和接收端对比)
|
|
17289
17301
|
if (!this.options.silentMode) {
|
|
17302
|
+
console.log('📸 [发送前] 数据流程分析:');
|
|
17303
|
+
console.log(` latestScreenshot: ${latestScreenshot.substring(0, 50)}... (原始 data URL)`);
|
|
17304
|
+
console.log(` base64Data (从 latestScreenshot 提取): 长度 ${base64Data.length} 字符`);
|
|
17305
|
+
console.log(` imageBuffer: ArrayBuffer, 大小 ${imageBufferSize} 字节`);
|
|
17306
|
+
console.log(` imageBufferBase64 (从 imageBuffer 转换): 长度 ${imageBufferBase64.length} 字符`);
|
|
17307
|
+
console.log(` ✅ 验证: base64Data === imageBufferBase64 ? ${isBase64Same ? '✅ 一致' : '❌ 不一致'}`);
|
|
17308
|
+
if (!isBase64Same) {
|
|
17309
|
+
console.warn('📸 ⚠️ 警告: base64Data 和 imageBufferBase64 不一致!');
|
|
17310
|
+
console.log(' base64Data (前100字符):', base64Data.substring(0, 100));
|
|
17311
|
+
console.log(' imageBufferBase64 (前100字符):', imageBufferBase64.substring(0, 100));
|
|
17312
|
+
}
|
|
17290
17313
|
console.log('📸 [发送前] imageBuffer 转换为 Base64(用于和接收端对比):');
|
|
17291
17314
|
console.log(` Base64 长度: ${imageBufferBase64.length} 字符`);
|
|
17292
17315
|
console.log(` Base64 完整字符串:`);
|
|
17293
17316
|
console.log(imageBufferBase64);
|
|
17317
|
+
console.log(` 📌 接收端使用方法: const imageUrl = \`data:image/webp;base64,\${receivedBase64}\``);
|
|
17294
17318
|
console.log(` Data URL: data:image/webp;base64,${imageBufferBase64}`);
|
|
17295
17319
|
}
|
|
17296
17320
|
// 构建配置的二进制结构
|
package/dist/customer-sdk.esm.js
CHANGED
|
@@ -17196,16 +17196,30 @@ class ScreenshotManager {
|
|
|
17196
17196
|
return btoa(binaryStr);
|
|
17197
17197
|
}
|
|
17198
17198
|
/**
|
|
17199
|
-
* 构建二进制结构(按顺序:sign[
|
|
17200
|
-
* 20 + 1 +
|
|
17199
|
+
* 构建二进制结构(按顺序:sign[20], type[1], topicLength[1], topic[topicLength], routingKeyLength[1], routingKey[routingKeyLength])
|
|
17200
|
+
* 总大小 = 20 + 1 + 1 + topicLength + 1 + routingKeyLength(动态计算)
|
|
17201
|
+
*
|
|
17202
|
+
* 与服务端格式对应:
|
|
17203
|
+
* - sign: 20字节 (CharSequence, UTF-8)
|
|
17204
|
+
* - type: 1字节 (转为无符号)
|
|
17205
|
+
* - topicLength: 1字节
|
|
17206
|
+
* - topic: topicLength字节 (CharSequence, UTF-8)
|
|
17207
|
+
* - routingKeyLength: 1字节
|
|
17208
|
+
* - routingKey: routingKeyLength字节 (CharSequence, UTF-8)
|
|
17201
17209
|
*/
|
|
17202
17210
|
buildBinaryConfig(config) {
|
|
17203
|
-
// 20 + 1 + 8 + 8 = 37 字节
|
|
17204
|
-
const buffer = new ArrayBuffer(37);
|
|
17205
|
-
const view = new DataView(buffer);
|
|
17206
17211
|
const encoder = new TextEncoder();
|
|
17212
|
+
// 计算实际长度
|
|
17213
|
+
const topicBytes = encoder.encode(config.topic);
|
|
17214
|
+
const topicLength = topicBytes.length;
|
|
17215
|
+
const routingKeyBytes = encoder.encode(config.routingKey.trim());
|
|
17216
|
+
const routingKeyLength = routingKeyBytes.length;
|
|
17217
|
+
// 动态计算总大小:20(sign) + 1(type) + 1(topicLength) + topicLength + 1(routingKeyLength) + routingKeyLength
|
|
17218
|
+
const totalSize = 20 + 1 + 1 + topicLength + 1 + routingKeyLength;
|
|
17219
|
+
const buffer = new ArrayBuffer(totalSize);
|
|
17220
|
+
const view = new DataView(buffer);
|
|
17207
17221
|
let offset = 0;
|
|
17208
|
-
// sign: 20字节 (字符串,UTF-8编码,不足补0
|
|
17222
|
+
// sign: 20字节 (字符串,UTF-8编码,不足补0)
|
|
17209
17223
|
const signStr = String(config.sign);
|
|
17210
17224
|
const signBytes = encoder.encode(signStr);
|
|
17211
17225
|
const signArray = new Uint8Array(buffer, offset, 20);
|
|
@@ -17214,21 +17228,17 @@ class ScreenshotManager {
|
|
|
17214
17228
|
// type: 1字节
|
|
17215
17229
|
view.setUint8(offset, config.type);
|
|
17216
17230
|
offset += 1;
|
|
17217
|
-
// topic: 8字节
|
|
17218
|
-
const topicBytes = encoder.encode(config.topic);
|
|
17219
|
-
const topicLength = topicBytes.length;
|
|
17220
17231
|
// topicLength: 1字节
|
|
17221
17232
|
view.setUint8(offset, topicLength);
|
|
17222
17233
|
offset += 1;
|
|
17234
|
+
// topic: topicLength字节
|
|
17223
17235
|
const topicArray = new Uint8Array(buffer, offset, topicLength);
|
|
17224
17236
|
topicArray.set(topicBytes);
|
|
17225
17237
|
offset += topicLength;
|
|
17226
|
-
// routingKey:
|
|
17227
|
-
const routingKeyBytes = encoder.encode(config.routingKey.trim());
|
|
17228
|
-
const routingKeyLength = routingKeyBytes.length;
|
|
17229
17238
|
// routingKeyLength: 1字节
|
|
17230
17239
|
view.setUint8(offset, routingKeyLength);
|
|
17231
17240
|
offset += 1;
|
|
17241
|
+
// routingKey: routingKeyLength字节
|
|
17232
17242
|
const routingKeyArray = new Uint8Array(buffer, offset, routingKeyLength);
|
|
17233
17243
|
routingKeyArray.set(routingKeyBytes);
|
|
17234
17244
|
offset += routingKeyLength;
|
|
@@ -17281,12 +17291,26 @@ class ScreenshotManager {
|
|
|
17281
17291
|
const imageBufferSize = imageBuffer.byteLength;
|
|
17282
17292
|
// 将 imageBuffer 转换为 base64 字符串(用于和接收端对比)
|
|
17283
17293
|
const imageBufferBase64 = this.arrayBufferToBase64(imageBuffer);
|
|
17294
|
+
// 验证:base64Data(从 latestScreenshot 提取)和 imageBufferBase64(从 imageBuffer 转换)应该一致
|
|
17295
|
+
const isBase64Same = base64Data === imageBufferBase64;
|
|
17284
17296
|
// 打印 imageBuffer 的 base64 编码(用于和接收端对比)
|
|
17285
17297
|
if (!this.options.silentMode) {
|
|
17298
|
+
console.log('📸 [发送前] 数据流程分析:');
|
|
17299
|
+
console.log(` latestScreenshot: ${latestScreenshot.substring(0, 50)}... (原始 data URL)`);
|
|
17300
|
+
console.log(` base64Data (从 latestScreenshot 提取): 长度 ${base64Data.length} 字符`);
|
|
17301
|
+
console.log(` imageBuffer: ArrayBuffer, 大小 ${imageBufferSize} 字节`);
|
|
17302
|
+
console.log(` imageBufferBase64 (从 imageBuffer 转换): 长度 ${imageBufferBase64.length} 字符`);
|
|
17303
|
+
console.log(` ✅ 验证: base64Data === imageBufferBase64 ? ${isBase64Same ? '✅ 一致' : '❌ 不一致'}`);
|
|
17304
|
+
if (!isBase64Same) {
|
|
17305
|
+
console.warn('📸 ⚠️ 警告: base64Data 和 imageBufferBase64 不一致!');
|
|
17306
|
+
console.log(' base64Data (前100字符):', base64Data.substring(0, 100));
|
|
17307
|
+
console.log(' imageBufferBase64 (前100字符):', imageBufferBase64.substring(0, 100));
|
|
17308
|
+
}
|
|
17286
17309
|
console.log('📸 [发送前] imageBuffer 转换为 Base64(用于和接收端对比):');
|
|
17287
17310
|
console.log(` Base64 长度: ${imageBufferBase64.length} 字符`);
|
|
17288
17311
|
console.log(` Base64 完整字符串:`);
|
|
17289
17312
|
console.log(imageBufferBase64);
|
|
17313
|
+
console.log(` 📌 接收端使用方法: const imageUrl = \`data:image/webp;base64,\${receivedBase64}\``);
|
|
17290
17314
|
console.log(` Data URL: data:image/webp;base64,${imageBufferBase64}`);
|
|
17291
17315
|
}
|
|
17292
17316
|
// 构建配置的二进制结构
|