pb-sxp-ui 1.15.23-alpha.1 → 1.15.24
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/index.cjs +143 -157
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +143 -157
- package/dist/index.js.map +1 -1
- package/dist/index.min.cjs +5 -5
- package/dist/index.min.cjs.map +1 -1
- package/dist/index.min.js +5 -5
- package/dist/index.min.js.map +1 -1
- package/dist/pb-ui.js +143 -157
- package/dist/pb-ui.js.map +1 -1
- package/dist/pb-ui.min.js +5 -5
- package/dist/pb-ui.min.js.map +1 -1
- package/es/core/components/DiyPortalPreview/VideoWidget.js +8 -10
- package/es/core/components/SxpPageRender/ExpandableText.js +52 -44
- package/es/core/components/SxpPageRender/LikeButton/index.js +15 -17
- package/es/core/components/SxpPageRender/VideoWidget/index.js +18 -20
- package/es/core/components/SxpPageRender/WaterFall/index.js +3 -4
- package/es/core/components/SxpPageRender/index.js +33 -42
- package/es/core/context/SxpDataSourceProvider.js +2 -2
- package/es/core/hooks/useEventReport.js +5 -6
- package/lib/core/components/DiyPortalPreview/VideoWidget.js +8 -10
- package/lib/core/components/SxpPageRender/ExpandableText.js +51 -44
- package/lib/core/components/SxpPageRender/LikeButton/index.js +15 -17
- package/lib/core/components/SxpPageRender/VideoWidget/index.js +18 -20
- package/lib/core/components/SxpPageRender/WaterFall/index.js +3 -4
- package/lib/core/components/SxpPageRender/index.js +33 -42
- package/lib/core/context/SxpDataSourceProvider.js +2 -2
- package/lib/core/hooks/useEventReport.js +5 -6
- package/package.json +1 -1
package/dist/pb-ui.js
CHANGED
@@ -1095,7 +1095,7 @@
|
|
1095
1095
|
}
|
1096
1096
|
}), [bffFetch, utmVal]);
|
1097
1097
|
const ctaEvent = React.useCallback((eventInfo, rec, product, position) => {
|
1098
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11
|
1098
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11;
|
1099
1099
|
const cta = product === null || product === void 0 ? void 0 : product.bindCta;
|
1100
1100
|
const isProd = ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.bindProduct) || (((_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.bindProducts) && ((_d = (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProducts) === null || _d === void 0 ? void 0 : _d.length) > 0);
|
1101
1101
|
let fromKName = '';
|
@@ -1113,7 +1113,7 @@
|
|
1113
1113
|
}
|
1114
1114
|
const contentTags = (_p = (_m = (_h = product === null || product === void 0 ? void 0 : product.tags) !== null && _h !== void 0 ? _h : (_l = (_k = (_j = rec === null || rec === void 0 ? void 0 : rec.video) === null || _j === void 0 ? void 0 : _j.bindProducts) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : (_o = rec === null || rec === void 0 ? void 0 : rec.video) === null || _o === void 0 ? void 0 : _o.tags) !== null && _p !== void 0 ? _p : (_q = rec === null || rec === void 0 ? void 0 : rec.product) === null || _q === void 0 ? void 0 : _q.tags;
|
1115
1115
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
1116
|
-
eventInfo: Object.assign(Object.assign({}, eventInfo), { ctaId: (_r = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _r !== void 0 ? _r : '', ctaName: (_s = cta === null || cta === void 0 ? void 0 : cta.title) !== null && _s !== void 0 ? _s : '', contentTags: contentTags ? JSON.stringify(contentTags) : '', position: position + '', contentId: (_u = (_t = rec === null || rec === void 0 ? void 0 : rec.video) === null || _t === void 0 ? void 0 : _t.itemId) !== null && _u !== void 0 ? _u : '',
|
1116
|
+
eventInfo: Object.assign(Object.assign({}, eventInfo), { ctaId: (_r = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _r !== void 0 ? _r : '', ctaName: (_s = cta === null || cta === void 0 ? void 0 : cta.title) !== null && _s !== void 0 ? _s : '', contentTags: contentTags ? JSON.stringify(contentTags) : '', position: position + '', contentId: (_u = (_t = rec === null || rec === void 0 ? void 0 : rec.video) === null || _t === void 0 ? void 0 : _t.itemId) !== null && _u !== void 0 ? _u : '', productId: isProd ? product === null || product === void 0 ? void 0 : product.itemId : '', traceInfo: (_10 = (_7 = (_2 = (_y = (_v = cta === null || cta === void 0 ? void 0 : cta.traceInfo) !== null && _v !== void 0 ? _v : (_x = (_w = rec === null || rec === void 0 ? void 0 : rec.video) === null || _w === void 0 ? void 0 : _w.bindCta) === null || _x === void 0 ? void 0 : _x.traceInfo) !== null && _y !== void 0 ? _y : (_1 = (_0 = (_z = rec === null || rec === void 0 ? void 0 : rec.video) === null || _z === void 0 ? void 0 : _z.bindProduct) === null || _0 === void 0 ? void 0 : _0.bindCta) === null || _1 === void 0 ? void 0 : _1.traceInfo) !== null && _2 !== void 0 ? _2 : (_6 = (_5 = (_4 = (_3 = rec === null || rec === void 0 ? void 0 : rec.video) === null || _3 === void 0 ? void 0 : _3.bindProducts) === null || _4 === void 0 ? void 0 : _4[0]) === null || _5 === void 0 ? void 0 : _5.bindCta) === null || _6 === void 0 ? void 0 : _6.traceInfo) !== null && _7 !== void 0 ? _7 : (_9 = (_8 = rec === null || rec === void 0 ? void 0 : rec.product) === null || _8 === void 0 ? void 0 : _8.bindCta) === null || _9 === void 0 ? void 0 : _9.traceInfo) !== null && _10 !== void 0 ? _10 : '', fromKName, fromKPage: (_11 = location === null || location === void 0 ? void 0 : location.href) !== null && _11 !== void 0 ? _11 : '', contentFormat })
|
1117
1117
|
});
|
1118
1118
|
}, [bffEventReport, isFromHashtag]);
|
1119
1119
|
const h5EnterLink = React.useCallback(() => {
|
@@ -1774,14 +1774,14 @@
|
|
1774
1774
|
* @Author: binruan@chatlabs.com
|
1775
1775
|
* @Date: 2024-03-12 10:59:06
|
1776
1776
|
* @LastEditors: binruan@chatlabs.com
|
1777
|
-
* @LastEditTime:
|
1777
|
+
* @LastEditTime: 2024-11-28 11:17:16
|
1778
1778
|
* @FilePath: \pb-sxp-ui\src\core\hooks\useEventReport.ts
|
1779
1779
|
*
|
1780
1780
|
*/
|
1781
1781
|
function useEventReport() {
|
1782
1782
|
const { bffEventReport, popupDetailData, isFromHashtag, eventTimeList, setEventTimeList } = useSxpDataSource();
|
1783
1783
|
const jumpToWeb = React.useCallback((e, data, product, cta, position, traceInfo) => {
|
1784
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13
|
1784
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13;
|
1785
1785
|
const i = eventTimeList === null || eventTimeList === void 0 ? void 0 : eventTimeList.findIndex((item) => item.target === (e === null || e === void 0 ? void 0 : e.target));
|
1786
1786
|
if (i !== -1) {
|
1787
1787
|
return;
|
@@ -1814,11 +1814,11 @@
|
|
1814
1814
|
contentFormat = 'image';
|
1815
1815
|
}
|
1816
1816
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
1817
|
-
eventInfo: Object.assign({ eventSubject: 'jumpToWeb', eventDescription: 'User jumped to website', productId: (_v = product === null || product === void 0 ? void 0 : product.itemId) !== null && _v !== void 0 ? _v : '', productName: (_w = product === null || product === void 0 ? void 0 : product.title) !== null && _w !== void 0 ? _w : '', price: (product === null || product === void 0 ? void 0 : product.price) ? (product === null || product === void 0 ? void 0 : product.price) + '' : '0', productCollection: (_x = product === null || product === void 0 ? void 0 : product.collection) !== null && _x !== void 0 ? _x : '', fromKName, fromKPage: location === null || location === void 0 ? void 0 : location.href, contentTags: contentTags ? JSON.stringify(contentTags) : '', position: position + '', contentId: (_z = (_y = data === null || data === void 0 ? void 0 : data.video) === null || _y === void 0 ? void 0 : _y.itemId) !== null && _z !== void 0 ? _z : '',
|
1817
|
+
eventInfo: Object.assign({ eventSubject: 'jumpToWeb', eventDescription: 'User jumped to website', productId: (_v = product === null || product === void 0 ? void 0 : product.itemId) !== null && _v !== void 0 ? _v : '', productName: (_w = product === null || product === void 0 ? void 0 : product.title) !== null && _w !== void 0 ? _w : '', price: (product === null || product === void 0 ? void 0 : product.price) ? (product === null || product === void 0 ? void 0 : product.price) + '' : '0', productCollection: (_x = product === null || product === void 0 ? void 0 : product.collection) !== null && _x !== void 0 ? _x : '', fromKName, fromKPage: location === null || location === void 0 ? void 0 : location.href, contentTags: contentTags ? JSON.stringify(contentTags) : '', position: position + '', contentId: (_z = (_y = data === null || data === void 0 ? void 0 : data.video) === null || _y === void 0 ? void 0 : _y.itemId) !== null && _z !== void 0 ? _z : '', ctatId: (_0 = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _0 !== void 0 ? _0 : '', traceInfo: (_13 = (_10 = (_8 = (_4 = (_1 = traceInfo !== null && traceInfo !== void 0 ? traceInfo : product === null || product === void 0 ? void 0 : product.traceInfo) !== null && _1 !== void 0 ? _1 : (_3 = (_2 = data === null || data === void 0 ? void 0 : data.video) === null || _2 === void 0 ? void 0 : _2.bindProduct) === null || _3 === void 0 ? void 0 : _3.traceInfo) !== null && _4 !== void 0 ? _4 : (_7 = (_6 = (_5 = data === null || data === void 0 ? void 0 : data.video) === null || _5 === void 0 ? void 0 : _5.bindProducts) === null || _6 === void 0 ? void 0 : _6[0]) === null || _7 === void 0 ? void 0 : _7.traceInfo) !== null && _8 !== void 0 ? _8 : (_9 = data === null || data === void 0 ? void 0 : data.product) === null || _9 === void 0 ? void 0 : _9.traceInfo) !== null && _10 !== void 0 ? _10 : (_12 = (_11 = data === null || data === void 0 ? void 0 : data.video) === null || _11 === void 0 ? void 0 : _11.bindCta) === null || _12 === void 0 ? void 0 : _12.traceInfo) !== null && _13 !== void 0 ? _13 : '' }, (contentFormat && { contentFormat }))
|
1818
1818
|
});
|
1819
1819
|
}, [bffEventReport, popupDetailData, isFromHashtag, eventTimeList]);
|
1820
1820
|
const productView = React.useCallback((data, product, cta, viewTime, position) => {
|
1821
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p
|
1821
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
1822
1822
|
let fromKName = '';
|
1823
1823
|
if (popupDetailData && (((_b = (_a = data === null || data === void 0 ? void 0 : data.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b.length) || ((_c = data === null || data === void 0 ? void 0 : data.video) === null || _c === void 0 ? void 0 : _c.bindProduct))) {
|
1824
1824
|
fromKName = 'pdpPage';
|
@@ -1837,9 +1837,8 @@
|
|
1837
1837
|
contentTags: JSON.stringify(product === null || product === void 0 ? void 0 : product.tags),
|
1838
1838
|
position: position + '',
|
1839
1839
|
contentId: (_d = data === null || data === void 0 ? void 0 : data.video) === null || _d === void 0 ? void 0 : _d.itemId,
|
1840
|
-
sceneId: (_g = (_f = (_e = data === null || data === void 0 ? void 0 : data.video) === null || _e === void 0 ? void 0 : _e.scene) === null || _f === void 0 ? void 0 : _f.sceneId) !== null && _g !== void 0 ? _g : '',
|
1841
1840
|
ctatId: cta === null || cta === void 0 ? void 0 : cta.itemId,
|
1842
|
-
traceInfo: (
|
1841
|
+
traceInfo: (_p = (_m = (_h = (_e = product === null || product === void 0 ? void 0 : product.traceInfo) !== null && _e !== void 0 ? _e : (_g = (_f = data === null || data === void 0 ? void 0 : data.video) === null || _f === void 0 ? void 0 : _f.bindProduct) === null || _g === void 0 ? void 0 : _g.traceInfo) !== null && _h !== void 0 ? _h : (_l = (_k = (_j = data === null || data === void 0 ? void 0 : data.video) === null || _j === void 0 ? void 0 : _j.bindProducts) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.traceInfo) !== null && _m !== void 0 ? _m : (_o = data === null || data === void 0 ? void 0 : data.product) === null || _o === void 0 ? void 0 : _o.traceInfo) !== null && _p !== void 0 ? _p : '',
|
1843
1842
|
timeOnSite: Math.floor((new Date() - viewTime) / 1000) + '',
|
1844
1843
|
eventSubject: 'productView',
|
1845
1844
|
eventDescription: 'User browsed the product'
|
@@ -10203,69 +10202,72 @@
|
|
10203
10202
|
};
|
10204
10203
|
var Modal$1 = React.memo(Modal);
|
10205
10204
|
|
10206
|
-
/*
|
10207
|
-
* @Author: binruan@chatlabs.com
|
10208
|
-
* @Date: 2023-12-26 16:11:34
|
10209
|
-
* @LastEditors: binruan@chatlabs.com
|
10210
|
-
* @LastEditTime: 2024-11-07 14:27:18
|
10211
|
-
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\ExpandableText.tsx
|
10212
|
-
*
|
10213
|
-
*/
|
10214
|
-
const limitTextLastWholeWord = (originalText = '', limit) => {
|
10215
|
-
// 匹配到中文
|
10216
|
-
const chineseRegex = /[\u4e00-\u9fa5]+/;
|
10217
|
-
if (chineseRegex.test(originalText)) {
|
10218
|
-
return originalText.slice(0, 54);
|
10219
|
-
}
|
10220
|
-
const words = originalText.split(' ');
|
10221
|
-
const newWords = [];
|
10222
|
-
for (let i = 0; i < words.length; i++) {
|
10223
|
-
newWords.push(words[i]);
|
10224
|
-
const tempText = newWords.join(' ');
|
10225
|
-
if (tempText.length >= limit)
|
10226
|
-
break;
|
10227
|
-
}
|
10228
|
-
// const _words = newWords.length === words.length ? newWords : newWords.slice(0, newWords.length - 1);
|
10229
|
-
const _words = newWords.length > 1 && newWords.length < words.length ? newWords.slice(0, newWords.length - 1) : newWords;
|
10230
|
-
return _words.join(' ') + ' ';
|
10231
|
-
};
|
10232
10205
|
const ExpandableText = ({ text, maxStr = 108, style, className, onClick, foldText, unfoldText, isPost, onChange }) => {
|
10233
10206
|
const [isShowMore, setIsShowMore] = React.useState(false);
|
10234
10207
|
const [isShow, setIsShow] = React.useState(false);
|
10235
|
-
const
|
10208
|
+
const _a = style || {}, { lineClamp } = _a, textStyle = __rest(_a, ["lineClamp"]);
|
10209
|
+
const textLineClamp = Number(lineClamp || 2);
|
10236
10210
|
const multiRow = React.useRef(null);
|
10237
|
-
|
10238
|
-
const handleClick =
|
10211
|
+
React.useRef();
|
10212
|
+
const handleClick = () => {
|
10239
10213
|
setIsShowMore(!isShowMore);
|
10240
|
-
|
10241
|
-
|
10242
|
-
|
10243
|
-
|
10244
|
-
|
10214
|
+
};
|
10215
|
+
const checkOverflow = React.useCallback(() => {
|
10216
|
+
if (!multiRow.current || !isPost || !text)
|
10217
|
+
return;
|
10218
|
+
// 强制同步布局(消除浏览器优化导致的误差)
|
10219
|
+
const triggerReflow = (el) => el.offsetHeight;
|
10220
|
+
// 分三步精确测量
|
10221
|
+
requestAnimationFrame(() => {
|
10222
|
+
// 第一步:获取干净状态
|
10223
|
+
const el = multiRow.current;
|
10224
|
+
triggerReflow(el);
|
10225
|
+
// 第二步:测量无约束状态的真实高度
|
10226
|
+
const originalStyle = el.style.cssText;
|
10227
|
+
el.style.webkitLineClamp = 'unset';
|
10228
|
+
el.style.display = 'block';
|
10229
|
+
triggerReflow(el);
|
10230
|
+
const realHeight = el.getBoundingClientRect().height;
|
10231
|
+
// 第三步:恢复约束状态
|
10232
|
+
el.style.cssText = originalStyle;
|
10233
|
+
triggerReflow(el);
|
10234
|
+
const clampHeight = el.getBoundingClientRect().height;
|
10235
|
+
// 精准比较(考虑亚像素渲染)
|
10236
|
+
const isActuallyClamped = realHeight > clampHeight + 1;
|
10237
|
+
// 防抖处理
|
10238
|
+
console.log('[精确测量]', { realHeight, clampHeight, isActuallyClamped });
|
10239
|
+
setIsShow(isActuallyClamped);
|
10240
|
+
});
|
10241
|
+
}, [isPost, text, textLineClamp]);
|
10242
|
+
// 增强版监听(同时监听字体加载)
|
10245
10243
|
React.useEffect(() => {
|
10246
|
-
|
10247
|
-
if (
|
10248
|
-
|
10249
|
-
|
10250
|
-
|
10251
|
-
}
|
10252
|
-
|
10253
|
-
|
10254
|
-
|
10255
|
-
|
10256
|
-
|
10257
|
-
|
10258
|
-
|
10259
|
-
|
10260
|
-
|
10244
|
+
const el = multiRow.current;
|
10245
|
+
if (!el)
|
10246
|
+
return;
|
10247
|
+
const fontCheck = () => {
|
10248
|
+
document.fonts.ready.then(checkOverflow);
|
10249
|
+
};
|
10250
|
+
const observer = new ResizeObserver((entries) => {
|
10251
|
+
entries.forEach((entry) => {
|
10252
|
+
if (entry.contentBoxSize) ;
|
10253
|
+
});
|
10254
|
+
});
|
10255
|
+
fontCheck();
|
10256
|
+
observer.observe(el);
|
10257
|
+
return () => observer.disconnect();
|
10258
|
+
}, [checkOverflow]);
|
10259
|
+
return (React.createElement("div", { className: className, style: Object.assign(Object.assign({}, textStyle), { transform: 'translate3d(0px, 0px, 0px)' }), hidden: !text || text === '' },
|
10260
|
+
React.createElement("div", { ref: multiRow, style: Object.assign(Object.assign({}, (!isShowMore &&
|
10261
|
+
isPost && {
|
10262
|
+
WebkitLineClamp: textLineClamp,
|
10263
|
+
lineClamp: textLineClamp,
|
10261
10264
|
textOverflow: 'ellipsis',
|
10265
|
+
overflow: 'hidden',
|
10262
10266
|
display: '-webkit-box',
|
10263
|
-
WebkitBoxOrient: 'vertical'
|
10264
|
-
|
10265
|
-
}, dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), style) } }),
|
10266
|
-
React.createElement("div", { ref: multiRowCopy, dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), style) } }),
|
10267
|
+
WebkitBoxOrient: 'vertical'
|
10268
|
+
})), { wordBreak: 'break-word', textRendering: 'geometricPrecision', fontKerning: 'none', textSizeAdjust: '100%', boxSizing: 'border-box', contain: 'content' }), dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), textStyle) } }),
|
10267
10269
|
text && isPost && isShow && (React.createElement("button", { "aria-label": isShowMore ? unfoldText || 'show less' : foldText || 'show more', style: { textDecoration: 'underline', cursor: 'pointer' }, onClick: onClick !== null && onClick !== void 0 ? onClick : handleClick, dangerouslySetInnerHTML: {
|
10268
|
-
__html: setFontForText(isShowMore ? unfoldText || 'show less' : foldText || 'show more',
|
10270
|
+
__html: setFontForText(isShowMore ? unfoldText || 'show less' : foldText || 'show more', textStyle)
|
10269
10271
|
} }))));
|
10270
10272
|
};
|
10271
10273
|
var ExpandableText$1 = React.memo(ExpandableText);
|
@@ -15499,7 +15501,7 @@ Made in Italy` })));
|
|
15499
15501
|
* @Author: binruan@chatlabs.com
|
15500
15502
|
* @Date: 2024-01-10 10:58:24
|
15501
15503
|
* @LastEditors: binruan@chatlabs.com
|
15502
|
-
* @LastEditTime: 2025-
|
15504
|
+
* @LastEditTime: 2025-02-28 10:00:31
|
15503
15505
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\WaterFall\index.tsx
|
15504
15506
|
*
|
15505
15507
|
*/
|
@@ -15537,7 +15539,7 @@ Made in Italy` })));
|
|
15537
15539
|
}
|
15538
15540
|
}, [waterFallData]);
|
15539
15541
|
const reportTagsView = React.useCallback(() => {
|
15540
|
-
var _a, _b, _c, _d, _e, _f
|
15542
|
+
var _a, _b, _c, _d, _e, _f;
|
15541
15543
|
const rec = recData === null || recData === void 0 ? void 0 : recData.rec;
|
15542
15544
|
if (!rec)
|
15543
15545
|
return;
|
@@ -15557,10 +15559,9 @@ Made in Italy` })));
|
|
15557
15559
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
15558
15560
|
eventInfo: {
|
15559
15561
|
contentId: (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.itemId,
|
15560
|
-
sceneId: (_g = (_f = (_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.scene) === null || _f === void 0 ? void 0 : _f.sceneId) !== null && _g !== void 0 ? _g : '',
|
15561
15562
|
position: cacheActiveIndex + '',
|
15562
|
-
contentTags: JSON.stringify((
|
15563
|
-
traceInfo: (
|
15563
|
+
contentTags: JSON.stringify((_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.tags),
|
15564
|
+
traceInfo: (_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.traceInfo,
|
15564
15565
|
hashTags: JSON.stringify([recData === null || recData === void 0 ? void 0 : recData.hashTag]),
|
15565
15566
|
fromKName,
|
15566
15567
|
fromKPage: location === null || location === void 0 ? void 0 : location.href,
|
@@ -17641,7 +17642,7 @@ Made in Italy` })));
|
|
17641
17642
|
const likeIcon = useIconLink(defaultLikeIconPath$2);
|
17642
17643
|
const unlikeIcon = useIconLink(defaultUnLikeIconPath$2);
|
17643
17644
|
const handleClick = lodash.debounce(() => __awaiter(void 0, void 0, void 0, function* () {
|
17644
|
-
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z
|
17645
|
+
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
17645
17646
|
if (state) {
|
17646
17647
|
// 先设置状态
|
17647
17648
|
setState(false);
|
@@ -17651,12 +17652,11 @@ Made in Italy` })));
|
|
17651
17652
|
eventSubject: 'favoriteContentCanceled',
|
17652
17653
|
eventDescription: 'This content was unfavorite by the user',
|
17653
17654
|
contentId: (_g = (_f = recData === null || recData === void 0 ? void 0 : recData.video) === null || _f === void 0 ? void 0 : _f.itemId) !== null && _g !== void 0 ? _g : '',
|
17654
|
-
|
17655
|
-
|
17656
|
-
contentTags: JSON.stringify((_p = (_o = recData === null || recData === void 0 ? void 0 : recData.video) === null || _o === void 0 ? void 0 : _o.tags) !== null && _p !== void 0 ? _p : []),
|
17655
|
+
contentName: (_j = (_h = recData === null || recData === void 0 ? void 0 : recData.video) === null || _h === void 0 ? void 0 : _h.title) !== null && _j !== void 0 ? _j : '',
|
17656
|
+
contentTags: JSON.stringify((_l = (_k = recData === null || recData === void 0 ? void 0 : recData.video) === null || _k === void 0 ? void 0 : _k.tags) !== null && _l !== void 0 ? _l : []),
|
17657
17657
|
position: position + '',
|
17658
|
-
contentFormat: ((
|
17659
|
-
traceInfo: (
|
17658
|
+
contentFormat: ((_m = recData === null || recData === void 0 ? void 0 : recData.video) === null || _m === void 0 ? void 0 : _m.url) ? 'video' : 'image',
|
17659
|
+
traceInfo: (_o = recData === null || recData === void 0 ? void 0 : recData.video) === null || _o === void 0 ? void 0 : _o.traceInfo
|
17660
17660
|
}
|
17661
17661
|
});
|
17662
17662
|
// 如果接口调用失败,则回滚状态
|
@@ -17664,41 +17664,40 @@ Made in Italy` })));
|
|
17664
17664
|
setState(true);
|
17665
17665
|
}
|
17666
17666
|
else {
|
17667
|
-
const nRtcList = (
|
17667
|
+
const nRtcList = (_p = cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.map((item, index) => {
|
17668
17668
|
if (index === position) {
|
17669
17669
|
item.isCollected = false;
|
17670
17670
|
}
|
17671
17671
|
return item;
|
17672
|
-
})) !== null &&
|
17672
|
+
})) !== null && _p !== void 0 ? _p : [];
|
17673
17673
|
setCacheRtcList === null || setCacheRtcList === void 0 ? void 0 : setCacheRtcList(nRtcList);
|
17674
17674
|
}
|
17675
17675
|
}
|
17676
17676
|
else {
|
17677
17677
|
setState(true);
|
17678
|
-
const result = (
|
17678
|
+
const result = (_q = (yield (mutateLike === null || mutateLike === void 0 ? void 0 : mutateLike({ content: JSON.stringify(recData) })))) !== null && _q !== void 0 ? _q : false;
|
17679
17679
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
17680
17680
|
eventInfo: {
|
17681
17681
|
eventSubject: 'favoriteContent',
|
17682
17682
|
eventDescription: 'This content was favorite by the user',
|
17683
|
-
contentId: (
|
17684
|
-
|
17685
|
-
|
17686
|
-
contentTags: JSON.stringify((_2 = (_1 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _1 === void 0 ? void 0 : _1.tags) !== null && _2 !== void 0 ? _2 : []),
|
17683
|
+
contentId: (_s = (_r = recData === null || recData === void 0 ? void 0 : recData.video) === null || _r === void 0 ? void 0 : _r.itemId) !== null && _s !== void 0 ? _s : '',
|
17684
|
+
contentName: (_u = (_t = recData === null || recData === void 0 ? void 0 : recData.video) === null || _t === void 0 ? void 0 : _t.title) !== null && _u !== void 0 ? _u : '',
|
17685
|
+
contentTags: JSON.stringify((_w = (_v = recData === null || recData === void 0 ? void 0 : recData.video) === null || _v === void 0 ? void 0 : _v.tags) !== null && _w !== void 0 ? _w : []),
|
17687
17686
|
position: position + '',
|
17688
|
-
contentFormat: ((
|
17689
|
-
traceInfo: (
|
17687
|
+
contentFormat: ((_x = recData === null || recData === void 0 ? void 0 : recData.video) === null || _x === void 0 ? void 0 : _x.url) ? 'video' : 'image',
|
17688
|
+
traceInfo: (_y = recData === null || recData === void 0 ? void 0 : recData.video) === null || _y === void 0 ? void 0 : _y.traceInfo
|
17690
17689
|
}
|
17691
17690
|
});
|
17692
17691
|
if (!result) {
|
17693
17692
|
setState(false);
|
17694
17693
|
}
|
17695
17694
|
else {
|
17696
|
-
const nRtcList = (
|
17695
|
+
const nRtcList = (_z = cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.map((item, index) => {
|
17697
17696
|
if (index === position) {
|
17698
17697
|
item.isCollected = true;
|
17699
17698
|
}
|
17700
17699
|
return item;
|
17701
|
-
})) !== null &&
|
17700
|
+
})) !== null && _z !== void 0 ? _z : [];
|
17702
17701
|
setCacheRtcList === null || setCacheRtcList === void 0 ? void 0 : setCacheRtcList(nRtcList);
|
17703
17702
|
}
|
17704
17703
|
}
|
@@ -17809,7 +17808,7 @@ Made in Italy` })));
|
|
17809
17808
|
setIsLoadFinish(true);
|
17810
17809
|
}, []);
|
17811
17810
|
const handleStartPlay = React.useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
17812
|
-
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q
|
17811
|
+
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
17813
17812
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
|
17814
17813
|
return;
|
17815
17814
|
setIsPauseVideo(false);
|
@@ -17820,15 +17819,14 @@ Made in Italy` })));
|
|
17820
17819
|
const videoCurrentTime = ((_h = (_g = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _g === void 0 ? void 0 : _g.currentTime) !== null && _h !== void 0 ? _h : 0).toFixed(2);
|
17821
17820
|
const playType = (isFirstPlayRef === null || isFirstPlayRef === void 0 ? void 0 : isFirstPlayRef.current) ? '0' : '1';
|
17822
17821
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
17823
|
-
eventInfo: Object.assign({ eventSubject: 'playVideo', eventDescription: 'User played the video', contentId: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.itemId) !== null && _k !== void 0 ? _k : '',
|
17822
|
+
eventInfo: Object.assign({ eventSubject: 'playVideo', eventDescription: 'User played the video', contentId: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.itemId) !== null && _k !== void 0 ? _k : '', contentName: (_m = (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.title) !== null && _m !== void 0 ? _m : '', playType, startTime: videoCurrentTime, videoDuration, contentTags: JSON.stringify((_p = (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.tags) !== null && _p !== void 0 ? _p : []), position: index + '', contentFormat: 'video', traceInfo: (_q = item === null || item === void 0 ? void 0 : item.video) === null || _q === void 0 ? void 0 : _q.traceInfo }, ((isFirstPlayRef === null || isFirstPlayRef === void 0 ? void 0 : isFirstPlayRef.current) && { loadTime: (loadedTimeRef === null || loadedTimeRef === void 0 ? void 0 : loadedTimeRef.current) - (initTimeRef === null || initTimeRef === void 0 ? void 0 : initTimeRef.current) + '' }))
|
17824
17823
|
});
|
17825
17824
|
isFirstPlayRef.current = false;
|
17826
17825
|
}
|
17827
17826
|
}), [bffEventReport, data, index, isFirstPlayRef, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
|
17828
17827
|
const setCurrentTimeByStartTime = React.useCallback(() => {
|
17829
|
-
var _a;
|
17830
17828
|
if (isDiyH5) {
|
17831
|
-
videoRef.current.currentTime =
|
17829
|
+
videoRef.current.currentTime = scene === null || scene === void 0 ? void 0 : scene.startTime;
|
17832
17830
|
}
|
17833
17831
|
}, []);
|
17834
17832
|
const handLoadeddata = React.useCallback(() => {
|
@@ -17861,7 +17859,7 @@ Made in Italy` })));
|
|
17861
17859
|
handLoadeddata();
|
17862
17860
|
}, [videoRef.current, handLoadeddata, handleStartPlay]);
|
17863
17861
|
const handleClickVideo = React.useCallback((type) => () => {
|
17864
|
-
var _a, _b, _c, _d, _e, _f
|
17862
|
+
var _a, _b, _c, _d, _e, _f;
|
17865
17863
|
if (!videoRef.current)
|
17866
17864
|
return;
|
17867
17865
|
if (!isLoadFinish)
|
@@ -17882,20 +17880,20 @@ Made in Italy` })));
|
|
17882
17880
|
break;
|
17883
17881
|
default:
|
17884
17882
|
if (isPause) {
|
17885
|
-
if (Math.round((_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.currentTime) >= (
|
17886
|
-
|
17883
|
+
if (isDiyH5 && Math.round((_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.currentTime) >= (scene === null || scene === void 0 ? void 0 : scene.endTime)) {
|
17884
|
+
videoRef.current.currentTime = scene === null || scene === void 0 ? void 0 : scene.startTime;
|
17887
17885
|
}
|
17888
|
-
(
|
17886
|
+
(_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.play();
|
17889
17887
|
}
|
17890
17888
|
else {
|
17891
|
-
(
|
17889
|
+
(_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.pause();
|
17892
17890
|
}
|
17893
17891
|
setIsPauseVideo(!isPause);
|
17894
17892
|
break;
|
17895
17893
|
}
|
17896
17894
|
}, [isLoadFinish, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
|
17897
17895
|
const handlePause = React.useCallback(() => {
|
17898
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o
|
17896
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
17899
17897
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
|
17900
17898
|
return;
|
17901
17899
|
if (activeIndex !== index)
|
@@ -17911,15 +17909,14 @@ Made in Italy` })));
|
|
17911
17909
|
eventSubject: 'playOverVideo',
|
17912
17910
|
eventDescription: 'User finished playing the video',
|
17913
17911
|
contentId: (_h = (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
|
17914
|
-
|
17915
|
-
contentName: (_o = (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.title) !== null && _o !== void 0 ? _o : '',
|
17912
|
+
contentName: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : '',
|
17916
17913
|
endTime: videoCurrentTime,
|
17917
17914
|
videoDuration,
|
17918
17915
|
playDuration,
|
17919
|
-
contentTags: JSON.stringify((
|
17916
|
+
contentTags: JSON.stringify((_m = (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : []),
|
17920
17917
|
position: index + '',
|
17921
17918
|
contentFormat: 'video',
|
17922
|
-
traceInfo: (
|
17919
|
+
traceInfo: (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
|
17923
17920
|
}
|
17924
17921
|
});
|
17925
17922
|
}
|
@@ -17931,17 +17928,17 @@ Made in Italy` })));
|
|
17931
17928
|
if (!videoRef.current || !isDiyH5)
|
17932
17929
|
return;
|
17933
17930
|
setTimeout(() => {
|
17934
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j
|
17935
|
-
if (Math.round((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.currentTime) >= ((_b = scene === null || scene === void 0 ? void 0 : scene.endTime) !== null && _b !== void 0 ? _b :
|
17936
|
-
(
|
17931
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
17932
|
+
if (Math.round((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.currentTime) >= ((_b = scene === null || scene === void 0 ? void 0 : scene.endTime) !== null && _b !== void 0 ? _b : 0)) {
|
17933
|
+
(_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.pause();
|
17937
17934
|
if (!loopPlayRef.current)
|
17938
17935
|
return;
|
17939
17936
|
if (index === (data === null || data === void 0 ? void 0 : data.length) - 1) {
|
17940
|
-
(
|
17937
|
+
(_e = (_d = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _d === void 0 ? void 0 : _d.swiper) === null || _e === void 0 ? void 0 : _e.slideTo(0);
|
17941
17938
|
}
|
17942
17939
|
else {
|
17943
|
-
const i = (
|
17944
|
-
(
|
17940
|
+
const i = (_g = (_f = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _f === void 0 ? void 0 : _f.swiper) === null || _g === void 0 ? void 0 : _g.activeIndex;
|
17941
|
+
(_j = (_h = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _h === void 0 ? void 0 : _h.swiper) === null || _j === void 0 ? void 0 : _j.slideTo(i + 1);
|
17945
17942
|
}
|
17946
17943
|
}
|
17947
17944
|
});
|
@@ -18586,7 +18583,7 @@ Made in Italy` })));
|
|
18586
18583
|
* @Author: binruan@chatlabs.com
|
18587
18584
|
* @Date: 2024-03-20 10:27:31
|
18588
18585
|
* @LastEditors: binruan@chatlabs.com
|
18589
|
-
* @LastEditTime: 2025-05-
|
18586
|
+
* @LastEditTime: 2025-05-09 15:51:40
|
18590
18587
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
|
18591
18588
|
*
|
18592
18589
|
*/
|
@@ -18653,7 +18650,7 @@ Made in Italy` })));
|
|
18653
18650
|
(_a = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _a === void 0 ? void 0 : _a.swiper.slideTo(index);
|
18654
18651
|
}, [data, ctaType, swiperRef]);
|
18655
18652
|
const handleSessionCompleted = React.useCallback((fk) => {
|
18656
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v
|
18653
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
18657
18654
|
const item = data === null || data === void 0 ? void 0 : data[activeIndex];
|
18658
18655
|
let fromKName = '';
|
18659
18656
|
if (popupDetailData && (((_b = (_a = item === null || item === void 0 ? void 0 : item.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b.length) || ((_c = item === null || item === void 0 ? void 0 : item.video) === null || _c === void 0 ? void 0 : _c.bindProduct))) {
|
@@ -18680,13 +18677,12 @@ Made in Italy` })));
|
|
18680
18677
|
eventSubject: 'sessionCompleted',
|
18681
18678
|
eventDescription: 'Session completed',
|
18682
18679
|
contentId: (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.itemId,
|
18683
|
-
|
18684
|
-
productId: (_r = item === null || item === void 0 ? void 0 : item.product) === null || _r === void 0 ? void 0 : _r.itemId,
|
18680
|
+
productId: (_o = item === null || item === void 0 ? void 0 : item.product) === null || _o === void 0 ? void 0 : _o.itemId,
|
18685
18681
|
position: activeIndex + '',
|
18686
18682
|
fromKName: fk || fromKName,
|
18687
18683
|
fromKPage: location === null || location === void 0 ? void 0 : location.href,
|
18688
|
-
ctatId: (
|
18689
|
-
traceInfo: (
|
18684
|
+
ctatId: (_r = (_q = (_p = item === null || item === void 0 ? void 0 : item.video) === null || _p === void 0 ? void 0 : _p.bindCta) === null || _q === void 0 ? void 0 : _q.itemId) !== null && _r !== void 0 ? _r : '',
|
18685
|
+
traceInfo: (_v = (_t = (_s = item === null || item === void 0 ? void 0 : item.video) === null || _s === void 0 ? void 0 : _s.traceInfo) !== null && _t !== void 0 ? _t : (_u = item === null || item === void 0 ? void 0 : item.product) === null || _u === void 0 ? void 0 : _u.traceInfo) !== null && _v !== void 0 ? _v : ''
|
18690
18686
|
}
|
18691
18687
|
});
|
18692
18688
|
}, [data, bffEventReport, activeIndex, popupDetailData, tempMap, isFromHashtag, curTime]);
|
@@ -18816,18 +18812,18 @@ Made in Italy` })));
|
|
18816
18812
|
return null;
|
18817
18813
|
}, [globalConfig, activeIndex, visList]);
|
18818
18814
|
const renderContent = React.useCallback((rec, index) => {
|
18819
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
18815
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
18820
18816
|
if (rec === 'organic menu') {
|
18821
18817
|
return (React.createElement(MultiPosts$2, Object.assign({ recData: data === null || data === void 0 ? void 0 : data[1] }, (_c = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.item) === null || _c === void 0 ? void 0 : _c.props, (_f = (_e = (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.item) === null || _f === void 0 ? void 0 : _f.event)));
|
18822
18818
|
}
|
18823
|
-
if ((
|
18819
|
+
if ((_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.url) {
|
18824
18820
|
return (React.createElement(VideoWidget$5, Object.assign({ key: isReload }, (activeIndex === index && { ref: videoWidgetRef }), { rec: rec, index: index, muted: isMuted, data: data, height: height, activeIndex: activeIndex, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost, videoPlayIcon: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPlayIcon, loopPlay: true, swiperRef: swiperRef })));
|
18825
18821
|
}
|
18826
|
-
if ((
|
18822
|
+
if ((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.imgUrls) {
|
18827
18823
|
return (React.createElement(PictureGroup$5, { key: rec === null || rec === void 0 ? void 0 : rec.video.itemId, imgUrls: rec === null || rec === void 0 ? void 0 : rec.video.imgUrls, width: containerWidth, height: height, rec: rec, index: index, onViewImageEndEvent: handleViewImageStartEnd, onViewImageStartEvent: handleViewImageStartEvent, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost }));
|
18828
18824
|
}
|
18829
|
-
if (rec.product && Array.isArray(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) && ((
|
18830
|
-
return (
|
18825
|
+
if (rec.product && Array.isArray(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) && ((_j = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _j === void 0 ? void 0 : _j.length) > 0) {
|
18826
|
+
return (_k = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _k === void 0 ? void 0 : _k.map((value, idx) => {
|
18831
18827
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
18832
18828
|
const t = resolver[(_a = value === null || value === void 0 ? void 0 : value.item) === null || _a === void 0 ? void 0 : _a.type];
|
18833
18829
|
const Component = withBindDataSource(t);
|
@@ -18865,7 +18861,7 @@ Made in Italy` })));
|
|
18865
18861
|
};
|
18866
18862
|
}, [isShowMore]);
|
18867
18863
|
const renderBottom = React.useCallback((rec, index) => {
|
18868
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o
|
18864
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
18869
18865
|
if (rec === null || rec === void 0 ? void 0 : rec.video) {
|
18870
18866
|
let cta = null;
|
18871
18867
|
if ((_b = (_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.bindProducts) === null || _b === void 0 ? void 0 : _b.length) {
|
@@ -18874,23 +18870,20 @@ Made in Italy` })));
|
|
18874
18870
|
else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
|
18875
18871
|
cta = '商品CTA';
|
18876
18872
|
}
|
18877
|
-
else if (tempMap && ((_d = Object.keys(tempMap)) === null || _d === void 0 ? void 0 : _d.includes('服务CTA')) && ((_f = (_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.bindCta) === null || _f === void 0 ? void 0 : _f.itemId)) {
|
18878
|
-
cta = '服务CTA';
|
18879
|
-
}
|
18880
18873
|
else {
|
18881
|
-
cta = (
|
18874
|
+
cta = (_e = (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.bindCta) === null || _e === void 0 ? void 0 : _e.itemId;
|
18882
18875
|
}
|
18883
18876
|
const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
|
18884
18877
|
return (React.createElement(React.Fragment, null,
|
18885
|
-
((
|
18886
|
-
React.createElement("div", { className: 'clc-sxp-bottom', style: { marginBottom: `${(
|
18878
|
+
((_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.title) && !isShowMore && React.createElement("div", { className: 'clc-sxp-bottom-shadow' }),
|
18879
|
+
React.createElement("div", { className: 'clc-sxp-bottom', style: { marginBottom: `${(_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _g !== void 0 ? _g : 40}px` } },
|
18887
18880
|
React.createElement(Nudge, { nudge: nudge }),
|
18888
18881
|
(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) ? (React.createElement("div", { className: 'clc-sxp-bottom-card' },
|
18889
18882
|
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, value: value }))) : null,
|
18890
18883
|
React.createElement("div", null,
|
18891
|
-
React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (
|
18884
|
+
React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_j = (_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.title) !== null && _j !== void 0 ? _j : '', style: Object.assign(Object.assign({}, descStyle), { textShadow: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isOpenTextShadow) ? '2px 2px 4px rgba(0, 0, 0, 0.5)' : 'none' }), onChange: onExpandableChange }),
|
18892
18885
|
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'], isActive: index === activeIndex, value: value }),
|
18893
|
-
React.createElement(Hashtag$1, { index: activeIndex, tags: (
|
18886
|
+
React.createElement(Hashtag$1, { index: activeIndex, tags: (_l = (_k = rec === null || rec === void 0 ? void 0 : rec.video) === null || _k === void 0 ? void 0 : _k.hashTags) !== null && _l !== void 0 ? _l : [], itemId: (_m = rec === null || rec === void 0 ? void 0 : rec.video) === null || _m === void 0 ? void 0 : _m.itemId, itemType: ((_o = rec === null || rec === void 0 ? void 0 : rec.video) === null || _o === void 0 ? void 0 : _o.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle, hashTagRightMargin: containerWidth - (hashTagRightMargin !== null && hashTagRightMargin !== void 0 ? hashTagRightMargin : 0) }))),
|
18894
18887
|
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex, value: value })));
|
18895
18888
|
}
|
18896
18889
|
return null;
|
@@ -18928,7 +18921,7 @@ Made in Italy` })));
|
|
18928
18921
|
return null;
|
18929
18922
|
}, [globalConfig, waterFallData]);
|
18930
18923
|
const handleViewImageStartEnd = (item) => {
|
18931
|
-
var _a, _b, _c, _d, _e, _f
|
18924
|
+
var _a, _b, _c, _d, _e, _f;
|
18932
18925
|
if (!((_a = item === null || item === void 0 ? void 0 : item.video) === null || _a === void 0 ? void 0 : _a.url) && ((_b = item === null || item === void 0 ? void 0 : item.video) === null || _b === void 0 ? void 0 : _b.imgUrls)) {
|
18933
18926
|
const endTime = Date.now();
|
18934
18927
|
const duration = viewImageStartTime.current === 0 ? 0 : (endTime - viewImageStartTime.current) / 1000;
|
@@ -18937,11 +18930,10 @@ Made in Italy` })));
|
|
18937
18930
|
eventSubject: 'viewImageCarouselEnd',
|
18938
18931
|
eventDescription: 'User end view the image carousel',
|
18939
18932
|
contentId: (_d = (_c = item === null || item === void 0 ? void 0 : item.video) === null || _c === void 0 ? void 0 : _c.itemId) !== null && _d !== void 0 ? _d : '',
|
18940
|
-
|
18941
|
-
contentName: (_h = item === null || item === void 0 ? void 0 : item.video.title) !== null && _h !== void 0 ? _h : '',
|
18933
|
+
contentName: (_e = item === null || item === void 0 ? void 0 : item.video.title) !== null && _e !== void 0 ? _e : '',
|
18942
18934
|
imageEndTime: `${endTime}`,
|
18943
18935
|
playDuration: `${duration}`,
|
18944
|
-
contentTags: JSON.stringify((
|
18936
|
+
contentTags: JSON.stringify((_f = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _f !== void 0 ? _f : []),
|
18945
18937
|
position: activeIndex + '',
|
18946
18938
|
contentFormat: 'image',
|
18947
18939
|
traceInfo: item === null || item === void 0 ? void 0 : item.video.traceInfo
|
@@ -18950,7 +18942,7 @@ Made in Italy` })));
|
|
18950
18942
|
}
|
18951
18943
|
};
|
18952
18944
|
const handleSlideSkip = (item, position) => {
|
18953
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x
|
18945
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
18954
18946
|
if (isPreview || waterFallData)
|
18955
18947
|
return;
|
18956
18948
|
const t = new Date() - curTime.current;
|
@@ -18976,8 +18968,7 @@ Made in Italy` })));
|
|
18976
18968
|
contentTags: (product === null || product === void 0 ? void 0 : product.tags) ? JSON.stringify(product === null || product === void 0 ? void 0 : product.tags) : '',
|
18977
18969
|
position: position + '',
|
18978
18970
|
contentId: (_t = (_s = item === null || item === void 0 ? void 0 : item.video) === null || _s === void 0 ? void 0 : _s.itemId) !== null && _t !== void 0 ? _t : '',
|
18979
|
-
|
18980
|
-
traceInfo: (_0 = (_y = (_x = item === null || item === void 0 ? void 0 : item.video) === null || _x === void 0 ? void 0 : _x.traceInfo) !== null && _y !== void 0 ? _y : (_z = item === null || item === void 0 ? void 0 : item.product) === null || _z === void 0 ? void 0 : _z.traceInfo) !== null && _0 !== void 0 ? _0 : '',
|
18971
|
+
traceInfo: (_x = (_v = (_u = item === null || item === void 0 ? void 0 : item.video) === null || _u === void 0 ? void 0 : _u.traceInfo) !== null && _v !== void 0 ? _v : (_w = item === null || item === void 0 ? void 0 : item.product) === null || _w === void 0 ? void 0 : _w.traceInfo) !== null && _x !== void 0 ? _x : '',
|
18981
18972
|
contentFormat
|
18982
18973
|
}
|
18983
18974
|
});
|
@@ -18987,7 +18978,7 @@ Made in Italy` })));
|
|
18987
18978
|
}
|
18988
18979
|
};
|
18989
18980
|
const handleScrollEvent = (swiper) => {
|
18990
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w
|
18981
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
18991
18982
|
const item = data[swiper.previousIndex];
|
18992
18983
|
if (!item)
|
18993
18984
|
return;
|
@@ -19004,12 +18995,11 @@ Made in Italy` })));
|
|
19004
18995
|
eventSubject: 'scrollDown',
|
19005
18996
|
eventDescription: 'User scroll down',
|
19006
18997
|
contentId: (_e = (_d = item === null || item === void 0 ? void 0 : item.video) === null || _d === void 0 ? void 0 : _d.itemId) !== null && _e !== void 0 ? _e : '',
|
19007
|
-
|
19008
|
-
productId: (_k = (_j = item === null || item === void 0 ? void 0 : item.product) === null || _j === void 0 ? void 0 : _j.itemId) !== null && _k !== void 0 ? _k : '',
|
18998
|
+
productId: (_g = (_f = item === null || item === void 0 ? void 0 : item.product) === null || _f === void 0 ? void 0 : _f.itemId) !== null && _g !== void 0 ? _g : '',
|
19009
18999
|
requestId: null,
|
19010
|
-
traceInfo: (
|
19000
|
+
traceInfo: (_l = (_j = (_h = item === null || item === void 0 ? void 0 : item.video) === null || _h === void 0 ? void 0 : _h.traceInfo) !== null && _j !== void 0 ? _j : (_k = item === null || item === void 0 ? void 0 : item.product) === null || _k === void 0 ? void 0 : _k.traceInfo) !== null && _l !== void 0 ? _l : '',
|
19011
19001
|
contentFormat,
|
19012
|
-
position: ((
|
19002
|
+
position: ((_m = swiper.previousIndex) !== null && _m !== void 0 ? _m : 0) + ''
|
19013
19003
|
}
|
19014
19004
|
});
|
19015
19005
|
// 如果上一个商品是图片集,需上报 浏览图片集结结束 事件
|
@@ -19021,13 +19011,12 @@ Made in Italy` })));
|
|
19021
19011
|
eventInfo: {
|
19022
19012
|
eventSubject: 'scrollUp',
|
19023
19013
|
eventDescription: 'User scroll up',
|
19024
|
-
contentId: (
|
19025
|
-
|
19026
|
-
productId: (_x = (_w = item.product) === null || _w === void 0 ? void 0 : _w.itemId) !== null && _x !== void 0 ? _x : '',
|
19014
|
+
contentId: (_p = (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.itemId) !== null && _p !== void 0 ? _p : '',
|
19015
|
+
productId: (_r = (_q = item.product) === null || _q === void 0 ? void 0 : _q.itemId) !== null && _r !== void 0 ? _r : '',
|
19027
19016
|
requestId: null,
|
19028
|
-
traceInfo: (
|
19017
|
+
traceInfo: (_v = (_t = (_s = item === null || item === void 0 ? void 0 : item.video) === null || _s === void 0 ? void 0 : _s.traceInfo) !== null && _t !== void 0 ? _t : (_u = item === null || item === void 0 ? void 0 : item.product) === null || _u === void 0 ? void 0 : _u.traceInfo) !== null && _v !== void 0 ? _v : '',
|
19029
19018
|
contentFormat,
|
19030
|
-
position: ((
|
19019
|
+
position: ((_w = swiper.previousIndex) !== null && _w !== void 0 ? _w : 0) + ''
|
19031
19020
|
}
|
19032
19021
|
});
|
19033
19022
|
// 如果上一个商品是图片集,需上报 浏览图片集结结束 事件
|
@@ -19053,7 +19042,7 @@ Made in Italy` })));
|
|
19053
19042
|
}
|
19054
19043
|
}, [openHashtag, data, activeIndex]);
|
19055
19044
|
const handleViewImageStartEvent = (activeIndex, imgInfo, enableCapi) => {
|
19056
|
-
var _a, _b, _c, _d, _e, _f, _g, _h
|
19045
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
19057
19046
|
const item = data[activeIndex];
|
19058
19047
|
// 如果是图片集则上报事件
|
19059
19048
|
if (!((_a = item === null || item === void 0 ? void 0 : item.video) === null || _a === void 0 ? void 0 : _a.url) && ((_b = item === null || item === void 0 ? void 0 : item.video) === null || _b === void 0 ? void 0 : _b.imgUrls)) {
|
@@ -19064,10 +19053,9 @@ Made in Italy` })));
|
|
19064
19053
|
eventSubject: 'viewImageCarouselStart',
|
19065
19054
|
eventDescription: 'User start view the image carousel',
|
19066
19055
|
contentId: (_d = (_c = item === null || item === void 0 ? void 0 : item.video) === null || _c === void 0 ? void 0 : _c.itemId) !== null && _d !== void 0 ? _d : '',
|
19067
|
-
|
19068
|
-
contentName: (_h = item === null || item === void 0 ? void 0 : item.video.title) !== null && _h !== void 0 ? _h : '',
|
19056
|
+
contentName: (_e = item === null || item === void 0 ? void 0 : item.video.title) !== null && _e !== void 0 ? _e : '',
|
19069
19057
|
imageStartTime: `${startTime}`,
|
19070
|
-
contentTags: JSON.stringify((
|
19058
|
+
contentTags: JSON.stringify((_f = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _f !== void 0 ? _f : []),
|
19071
19059
|
position: activeIndex + '',
|
19072
19060
|
contentFormat: 'image',
|
19073
19061
|
traceInfo: item === null || item === void 0 ? void 0 : item.video.traceInfo,
|
@@ -19077,11 +19065,11 @@ Made in Italy` })));
|
|
19077
19065
|
if (enableCapi) {
|
19078
19066
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
19079
19067
|
eventName: 'ViewContent',
|
19080
|
-
product: (
|
19068
|
+
product: (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.bindProduct
|
19081
19069
|
});
|
19082
19070
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
19083
19071
|
eventName: 'PageView',
|
19084
|
-
product: (
|
19072
|
+
product: (_h = item === null || item === void 0 ? void 0 : item.video) === null || _h === void 0 ? void 0 : _h.bindProduct
|
19085
19073
|
});
|
19086
19074
|
}
|
19087
19075
|
}
|
@@ -19234,7 +19222,7 @@ Made in Italy` })));
|
|
19234
19222
|
}, []);
|
19235
19223
|
const PAUSE_ICON = useIconLink('/pb_static/06f28a2025c74c1cb49be6767316d827.png');
|
19236
19224
|
const handlePlaying = React.useCallback(() => {
|
19237
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o
|
19225
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
19238
19226
|
setIsPauseVideo(false);
|
19239
19227
|
const item = data[index];
|
19240
19228
|
if (item && ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.duration)) {
|
@@ -19247,15 +19235,14 @@ Made in Italy` })));
|
|
19247
19235
|
eventSubject: 'playVideo',
|
19248
19236
|
eventDescription: 'User played the video',
|
19249
19237
|
contentId: (_h = (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
|
19250
|
-
|
19251
|
-
contentName: (_o = (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.title) !== null && _o !== void 0 ? _o : '',
|
19238
|
+
contentName: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : '',
|
19252
19239
|
playType,
|
19253
19240
|
startTime: videoCurrentTime,
|
19254
19241
|
videoDuration,
|
19255
|
-
contentTags: JSON.stringify((
|
19242
|
+
contentTags: JSON.stringify((_m = (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : []),
|
19256
19243
|
position: index + '',
|
19257
19244
|
contentFormat: 'video',
|
19258
|
-
traceInfo: (
|
19245
|
+
traceInfo: (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
|
19259
19246
|
}
|
19260
19247
|
});
|
19261
19248
|
setIsFirstPlay(false);
|
@@ -19294,7 +19281,7 @@ Made in Italy` })));
|
|
19294
19281
|
}
|
19295
19282
|
}, [isLoadFinish]);
|
19296
19283
|
const onPause = React.useCallback(() => {
|
19297
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o
|
19284
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
19298
19285
|
const item = data[index];
|
19299
19286
|
const videoDuration = ((_b = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.duration) !== null && _b !== void 0 ? _b : 0).toFixed(2);
|
19300
19287
|
const videoCurrentTime = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.currentTime) !== null && _d !== void 0 ? _d : 0).toFixed(2);
|
@@ -19305,15 +19292,14 @@ Made in Italy` })));
|
|
19305
19292
|
eventSubject: 'playOverVideo',
|
19306
19293
|
eventDescription: 'User finished playing the video',
|
19307
19294
|
contentId: (_h = (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
|
19308
|
-
|
19309
|
-
contentName: (_o = (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.title) !== null && _o !== void 0 ? _o : '',
|
19295
|
+
contentName: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : '',
|
19310
19296
|
endTime: videoCurrentTime,
|
19311
19297
|
videoDuration,
|
19312
19298
|
playDuration,
|
19313
|
-
contentTags: JSON.stringify((
|
19299
|
+
contentTags: JSON.stringify((_m = (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : []),
|
19314
19300
|
position: index + '',
|
19315
19301
|
contentFormat: 'video',
|
19316
|
-
traceInfo: (
|
19302
|
+
traceInfo: (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
|
19317
19303
|
}
|
19318
19304
|
});
|
19319
19305
|
}
|