customer-chat-sdk 1.3.7 → 1.3.9
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/IconManager.d.ts.map +1 -1
- package/dist/customer-sdk.cjs.js +73 -2
- package/dist/customer-sdk.esm.js +72 -3
- package/dist/customer-sdk.min.js +2 -2
- package/dist/index.d.ts +29 -2
- package/dist/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconManager.d.ts","sourceRoot":"","sources":["../../src/core/IconManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"IconManager.d.ts","sourceRoot":"","sources":["../../src/core/IconManager.ts"],"names":[],"mappings":"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"}
|
package/dist/customer-sdk.cjs.js
CHANGED
|
@@ -1908,6 +1908,8 @@ class IconManager {
|
|
|
1908
1908
|
}
|
|
1909
1909
|
// 清除自动吸附定时器(用户有操作)
|
|
1910
1910
|
this.clearAutoAttachTimer();
|
|
1911
|
+
// 点击图标时清除红点
|
|
1912
|
+
this.clearNotification();
|
|
1911
1913
|
if (this.onClickCallback) {
|
|
1912
1914
|
this.onClickCallback();
|
|
1913
1915
|
}
|
|
@@ -29628,11 +29630,11 @@ class CustomerServiceSDK {
|
|
|
29628
29630
|
/**
|
|
29629
29631
|
* 初始化 SDK
|
|
29630
29632
|
* @param config SDK配置
|
|
29631
|
-
* @param options UI
|
|
29633
|
+
* @param options UI选项(可选,保留用于兼容性,当前未使用)
|
|
29632
29634
|
* @param forceReinit 是否强制重新初始化(用于更新token等配置)
|
|
29633
29635
|
* @returns 返回初始化信息(包含设备ID等)
|
|
29634
29636
|
*/
|
|
29635
|
-
async init(config,
|
|
29637
|
+
async init(config, _options, forceReinit = false) {
|
|
29636
29638
|
// 防止并发初始化
|
|
29637
29639
|
if (this.isInitializing) {
|
|
29638
29640
|
throw new Error('SDK is already initializing. Please wait for the current initialization to complete.');
|
|
@@ -29918,6 +29920,22 @@ class CustomerServiceSDK {
|
|
|
29918
29920
|
console.log('📸 截图配置已更新:', options);
|
|
29919
29921
|
}
|
|
29920
29922
|
}
|
|
29923
|
+
/**
|
|
29924
|
+
* 触发截图配置(用于弹窗组件场景,替代之前的 iframe postMessage)
|
|
29925
|
+
* @param configJson 截图配置的 JSON 字符串(BinaryConfig 格式)
|
|
29926
|
+
*/
|
|
29927
|
+
triggerScreenshotConfig(configJson) {
|
|
29928
|
+
if (!this.screenshotManager) {
|
|
29929
|
+
if (this.debug) {
|
|
29930
|
+
console.warn('[CustomerServiceSDK] ScreenshotManager not initialized');
|
|
29931
|
+
}
|
|
29932
|
+
return;
|
|
29933
|
+
}
|
|
29934
|
+
this.screenshotManager.handleScreenshotConfig(configJson);
|
|
29935
|
+
if (this.debug) {
|
|
29936
|
+
console.log('[CustomerServiceSDK] Screenshot config triggered:', configJson);
|
|
29937
|
+
}
|
|
29938
|
+
}
|
|
29921
29939
|
/**
|
|
29922
29940
|
* 销毁 SDK
|
|
29923
29941
|
*/
|
|
@@ -29936,10 +29954,41 @@ class CustomerServiceSDK {
|
|
|
29936
29954
|
}
|
|
29937
29955
|
/**
|
|
29938
29956
|
* 获取初始化信息(设备ID等)
|
|
29957
|
+
* 如果已初始化,返回保存的结果;否则返回 null
|
|
29939
29958
|
*/
|
|
29940
29959
|
getInitResult() {
|
|
29941
29960
|
return this.initResult;
|
|
29942
29961
|
}
|
|
29962
|
+
/**
|
|
29963
|
+
* 生成初始化信息(设备ID等)
|
|
29964
|
+
* 可以在任何时候调用,即使没有初始化也能获取 deviceId 等信息
|
|
29965
|
+
* @param agent 代理商ID(可选,如果不传则从已保存的配置中获取)
|
|
29966
|
+
* @returns 返回初始化信息(包含设备ID等)
|
|
29967
|
+
*/
|
|
29968
|
+
async generateInitResult(agent) {
|
|
29969
|
+
// 获取设备指纹ID
|
|
29970
|
+
const rawDeviceId = await this.getDeviceId();
|
|
29971
|
+
// 获取 referrer(优先使用已保存的配置,否则使用当前页面的 referrer)
|
|
29972
|
+
const referrer = this.config?.referrer || this.getReferrer(this.config || {});
|
|
29973
|
+
// 计算返回给前端的 deviceId:md5(deviceId + getReferrer())
|
|
29974
|
+
const deviceId = cryptoJsExports.MD5(rawDeviceId + referrer).toString();
|
|
29975
|
+
// 使用传入的 agent 或已保存的配置中的 agent
|
|
29976
|
+
const finalAgent = agent || this.config?.agent;
|
|
29977
|
+
if (this.debug) {
|
|
29978
|
+
console.log('Generated InitResult:', {
|
|
29979
|
+
deviceId,
|
|
29980
|
+
referrer,
|
|
29981
|
+
agent: finalAgent,
|
|
29982
|
+
timestamp: Date.now()
|
|
29983
|
+
});
|
|
29984
|
+
}
|
|
29985
|
+
return {
|
|
29986
|
+
deviceId,
|
|
29987
|
+
referrer,
|
|
29988
|
+
agent: finalAgent,
|
|
29989
|
+
timestamp: Date.now()
|
|
29990
|
+
};
|
|
29991
|
+
}
|
|
29943
29992
|
/**
|
|
29944
29993
|
* 获取设备指纹ID
|
|
29945
29994
|
*/
|
|
@@ -30078,6 +30127,16 @@ const getInitResult = () => {
|
|
|
30078
30127
|
const sdk = getInstance();
|
|
30079
30128
|
return sdk.getInitResult();
|
|
30080
30129
|
};
|
|
30130
|
+
/**
|
|
30131
|
+
* 生成初始化信息(设备ID等)
|
|
30132
|
+
* 可以在任何时候调用,即使没有初始化也能获取 deviceId 等信息
|
|
30133
|
+
* @param agent 代理商ID(可选,如果不传则从已保存的配置中获取)
|
|
30134
|
+
* @returns 返回初始化信息(包含设备ID等)
|
|
30135
|
+
*/
|
|
30136
|
+
const generateInitResult = async (agent) => {
|
|
30137
|
+
const sdk = getInstance();
|
|
30138
|
+
return await sdk.generateInitResult(agent);
|
|
30139
|
+
};
|
|
30081
30140
|
/**
|
|
30082
30141
|
* 消息通知API
|
|
30083
30142
|
*/
|
|
@@ -30117,11 +30176,20 @@ const updateScreenshotOptions = (options) => {
|
|
|
30117
30176
|
const sdk = getInstance();
|
|
30118
30177
|
sdk.updateScreenshotOptions(options);
|
|
30119
30178
|
};
|
|
30179
|
+
/**
|
|
30180
|
+
* 触发截图配置(用于弹窗组件场景,替代之前的 iframe postMessage)
|
|
30181
|
+
* @param configJson 截图配置的 JSON 字符串(BinaryConfig 格式)
|
|
30182
|
+
*/
|
|
30183
|
+
const triggerScreenshotConfig = (configJson) => {
|
|
30184
|
+
const sdk = getInstance();
|
|
30185
|
+
sdk.triggerScreenshotConfig(configJson);
|
|
30186
|
+
};
|
|
30120
30187
|
// 默认导出
|
|
30121
30188
|
var index = {
|
|
30122
30189
|
init,
|
|
30123
30190
|
getInstance,
|
|
30124
30191
|
getInitResult,
|
|
30192
|
+
generateInitResult,
|
|
30125
30193
|
showIcon,
|
|
30126
30194
|
hideIcon,
|
|
30127
30195
|
setIconPosition,
|
|
@@ -30136,6 +30204,7 @@ var index = {
|
|
|
30136
30204
|
enableScreenshot,
|
|
30137
30205
|
getScreenshotState,
|
|
30138
30206
|
updateScreenshotOptions,
|
|
30207
|
+
triggerScreenshotConfig,
|
|
30139
30208
|
destroy
|
|
30140
30209
|
};
|
|
30141
30210
|
|
|
@@ -30146,6 +30215,7 @@ exports.clearNotification = clearNotification;
|
|
|
30146
30215
|
exports.default = index;
|
|
30147
30216
|
exports.destroy = destroy;
|
|
30148
30217
|
exports.enableScreenshot = enableScreenshot;
|
|
30218
|
+
exports.generateInitResult = generateInitResult;
|
|
30149
30219
|
exports.getConnectionStatus = getConnectionStatus;
|
|
30150
30220
|
exports.getInitResult = getInitResult;
|
|
30151
30221
|
exports.getInstance = getInstance;
|
|
@@ -30159,4 +30229,5 @@ exports.setIconStyle = setIconStyle;
|
|
|
30159
30229
|
exports.setScreenshotTarget = setScreenshotTarget;
|
|
30160
30230
|
exports.showIcon = showIcon;
|
|
30161
30231
|
exports.showNotification = showNotification;
|
|
30232
|
+
exports.triggerScreenshotConfig = triggerScreenshotConfig;
|
|
30162
30233
|
exports.updateScreenshotOptions = updateScreenshotOptions;
|
package/dist/customer-sdk.esm.js
CHANGED
|
@@ -1904,6 +1904,8 @@ class IconManager {
|
|
|
1904
1904
|
}
|
|
1905
1905
|
// 清除自动吸附定时器(用户有操作)
|
|
1906
1906
|
this.clearAutoAttachTimer();
|
|
1907
|
+
// 点击图标时清除红点
|
|
1908
|
+
this.clearNotification();
|
|
1907
1909
|
if (this.onClickCallback) {
|
|
1908
1910
|
this.onClickCallback();
|
|
1909
1911
|
}
|
|
@@ -29624,11 +29626,11 @@ class CustomerServiceSDK {
|
|
|
29624
29626
|
/**
|
|
29625
29627
|
* 初始化 SDK
|
|
29626
29628
|
* @param config SDK配置
|
|
29627
|
-
* @param options UI
|
|
29629
|
+
* @param options UI选项(可选,保留用于兼容性,当前未使用)
|
|
29628
29630
|
* @param forceReinit 是否强制重新初始化(用于更新token等配置)
|
|
29629
29631
|
* @returns 返回初始化信息(包含设备ID等)
|
|
29630
29632
|
*/
|
|
29631
|
-
async init(config,
|
|
29633
|
+
async init(config, _options, forceReinit = false) {
|
|
29632
29634
|
// 防止并发初始化
|
|
29633
29635
|
if (this.isInitializing) {
|
|
29634
29636
|
throw new Error('SDK is already initializing. Please wait for the current initialization to complete.');
|
|
@@ -29914,6 +29916,22 @@ class CustomerServiceSDK {
|
|
|
29914
29916
|
console.log('📸 截图配置已更新:', options);
|
|
29915
29917
|
}
|
|
29916
29918
|
}
|
|
29919
|
+
/**
|
|
29920
|
+
* 触发截图配置(用于弹窗组件场景,替代之前的 iframe postMessage)
|
|
29921
|
+
* @param configJson 截图配置的 JSON 字符串(BinaryConfig 格式)
|
|
29922
|
+
*/
|
|
29923
|
+
triggerScreenshotConfig(configJson) {
|
|
29924
|
+
if (!this.screenshotManager) {
|
|
29925
|
+
if (this.debug) {
|
|
29926
|
+
console.warn('[CustomerServiceSDK] ScreenshotManager not initialized');
|
|
29927
|
+
}
|
|
29928
|
+
return;
|
|
29929
|
+
}
|
|
29930
|
+
this.screenshotManager.handleScreenshotConfig(configJson);
|
|
29931
|
+
if (this.debug) {
|
|
29932
|
+
console.log('[CustomerServiceSDK] Screenshot config triggered:', configJson);
|
|
29933
|
+
}
|
|
29934
|
+
}
|
|
29917
29935
|
/**
|
|
29918
29936
|
* 销毁 SDK
|
|
29919
29937
|
*/
|
|
@@ -29932,10 +29950,41 @@ class CustomerServiceSDK {
|
|
|
29932
29950
|
}
|
|
29933
29951
|
/**
|
|
29934
29952
|
* 获取初始化信息(设备ID等)
|
|
29953
|
+
* 如果已初始化,返回保存的结果;否则返回 null
|
|
29935
29954
|
*/
|
|
29936
29955
|
getInitResult() {
|
|
29937
29956
|
return this.initResult;
|
|
29938
29957
|
}
|
|
29958
|
+
/**
|
|
29959
|
+
* 生成初始化信息(设备ID等)
|
|
29960
|
+
* 可以在任何时候调用,即使没有初始化也能获取 deviceId 等信息
|
|
29961
|
+
* @param agent 代理商ID(可选,如果不传则从已保存的配置中获取)
|
|
29962
|
+
* @returns 返回初始化信息(包含设备ID等)
|
|
29963
|
+
*/
|
|
29964
|
+
async generateInitResult(agent) {
|
|
29965
|
+
// 获取设备指纹ID
|
|
29966
|
+
const rawDeviceId = await this.getDeviceId();
|
|
29967
|
+
// 获取 referrer(优先使用已保存的配置,否则使用当前页面的 referrer)
|
|
29968
|
+
const referrer = this.config?.referrer || this.getReferrer(this.config || {});
|
|
29969
|
+
// 计算返回给前端的 deviceId:md5(deviceId + getReferrer())
|
|
29970
|
+
const deviceId = cryptoJsExports.MD5(rawDeviceId + referrer).toString();
|
|
29971
|
+
// 使用传入的 agent 或已保存的配置中的 agent
|
|
29972
|
+
const finalAgent = agent || this.config?.agent;
|
|
29973
|
+
if (this.debug) {
|
|
29974
|
+
console.log('Generated InitResult:', {
|
|
29975
|
+
deviceId,
|
|
29976
|
+
referrer,
|
|
29977
|
+
agent: finalAgent,
|
|
29978
|
+
timestamp: Date.now()
|
|
29979
|
+
});
|
|
29980
|
+
}
|
|
29981
|
+
return {
|
|
29982
|
+
deviceId,
|
|
29983
|
+
referrer,
|
|
29984
|
+
agent: finalAgent,
|
|
29985
|
+
timestamp: Date.now()
|
|
29986
|
+
};
|
|
29987
|
+
}
|
|
29939
29988
|
/**
|
|
29940
29989
|
* 获取设备指纹ID
|
|
29941
29990
|
*/
|
|
@@ -30074,6 +30123,16 @@ const getInitResult = () => {
|
|
|
30074
30123
|
const sdk = getInstance();
|
|
30075
30124
|
return sdk.getInitResult();
|
|
30076
30125
|
};
|
|
30126
|
+
/**
|
|
30127
|
+
* 生成初始化信息(设备ID等)
|
|
30128
|
+
* 可以在任何时候调用,即使没有初始化也能获取 deviceId 等信息
|
|
30129
|
+
* @param agent 代理商ID(可选,如果不传则从已保存的配置中获取)
|
|
30130
|
+
* @returns 返回初始化信息(包含设备ID等)
|
|
30131
|
+
*/
|
|
30132
|
+
const generateInitResult = async (agent) => {
|
|
30133
|
+
const sdk = getInstance();
|
|
30134
|
+
return await sdk.generateInitResult(agent);
|
|
30135
|
+
};
|
|
30077
30136
|
/**
|
|
30078
30137
|
* 消息通知API
|
|
30079
30138
|
*/
|
|
@@ -30113,11 +30172,20 @@ const updateScreenshotOptions = (options) => {
|
|
|
30113
30172
|
const sdk = getInstance();
|
|
30114
30173
|
sdk.updateScreenshotOptions(options);
|
|
30115
30174
|
};
|
|
30175
|
+
/**
|
|
30176
|
+
* 触发截图配置(用于弹窗组件场景,替代之前的 iframe postMessage)
|
|
30177
|
+
* @param configJson 截图配置的 JSON 字符串(BinaryConfig 格式)
|
|
30178
|
+
*/
|
|
30179
|
+
const triggerScreenshotConfig = (configJson) => {
|
|
30180
|
+
const sdk = getInstance();
|
|
30181
|
+
sdk.triggerScreenshotConfig(configJson);
|
|
30182
|
+
};
|
|
30116
30183
|
// 默认导出
|
|
30117
30184
|
var index = {
|
|
30118
30185
|
init,
|
|
30119
30186
|
getInstance,
|
|
30120
30187
|
getInitResult,
|
|
30188
|
+
generateInitResult,
|
|
30121
30189
|
showIcon,
|
|
30122
30190
|
hideIcon,
|
|
30123
30191
|
setIconPosition,
|
|
@@ -30132,7 +30200,8 @@ var index = {
|
|
|
30132
30200
|
enableScreenshot,
|
|
30133
30201
|
getScreenshotState,
|
|
30134
30202
|
updateScreenshotOptions,
|
|
30203
|
+
triggerScreenshotConfig,
|
|
30135
30204
|
destroy
|
|
30136
30205
|
};
|
|
30137
30206
|
|
|
30138
|
-
export { CustomerSDK, CustomerServiceSDK, captureScreenshot, clearNotification, index as default, destroy, enableScreenshot, getConnectionStatus, getInitResult, getInstance, getScreenshotState, hideIcon, init, onIconClick, setIconCoordinates, setIconPosition, setIconStyle, setScreenshotTarget, showIcon, showNotification, updateScreenshotOptions };
|
|
30207
|
+
export { CustomerSDK, CustomerServiceSDK, captureScreenshot, clearNotification, index as default, destroy, enableScreenshot, generateInitResult, getConnectionStatus, getInitResult, getInstance, getScreenshotState, hideIcon, init, onIconClick, setIconCoordinates, setIconPosition, setIconStyle, setScreenshotTarget, showIcon, showNotification, triggerScreenshotConfig, updateScreenshotOptions };
|