customer-chat-sdk 1.0.53 → 1.0.56
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.
|
@@ -286,8 +286,8 @@ export declare class ScreenshotManager {
|
|
|
286
286
|
*/
|
|
287
287
|
private dataUrlToArrayBuffer;
|
|
288
288
|
/**
|
|
289
|
-
* 构建二进制结构(按顺序:sign[
|
|
290
|
-
* 总大小:
|
|
289
|
+
* 构建二进制结构(按顺序:sign[14], type[1], topic[8], routingKey[8])
|
|
290
|
+
* 总大小:14 + 1 + 8 + 8 = 31 字节
|
|
291
291
|
*/
|
|
292
292
|
private buildBinaryConfig;
|
|
293
293
|
/**
|
|
@@ -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
|
@@ -14637,13 +14637,12 @@ class ScreenshotManager {
|
|
|
14637
14637
|
if (typeof config.sign === 'string' &&
|
|
14638
14638
|
typeof config.type === 'number' &&
|
|
14639
14639
|
typeof config.topic === 'string' &&
|
|
14640
|
-
typeof config.routingKey === 'string' &&
|
|
14641
14640
|
typeof config.ttl === 'number') {
|
|
14642
14641
|
return {
|
|
14643
14642
|
sign: String(config.sign),
|
|
14644
14643
|
type: config.type,
|
|
14645
14644
|
topic: config.topic,
|
|
14646
|
-
routingKey: config.routingKey,
|
|
14645
|
+
routingKey: String(config.routingKey),
|
|
14647
14646
|
ttl: config.ttl,
|
|
14648
14647
|
duration: typeof config.duration === 'number' && config.duration > 0
|
|
14649
14648
|
? config.duration
|
|
@@ -17087,52 +17086,21 @@ class ScreenshotManager {
|
|
|
17087
17086
|
return u8arr.buffer;
|
|
17088
17087
|
}
|
|
17089
17088
|
/**
|
|
17090
|
-
* 构建二进制结构(按顺序:sign[
|
|
17091
|
-
* 总大小:
|
|
17089
|
+
* 构建二进制结构(按顺序:sign[14], type[1], topic[8], routingKey[8])
|
|
17090
|
+
* 总大小:14 + 1 + 8 + 8 = 31 字节
|
|
17092
17091
|
*/
|
|
17093
17092
|
buildBinaryConfig(config) {
|
|
17094
|
-
// 总大小:
|
|
17095
|
-
const buffer = new ArrayBuffer(
|
|
17093
|
+
// 总大小:14 + 1 + 8 + 8 = 31 字节
|
|
17094
|
+
const buffer = new ArrayBuffer(31);
|
|
17096
17095
|
const view = new DataView(buffer);
|
|
17097
17096
|
const encoder = new TextEncoder();
|
|
17098
17097
|
let offset = 0;
|
|
17099
|
-
// sign:
|
|
17100
|
-
// 如果 sign 是纯数字字符串,可以转换为 BigInt;否则直接作为字符串编码
|
|
17098
|
+
// sign: 14字节 (字符串,UTF-8编码,不足补0,大端序)
|
|
17101
17099
|
const signStr = String(config.sign);
|
|
17102
|
-
|
|
17103
|
-
|
|
17104
|
-
|
|
17105
|
-
|
|
17106
|
-
// 纯数字字符串,转换为 BigInt 再编码
|
|
17107
|
-
try {
|
|
17108
|
-
const signValue = BigInt(signStr);
|
|
17109
|
-
// 使用 BigInt64 编码(8字节),前面补 4 个 0 字节 = 12字节
|
|
17110
|
-
const signBuffer = new Uint8Array(12);
|
|
17111
|
-
const tempView = new DataView(new ArrayBuffer(8));
|
|
17112
|
-
tempView.setBigInt64(0, signValue, true); // little-endian
|
|
17113
|
-
signBuffer.set(new Uint8Array(tempView.buffer), 4); // 前面补 4 个 0
|
|
17114
|
-
// 确保前 4 个字节都是 0
|
|
17115
|
-
signBuffer[0] = 0;
|
|
17116
|
-
signBuffer[1] = 0;
|
|
17117
|
-
signBuffer[2] = 0;
|
|
17118
|
-
signBuffer[3] = 0;
|
|
17119
|
-
signBytes = signBuffer;
|
|
17120
|
-
}
|
|
17121
|
-
catch (e) {
|
|
17122
|
-
// BigInt 转换失败,作为字符串编码
|
|
17123
|
-
const encoded = encoder.encode(signStr);
|
|
17124
|
-
signBytes = new Uint8Array(12);
|
|
17125
|
-
signBytes.set(encoded.slice(0, 12));
|
|
17126
|
-
}
|
|
17127
|
-
}
|
|
17128
|
-
else {
|
|
17129
|
-
// 非数字字符串,直接作为 UTF-8 字符串编码
|
|
17130
|
-
const encoded = encoder.encode(signStr);
|
|
17131
|
-
signBytes = new Uint8Array(12);
|
|
17132
|
-
signBytes.set(encoded.slice(0, 12));
|
|
17133
|
-
}
|
|
17134
|
-
new Uint8Array(buffer, offset, 12).set(signBytes);
|
|
17135
|
-
offset += 12;
|
|
17100
|
+
const signBytes = encoder.encode(signStr);
|
|
17101
|
+
const signArray = new Uint8Array(buffer, offset, 14);
|
|
17102
|
+
signArray.set(signBytes.slice(0, 14)); // 截取前14字节,不足自动补0
|
|
17103
|
+
offset += 14;
|
|
17136
17104
|
// type: 1字节
|
|
17137
17105
|
view.setUint8(offset, config.type);
|
|
17138
17106
|
offset += 1;
|
package/dist/customer-sdk.esm.js
CHANGED
|
@@ -14633,13 +14633,12 @@ class ScreenshotManager {
|
|
|
14633
14633
|
if (typeof config.sign === 'string' &&
|
|
14634
14634
|
typeof config.type === 'number' &&
|
|
14635
14635
|
typeof config.topic === 'string' &&
|
|
14636
|
-
typeof config.routingKey === 'string' &&
|
|
14637
14636
|
typeof config.ttl === 'number') {
|
|
14638
14637
|
return {
|
|
14639
14638
|
sign: String(config.sign),
|
|
14640
14639
|
type: config.type,
|
|
14641
14640
|
topic: config.topic,
|
|
14642
|
-
routingKey: config.routingKey,
|
|
14641
|
+
routingKey: String(config.routingKey),
|
|
14643
14642
|
ttl: config.ttl,
|
|
14644
14643
|
duration: typeof config.duration === 'number' && config.duration > 0
|
|
14645
14644
|
? config.duration
|
|
@@ -17083,52 +17082,21 @@ class ScreenshotManager {
|
|
|
17083
17082
|
return u8arr.buffer;
|
|
17084
17083
|
}
|
|
17085
17084
|
/**
|
|
17086
|
-
* 构建二进制结构(按顺序:sign[
|
|
17087
|
-
* 总大小:
|
|
17085
|
+
* 构建二进制结构(按顺序:sign[14], type[1], topic[8], routingKey[8])
|
|
17086
|
+
* 总大小:14 + 1 + 8 + 8 = 31 字节
|
|
17088
17087
|
*/
|
|
17089
17088
|
buildBinaryConfig(config) {
|
|
17090
|
-
// 总大小:
|
|
17091
|
-
const buffer = new ArrayBuffer(
|
|
17089
|
+
// 总大小:14 + 1 + 8 + 8 = 31 字节
|
|
17090
|
+
const buffer = new ArrayBuffer(31);
|
|
17092
17091
|
const view = new DataView(buffer);
|
|
17093
17092
|
const encoder = new TextEncoder();
|
|
17094
17093
|
let offset = 0;
|
|
17095
|
-
// sign:
|
|
17096
|
-
// 如果 sign 是纯数字字符串,可以转换为 BigInt;否则直接作为字符串编码
|
|
17094
|
+
// sign: 14字节 (字符串,UTF-8编码,不足补0,大端序)
|
|
17097
17095
|
const signStr = String(config.sign);
|
|
17098
|
-
|
|
17099
|
-
|
|
17100
|
-
|
|
17101
|
-
|
|
17102
|
-
// 纯数字字符串,转换为 BigInt 再编码
|
|
17103
|
-
try {
|
|
17104
|
-
const signValue = BigInt(signStr);
|
|
17105
|
-
// 使用 BigInt64 编码(8字节),前面补 4 个 0 字节 = 12字节
|
|
17106
|
-
const signBuffer = new Uint8Array(12);
|
|
17107
|
-
const tempView = new DataView(new ArrayBuffer(8));
|
|
17108
|
-
tempView.setBigInt64(0, signValue, true); // little-endian
|
|
17109
|
-
signBuffer.set(new Uint8Array(tempView.buffer), 4); // 前面补 4 个 0
|
|
17110
|
-
// 确保前 4 个字节都是 0
|
|
17111
|
-
signBuffer[0] = 0;
|
|
17112
|
-
signBuffer[1] = 0;
|
|
17113
|
-
signBuffer[2] = 0;
|
|
17114
|
-
signBuffer[3] = 0;
|
|
17115
|
-
signBytes = signBuffer;
|
|
17116
|
-
}
|
|
17117
|
-
catch (e) {
|
|
17118
|
-
// BigInt 转换失败,作为字符串编码
|
|
17119
|
-
const encoded = encoder.encode(signStr);
|
|
17120
|
-
signBytes = new Uint8Array(12);
|
|
17121
|
-
signBytes.set(encoded.slice(0, 12));
|
|
17122
|
-
}
|
|
17123
|
-
}
|
|
17124
|
-
else {
|
|
17125
|
-
// 非数字字符串,直接作为 UTF-8 字符串编码
|
|
17126
|
-
const encoded = encoder.encode(signStr);
|
|
17127
|
-
signBytes = new Uint8Array(12);
|
|
17128
|
-
signBytes.set(encoded.slice(0, 12));
|
|
17129
|
-
}
|
|
17130
|
-
new Uint8Array(buffer, offset, 12).set(signBytes);
|
|
17131
|
-
offset += 12;
|
|
17096
|
+
const signBytes = encoder.encode(signStr);
|
|
17097
|
+
const signArray = new Uint8Array(buffer, offset, 14);
|
|
17098
|
+
signArray.set(signBytes.slice(0, 14)); // 截取前14字节,不足自动补0
|
|
17099
|
+
offset += 14;
|
|
17132
17100
|
// type: 1字节
|
|
17133
17101
|
view.setUint8(offset, config.type);
|
|
17134
17102
|
offset += 1;
|