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[14], type[1], topicLength[1], topic[topicLength], routingKey[8])
294
- * 20 + 1 + 8 + 8 = 37 字节
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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"}
@@ -17200,16 +17200,30 @@ class ScreenshotManager {
17200
17200
  return btoa(binaryStr);
17201
17201
  }
17202
17202
  /**
17203
- * 构建二进制结构(按顺序:sign[14], type[1], topicLength[1], topic[topicLength], routingKey[8])
17204
- * 20 + 1 + 8 + 8 = 37 字节
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
  // 构建配置的二进制结构
@@ -17196,16 +17196,30 @@ class ScreenshotManager {
17196
17196
  return btoa(binaryStr);
17197
17197
  }
17198
17198
  /**
17199
- * 构建二进制结构(按顺序:sign[14], type[1], topicLength[1], topic[topicLength], routingKey[8])
17200
- * 20 + 1 + 8 + 8 = 37 字节
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
  // 构建配置的二进制结构