customer-chat-sdk 1.1.15 → 1.1.16
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IframeManager.d.ts","sourceRoot":"","sources":["../../src/core/IframeManager.ts"],"names":[],"mappings":"AACA,UAAU,aAAa;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAA;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IAC7B,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;IACpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,cAAc,CAA+C;gBAEzD,MAAM,GAAE,aAAkB;IAetC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC3B;;OAEG;IACH,IAAI,IAAI,IAAI;IA2CZ;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,IAAI,IAAI,IAAI;IA6BZ;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,OAAO,IAAI,IAAI;IAsBf;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAM7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAuLpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8D1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"IframeManager.d.ts","sourceRoot":"","sources":["../../src/core/IframeManager.ts"],"names":[],"mappings":"AACA,UAAU,aAAa;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAA;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAA;IAC7B,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;IACpD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,cAAc,CAA+C;gBAEzD,MAAM,GAAE,aAAkB;IAetC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC3B;;OAEG;IACH,IAAI,IAAI,IAAI;IA2CZ;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,IAAI,IAAI,IAAI;IA6BZ;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,OAAO,IAAI,IAAI;IAsBf;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAM7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAuLpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8D1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+E3B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA2B9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CA0BzB"}
|
package/dist/customer-sdk.cjs.js
CHANGED
|
@@ -1743,7 +1743,7 @@ class IframeManager {
|
|
|
1743
1743
|
maxWidth: '100%', // 不超过 target 的宽度
|
|
1744
1744
|
maxHeight: '100%',
|
|
1745
1745
|
backgroundColor: '#ffffff',
|
|
1746
|
-
borderRadius: isPC ? '0' : '
|
|
1746
|
+
borderRadius: isPC ? '0' : '0',
|
|
1747
1747
|
boxShadow: isPC ? 'none' : '0 -4px 16px rgba(0, 0, 0, 0.25)',
|
|
1748
1748
|
border: 'none',
|
|
1749
1749
|
position: 'absolute', // 相对于 target 元素定位
|
|
@@ -1789,7 +1789,7 @@ class IframeManager {
|
|
|
1789
1789
|
maxWidth: '100%',
|
|
1790
1790
|
maxHeight: '100%',
|
|
1791
1791
|
backgroundColor: '#ffffff',
|
|
1792
|
-
borderRadius: '
|
|
1792
|
+
borderRadius: '0',
|
|
1793
1793
|
boxShadow: '0 -4px 16px rgba(0, 0, 0, 0.25)',
|
|
1794
1794
|
border: 'none',
|
|
1795
1795
|
position: 'fixed',
|
|
@@ -2033,11 +2033,64 @@ class IframeManager {
|
|
|
2033
2033
|
this.config.onMessage(messageType, data);
|
|
2034
2034
|
}
|
|
2035
2035
|
break;
|
|
2036
|
-
|
|
2037
|
-
//
|
|
2036
|
+
case 'goto-login':
|
|
2037
|
+
// 登录跳转消息 - 通过 window.postMessage 抛出给外层
|
|
2038
2038
|
if (this.debug) {
|
|
2039
|
-
console.log('
|
|
2039
|
+
console.log('Received goto-login message, forwarding to parent window');
|
|
2040
|
+
}
|
|
2041
|
+
this.forwardMessageToParent(data);
|
|
2042
|
+
if (this.config.onMessage) {
|
|
2043
|
+
this.config.onMessage(messageType, data);
|
|
2044
|
+
}
|
|
2045
|
+
break;
|
|
2046
|
+
default:
|
|
2047
|
+
// 处理动态消息:gotoActivityDetailById:xxx
|
|
2048
|
+
if (typeof messageType === 'string' && messageType.startsWith('gotoActivityDetailById:')) {
|
|
2049
|
+
// 活动详情跳转消息 - 通过 window.postMessage 抛出给外层
|
|
2050
|
+
if (this.debug) {
|
|
2051
|
+
console.log('Received gotoActivityDetailById message, forwarding to parent window:', messageType);
|
|
2052
|
+
}
|
|
2053
|
+
this.forwardMessageToParent(data);
|
|
2054
|
+
if (this.config.onMessage) {
|
|
2055
|
+
this.config.onMessage(messageType, data);
|
|
2056
|
+
}
|
|
2057
|
+
}
|
|
2058
|
+
else {
|
|
2059
|
+
// 其他自定义消息处理
|
|
2060
|
+
if (this.debug) {
|
|
2061
|
+
console.log('Custom message:', data);
|
|
2062
|
+
}
|
|
2040
2063
|
}
|
|
2064
|
+
break;
|
|
2065
|
+
}
|
|
2066
|
+
}
|
|
2067
|
+
/**
|
|
2068
|
+
* 将消息转发给父窗口(通过 window.postMessage)
|
|
2069
|
+
* 这样 Vue 页面中的监听器也能收到消息
|
|
2070
|
+
*/
|
|
2071
|
+
forwardMessageToParent(data) {
|
|
2072
|
+
try {
|
|
2073
|
+
// 方式1:使用 window.postMessage 发送消息(跨窗口通信)
|
|
2074
|
+
// 如果存在父窗口且不是当前窗口,发送给父窗口
|
|
2075
|
+
if (window.parent && window.parent !== window) {
|
|
2076
|
+
window.parent.postMessage(data, '*');
|
|
2077
|
+
}
|
|
2078
|
+
// 方式2:使用 dispatchEvent 创建 MessageEvent(在同一窗口内触发所有监听器)
|
|
2079
|
+
// 这样 Vue 页面中的 window.addEventListener('message') 也能收到
|
|
2080
|
+
const messageEvent = new MessageEvent('message', {
|
|
2081
|
+
data: data,
|
|
2082
|
+
origin: window.location.origin,
|
|
2083
|
+
source: window
|
|
2084
|
+
});
|
|
2085
|
+
window.dispatchEvent(messageEvent);
|
|
2086
|
+
if (this.debug) {
|
|
2087
|
+
console.log('Message forwarded via window.postMessage and dispatchEvent:', data);
|
|
2088
|
+
}
|
|
2089
|
+
}
|
|
2090
|
+
catch (error) {
|
|
2091
|
+
if (this.debug) {
|
|
2092
|
+
console.error('Failed to forward message:', error);
|
|
2093
|
+
}
|
|
2041
2094
|
}
|
|
2042
2095
|
}
|
|
2043
2096
|
/**
|
package/dist/customer-sdk.esm.js
CHANGED
|
@@ -1739,7 +1739,7 @@ class IframeManager {
|
|
|
1739
1739
|
maxWidth: '100%', // 不超过 target 的宽度
|
|
1740
1740
|
maxHeight: '100%',
|
|
1741
1741
|
backgroundColor: '#ffffff',
|
|
1742
|
-
borderRadius: isPC ? '0' : '
|
|
1742
|
+
borderRadius: isPC ? '0' : '0',
|
|
1743
1743
|
boxShadow: isPC ? 'none' : '0 -4px 16px rgba(0, 0, 0, 0.25)',
|
|
1744
1744
|
border: 'none',
|
|
1745
1745
|
position: 'absolute', // 相对于 target 元素定位
|
|
@@ -1785,7 +1785,7 @@ class IframeManager {
|
|
|
1785
1785
|
maxWidth: '100%',
|
|
1786
1786
|
maxHeight: '100%',
|
|
1787
1787
|
backgroundColor: '#ffffff',
|
|
1788
|
-
borderRadius: '
|
|
1788
|
+
borderRadius: '0',
|
|
1789
1789
|
boxShadow: '0 -4px 16px rgba(0, 0, 0, 0.25)',
|
|
1790
1790
|
border: 'none',
|
|
1791
1791
|
position: 'fixed',
|
|
@@ -2029,11 +2029,64 @@ class IframeManager {
|
|
|
2029
2029
|
this.config.onMessage(messageType, data);
|
|
2030
2030
|
}
|
|
2031
2031
|
break;
|
|
2032
|
-
|
|
2033
|
-
//
|
|
2032
|
+
case 'goto-login':
|
|
2033
|
+
// 登录跳转消息 - 通过 window.postMessage 抛出给外层
|
|
2034
2034
|
if (this.debug) {
|
|
2035
|
-
console.log('
|
|
2035
|
+
console.log('Received goto-login message, forwarding to parent window');
|
|
2036
|
+
}
|
|
2037
|
+
this.forwardMessageToParent(data);
|
|
2038
|
+
if (this.config.onMessage) {
|
|
2039
|
+
this.config.onMessage(messageType, data);
|
|
2040
|
+
}
|
|
2041
|
+
break;
|
|
2042
|
+
default:
|
|
2043
|
+
// 处理动态消息:gotoActivityDetailById:xxx
|
|
2044
|
+
if (typeof messageType === 'string' && messageType.startsWith('gotoActivityDetailById:')) {
|
|
2045
|
+
// 活动详情跳转消息 - 通过 window.postMessage 抛出给外层
|
|
2046
|
+
if (this.debug) {
|
|
2047
|
+
console.log('Received gotoActivityDetailById message, forwarding to parent window:', messageType);
|
|
2048
|
+
}
|
|
2049
|
+
this.forwardMessageToParent(data);
|
|
2050
|
+
if (this.config.onMessage) {
|
|
2051
|
+
this.config.onMessage(messageType, data);
|
|
2052
|
+
}
|
|
2053
|
+
}
|
|
2054
|
+
else {
|
|
2055
|
+
// 其他自定义消息处理
|
|
2056
|
+
if (this.debug) {
|
|
2057
|
+
console.log('Custom message:', data);
|
|
2058
|
+
}
|
|
2036
2059
|
}
|
|
2060
|
+
break;
|
|
2061
|
+
}
|
|
2062
|
+
}
|
|
2063
|
+
/**
|
|
2064
|
+
* 将消息转发给父窗口(通过 window.postMessage)
|
|
2065
|
+
* 这样 Vue 页面中的监听器也能收到消息
|
|
2066
|
+
*/
|
|
2067
|
+
forwardMessageToParent(data) {
|
|
2068
|
+
try {
|
|
2069
|
+
// 方式1:使用 window.postMessage 发送消息(跨窗口通信)
|
|
2070
|
+
// 如果存在父窗口且不是当前窗口,发送给父窗口
|
|
2071
|
+
if (window.parent && window.parent !== window) {
|
|
2072
|
+
window.parent.postMessage(data, '*');
|
|
2073
|
+
}
|
|
2074
|
+
// 方式2:使用 dispatchEvent 创建 MessageEvent(在同一窗口内触发所有监听器)
|
|
2075
|
+
// 这样 Vue 页面中的 window.addEventListener('message') 也能收到
|
|
2076
|
+
const messageEvent = new MessageEvent('message', {
|
|
2077
|
+
data: data,
|
|
2078
|
+
origin: window.location.origin,
|
|
2079
|
+
source: window
|
|
2080
|
+
});
|
|
2081
|
+
window.dispatchEvent(messageEvent);
|
|
2082
|
+
if (this.debug) {
|
|
2083
|
+
console.log('Message forwarded via window.postMessage and dispatchEvent:', data);
|
|
2084
|
+
}
|
|
2085
|
+
}
|
|
2086
|
+
catch (error) {
|
|
2087
|
+
if (this.debug) {
|
|
2088
|
+
console.error('Failed to forward message:', error);
|
|
2089
|
+
}
|
|
2037
2090
|
}
|
|
2038
2091
|
}
|
|
2039
2092
|
/**
|