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/index.cjs
CHANGED
@@ -1102,7 +1102,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
1102
1102
|
}
|
1103
1103
|
}), [bffFetch, utmVal]);
|
1104
1104
|
const ctaEvent = React.useCallback((eventInfo, rec, product, position) => {
|
1105
|
-
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
|
1105
|
+
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;
|
1106
1106
|
const cta = product === null || product === void 0 ? void 0 : product.bindCta;
|
1107
1107
|
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);
|
1108
1108
|
let fromKName = '';
|
@@ -1120,7 +1120,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
1120
1120
|
}
|
1121
1121
|
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;
|
1122
1122
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
1123
|
-
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 : '',
|
1123
|
+
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 })
|
1124
1124
|
});
|
1125
1125
|
}, [bffEventReport, isFromHashtag]);
|
1126
1126
|
const h5EnterLink = React.useCallback(() => {
|
@@ -1781,14 +1781,14 @@ var settingRender$f = [
|
|
1781
1781
|
* @Author: binruan@chatlabs.com
|
1782
1782
|
* @Date: 2024-03-12 10:59:06
|
1783
1783
|
* @LastEditors: binruan@chatlabs.com
|
1784
|
-
* @LastEditTime:
|
1784
|
+
* @LastEditTime: 2024-11-28 11:17:16
|
1785
1785
|
* @FilePath: \pb-sxp-ui\src\core\hooks\useEventReport.ts
|
1786
1786
|
*
|
1787
1787
|
*/
|
1788
1788
|
function useEventReport() {
|
1789
1789
|
const { bffEventReport, popupDetailData, isFromHashtag, eventTimeList, setEventTimeList } = useSxpDataSource();
|
1790
1790
|
const jumpToWeb = React.useCallback((e, data, product, cta, position, traceInfo) => {
|
1791
|
-
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
|
1791
|
+
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;
|
1792
1792
|
const i = eventTimeList === null || eventTimeList === void 0 ? void 0 : eventTimeList.findIndex((item) => item.target === (e === null || e === void 0 ? void 0 : e.target));
|
1793
1793
|
if (i !== -1) {
|
1794
1794
|
return;
|
@@ -1821,11 +1821,11 @@ function useEventReport() {
|
|
1821
1821
|
contentFormat = 'image';
|
1822
1822
|
}
|
1823
1823
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
1824
|
-
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 : '',
|
1824
|
+
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 }))
|
1825
1825
|
});
|
1826
1826
|
}, [bffEventReport, popupDetailData, isFromHashtag, eventTimeList]);
|
1827
1827
|
const productView = React.useCallback((data, product, cta, viewTime, position) => {
|
1828
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p
|
1828
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
1829
1829
|
let fromKName = '';
|
1830
1830
|
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))) {
|
1831
1831
|
fromKName = 'pdpPage';
|
@@ -1844,9 +1844,8 @@ function useEventReport() {
|
|
1844
1844
|
contentTags: JSON.stringify(product === null || product === void 0 ? void 0 : product.tags),
|
1845
1845
|
position: position + '',
|
1846
1846
|
contentId: (_d = data === null || data === void 0 ? void 0 : data.video) === null || _d === void 0 ? void 0 : _d.itemId,
|
1847
|
-
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 : '',
|
1848
1847
|
ctatId: cta === null || cta === void 0 ? void 0 : cta.itemId,
|
1849
|
-
traceInfo: (
|
1848
|
+
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 : '',
|
1850
1849
|
timeOnSite: Math.floor((new Date() - viewTime) / 1000) + '',
|
1851
1850
|
eventSubject: 'productView',
|
1852
1851
|
eventDescription: 'User browsed the product'
|
@@ -10210,69 +10209,72 @@ const Modal = ({ visible, onClose, children, modalStyle, padding, popup, schema,
|
|
10210
10209
|
};
|
10211
10210
|
var Modal$1 = React.memo(Modal);
|
10212
10211
|
|
10213
|
-
/*
|
10214
|
-
* @Author: binruan@chatlabs.com
|
10215
|
-
* @Date: 2023-12-26 16:11:34
|
10216
|
-
* @LastEditors: binruan@chatlabs.com
|
10217
|
-
* @LastEditTime: 2024-11-07 14:27:18
|
10218
|
-
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\ExpandableText.tsx
|
10219
|
-
*
|
10220
|
-
*/
|
10221
|
-
const limitTextLastWholeWord = (originalText = '', limit) => {
|
10222
|
-
// 匹配到中文
|
10223
|
-
const chineseRegex = /[\u4e00-\u9fa5]+/;
|
10224
|
-
if (chineseRegex.test(originalText)) {
|
10225
|
-
return originalText.slice(0, 54);
|
10226
|
-
}
|
10227
|
-
const words = originalText.split(' ');
|
10228
|
-
const newWords = [];
|
10229
|
-
for (let i = 0; i < words.length; i++) {
|
10230
|
-
newWords.push(words[i]);
|
10231
|
-
const tempText = newWords.join(' ');
|
10232
|
-
if (tempText.length >= limit)
|
10233
|
-
break;
|
10234
|
-
}
|
10235
|
-
// const _words = newWords.length === words.length ? newWords : newWords.slice(0, newWords.length - 1);
|
10236
|
-
const _words = newWords.length > 1 && newWords.length < words.length ? newWords.slice(0, newWords.length - 1) : newWords;
|
10237
|
-
return _words.join(' ') + ' ';
|
10238
|
-
};
|
10239
10212
|
const ExpandableText = ({ text, maxStr = 108, style, className, onClick, foldText, unfoldText, isPost, onChange }) => {
|
10240
10213
|
const [isShowMore, setIsShowMore] = React.useState(false);
|
10241
10214
|
const [isShow, setIsShow] = React.useState(false);
|
10242
|
-
const
|
10215
|
+
const _a = style || {}, { lineClamp } = _a, textStyle = __rest(_a, ["lineClamp"]);
|
10216
|
+
const textLineClamp = Number(lineClamp || 2);
|
10243
10217
|
const multiRow = React.useRef(null);
|
10244
|
-
|
10245
|
-
const handleClick =
|
10218
|
+
React.useRef();
|
10219
|
+
const handleClick = () => {
|
10246
10220
|
setIsShowMore(!isShowMore);
|
10247
|
-
|
10248
|
-
|
10249
|
-
|
10250
|
-
|
10251
|
-
|
10221
|
+
};
|
10222
|
+
const checkOverflow = React.useCallback(() => {
|
10223
|
+
if (!multiRow.current || !isPost || !text)
|
10224
|
+
return;
|
10225
|
+
// 强制同步布局(消除浏览器优化导致的误差)
|
10226
|
+
const triggerReflow = (el) => el.offsetHeight;
|
10227
|
+
// 分三步精确测量
|
10228
|
+
requestAnimationFrame(() => {
|
10229
|
+
// 第一步:获取干净状态
|
10230
|
+
const el = multiRow.current;
|
10231
|
+
triggerReflow(el);
|
10232
|
+
// 第二步:测量无约束状态的真实高度
|
10233
|
+
const originalStyle = el.style.cssText;
|
10234
|
+
el.style.webkitLineClamp = 'unset';
|
10235
|
+
el.style.display = 'block';
|
10236
|
+
triggerReflow(el);
|
10237
|
+
const realHeight = el.getBoundingClientRect().height;
|
10238
|
+
// 第三步:恢复约束状态
|
10239
|
+
el.style.cssText = originalStyle;
|
10240
|
+
triggerReflow(el);
|
10241
|
+
const clampHeight = el.getBoundingClientRect().height;
|
10242
|
+
// 精准比较(考虑亚像素渲染)
|
10243
|
+
const isActuallyClamped = realHeight > clampHeight + 1;
|
10244
|
+
// 防抖处理
|
10245
|
+
console.log('[精确测量]', { realHeight, clampHeight, isActuallyClamped });
|
10246
|
+
setIsShow(isActuallyClamped);
|
10247
|
+
});
|
10248
|
+
}, [isPost, text, textLineClamp]);
|
10249
|
+
// 增强版监听(同时监听字体加载)
|
10252
10250
|
React.useEffect(() => {
|
10253
|
-
|
10254
|
-
if (
|
10255
|
-
|
10256
|
-
|
10257
|
-
|
10258
|
-
}
|
10259
|
-
|
10260
|
-
|
10261
|
-
|
10262
|
-
|
10263
|
-
|
10264
|
-
|
10265
|
-
|
10266
|
-
|
10267
|
-
|
10251
|
+
const el = multiRow.current;
|
10252
|
+
if (!el)
|
10253
|
+
return;
|
10254
|
+
const fontCheck = () => {
|
10255
|
+
document.fonts.ready.then(checkOverflow);
|
10256
|
+
};
|
10257
|
+
const observer = new ResizeObserver((entries) => {
|
10258
|
+
entries.forEach((entry) => {
|
10259
|
+
if (entry.contentBoxSize) ;
|
10260
|
+
});
|
10261
|
+
});
|
10262
|
+
fontCheck();
|
10263
|
+
observer.observe(el);
|
10264
|
+
return () => observer.disconnect();
|
10265
|
+
}, [checkOverflow]);
|
10266
|
+
return (React.createElement("div", { className: className, style: Object.assign(Object.assign({}, textStyle), { transform: 'translate3d(0px, 0px, 0px)' }), hidden: !text || text === '' },
|
10267
|
+
React.createElement("div", { ref: multiRow, style: Object.assign(Object.assign({}, (!isShowMore &&
|
10268
|
+
isPost && {
|
10269
|
+
WebkitLineClamp: textLineClamp,
|
10270
|
+
lineClamp: textLineClamp,
|
10268
10271
|
textOverflow: 'ellipsis',
|
10272
|
+
overflow: 'hidden',
|
10269
10273
|
display: '-webkit-box',
|
10270
|
-
WebkitBoxOrient: 'vertical'
|
10271
|
-
|
10272
|
-
}, dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), style) } }),
|
10273
|
-
React.createElement("div", { ref: multiRowCopy, dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), style) } }),
|
10274
|
+
WebkitBoxOrient: 'vertical'
|
10275
|
+
})), { 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) } }),
|
10274
10276
|
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: {
|
10275
|
-
__html: setFontForText(isShowMore ? unfoldText || 'show less' : foldText || 'show more',
|
10277
|
+
__html: setFontForText(isShowMore ? unfoldText || 'show less' : foldText || 'show more', textStyle)
|
10276
10278
|
} }))));
|
10277
10279
|
};
|
10278
10280
|
var ExpandableText$1 = React.memo(ExpandableText);
|
@@ -15506,7 +15508,7 @@ function WaterfallList(_a) {
|
|
15506
15508
|
* @Author: binruan@chatlabs.com
|
15507
15509
|
* @Date: 2024-01-10 10:58:24
|
15508
15510
|
* @LastEditors: binruan@chatlabs.com
|
15509
|
-
* @LastEditTime: 2025-
|
15511
|
+
* @LastEditTime: 2025-02-28 10:00:31
|
15510
15512
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\WaterFall\index.tsx
|
15511
15513
|
*
|
15512
15514
|
*/
|
@@ -15544,7 +15546,7 @@ const WaterFall = (props) => {
|
|
15544
15546
|
}
|
15545
15547
|
}, [waterFallData]);
|
15546
15548
|
const reportTagsView = React.useCallback(() => {
|
15547
|
-
var _a, _b, _c, _d, _e, _f
|
15549
|
+
var _a, _b, _c, _d, _e, _f;
|
15548
15550
|
const rec = recData === null || recData === void 0 ? void 0 : recData.rec;
|
15549
15551
|
if (!rec)
|
15550
15552
|
return;
|
@@ -15564,10 +15566,9 @@ const WaterFall = (props) => {
|
|
15564
15566
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
15565
15567
|
eventInfo: {
|
15566
15568
|
contentId: (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.itemId,
|
15567
|
-
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 : '',
|
15568
15569
|
position: cacheActiveIndex + '',
|
15569
|
-
contentTags: JSON.stringify((
|
15570
|
-
traceInfo: (
|
15570
|
+
contentTags: JSON.stringify((_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.tags),
|
15571
|
+
traceInfo: (_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.traceInfo,
|
15571
15572
|
hashTags: JSON.stringify([recData === null || recData === void 0 ? void 0 : recData.hashTag]),
|
15572
15573
|
fromKName,
|
15573
15574
|
fromKPage: location === null || location === void 0 ? void 0 : location.href,
|
@@ -17648,7 +17649,7 @@ const LikeButton = (_a) => {
|
|
17648
17649
|
const likeIcon = useIconLink(defaultLikeIconPath$2);
|
17649
17650
|
const unlikeIcon = useIconLink(defaultUnLikeIconPath$2);
|
17650
17651
|
const handleClick = lodash.debounce(() => __awaiter(void 0, void 0, void 0, function* () {
|
17651
|
-
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z
|
17652
|
+
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
17652
17653
|
if (state) {
|
17653
17654
|
// 先设置状态
|
17654
17655
|
setState(false);
|
@@ -17658,12 +17659,11 @@ const LikeButton = (_a) => {
|
|
17658
17659
|
eventSubject: 'favoriteContentCanceled',
|
17659
17660
|
eventDescription: 'This content was unfavorite by the user',
|
17660
17661
|
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 : '',
|
17661
|
-
|
17662
|
-
|
17663
|
-
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 : []),
|
17662
|
+
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 : '',
|
17663
|
+
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 : []),
|
17664
17664
|
position: position + '',
|
17665
|
-
contentFormat: ((
|
17666
|
-
traceInfo: (
|
17665
|
+
contentFormat: ((_m = recData === null || recData === void 0 ? void 0 : recData.video) === null || _m === void 0 ? void 0 : _m.url) ? 'video' : 'image',
|
17666
|
+
traceInfo: (_o = recData === null || recData === void 0 ? void 0 : recData.video) === null || _o === void 0 ? void 0 : _o.traceInfo
|
17667
17667
|
}
|
17668
17668
|
});
|
17669
17669
|
// 如果接口调用失败,则回滚状态
|
@@ -17671,41 +17671,40 @@ const LikeButton = (_a) => {
|
|
17671
17671
|
setState(true);
|
17672
17672
|
}
|
17673
17673
|
else {
|
17674
|
-
const nRtcList = (
|
17674
|
+
const nRtcList = (_p = cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.map((item, index) => {
|
17675
17675
|
if (index === position) {
|
17676
17676
|
item.isCollected = false;
|
17677
17677
|
}
|
17678
17678
|
return item;
|
17679
|
-
})) !== null &&
|
17679
|
+
})) !== null && _p !== void 0 ? _p : [];
|
17680
17680
|
setCacheRtcList === null || setCacheRtcList === void 0 ? void 0 : setCacheRtcList(nRtcList);
|
17681
17681
|
}
|
17682
17682
|
}
|
17683
17683
|
else {
|
17684
17684
|
setState(true);
|
17685
|
-
const result = (
|
17685
|
+
const result = (_q = (yield (mutateLike === null || mutateLike === void 0 ? void 0 : mutateLike({ content: JSON.stringify(recData) })))) !== null && _q !== void 0 ? _q : false;
|
17686
17686
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
17687
17687
|
eventInfo: {
|
17688
17688
|
eventSubject: 'favoriteContent',
|
17689
17689
|
eventDescription: 'This content was favorite by the user',
|
17690
|
-
contentId: (
|
17691
|
-
|
17692
|
-
|
17693
|
-
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 : []),
|
17690
|
+
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 : '',
|
17691
|
+
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 : '',
|
17692
|
+
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 : []),
|
17694
17693
|
position: position + '',
|
17695
|
-
contentFormat: ((
|
17696
|
-
traceInfo: (
|
17694
|
+
contentFormat: ((_x = recData === null || recData === void 0 ? void 0 : recData.video) === null || _x === void 0 ? void 0 : _x.url) ? 'video' : 'image',
|
17695
|
+
traceInfo: (_y = recData === null || recData === void 0 ? void 0 : recData.video) === null || _y === void 0 ? void 0 : _y.traceInfo
|
17697
17696
|
}
|
17698
17697
|
});
|
17699
17698
|
if (!result) {
|
17700
17699
|
setState(false);
|
17701
17700
|
}
|
17702
17701
|
else {
|
17703
|
-
const nRtcList = (
|
17702
|
+
const nRtcList = (_z = cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.map((item, index) => {
|
17704
17703
|
if (index === position) {
|
17705
17704
|
item.isCollected = true;
|
17706
17705
|
}
|
17707
17706
|
return item;
|
17708
|
-
})) !== null &&
|
17707
|
+
})) !== null && _z !== void 0 ? _z : [];
|
17709
17708
|
setCacheRtcList === null || setCacheRtcList === void 0 ? void 0 : setCacheRtcList(nRtcList);
|
17710
17709
|
}
|
17711
17710
|
}
|
@@ -17816,7 +17815,7 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
|
|
17816
17815
|
setIsLoadFinish(true);
|
17817
17816
|
}, []);
|
17818
17817
|
const handleStartPlay = React.useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
17819
|
-
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q
|
17818
|
+
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
17820
17819
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
|
17821
17820
|
return;
|
17822
17821
|
setIsPauseVideo(false);
|
@@ -17827,15 +17826,14 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
|
|
17827
17826
|
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);
|
17828
17827
|
const playType = (isFirstPlayRef === null || isFirstPlayRef === void 0 ? void 0 : isFirstPlayRef.current) ? '0' : '1';
|
17829
17828
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
17830
|
-
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 : '',
|
17829
|
+
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) + '' }))
|
17831
17830
|
});
|
17832
17831
|
isFirstPlayRef.current = false;
|
17833
17832
|
}
|
17834
17833
|
}), [bffEventReport, data, index, isFirstPlayRef, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
|
17835
17834
|
const setCurrentTimeByStartTime = React.useCallback(() => {
|
17836
|
-
var _a;
|
17837
17835
|
if (isDiyH5) {
|
17838
|
-
videoRef.current.currentTime =
|
17836
|
+
videoRef.current.currentTime = scene === null || scene === void 0 ? void 0 : scene.startTime;
|
17839
17837
|
}
|
17840
17838
|
}, []);
|
17841
17839
|
const handLoadeddata = React.useCallback(() => {
|
@@ -17868,7 +17866,7 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
|
|
17868
17866
|
handLoadeddata();
|
17869
17867
|
}, [videoRef.current, handLoadeddata, handleStartPlay]);
|
17870
17868
|
const handleClickVideo = React.useCallback((type) => () => {
|
17871
|
-
var _a, _b, _c, _d, _e, _f
|
17869
|
+
var _a, _b, _c, _d, _e, _f;
|
17872
17870
|
if (!videoRef.current)
|
17873
17871
|
return;
|
17874
17872
|
if (!isLoadFinish)
|
@@ -17889,20 +17887,20 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
|
|
17889
17887
|
break;
|
17890
17888
|
default:
|
17891
17889
|
if (isPause) {
|
17892
|
-
if (Math.round((_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.currentTime) >= (
|
17893
|
-
|
17890
|
+
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)) {
|
17891
|
+
videoRef.current.currentTime = scene === null || scene === void 0 ? void 0 : scene.startTime;
|
17894
17892
|
}
|
17895
|
-
(
|
17893
|
+
(_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.play();
|
17896
17894
|
}
|
17897
17895
|
else {
|
17898
|
-
(
|
17896
|
+
(_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.pause();
|
17899
17897
|
}
|
17900
17898
|
setIsPauseVideo(!isPause);
|
17901
17899
|
break;
|
17902
17900
|
}
|
17903
17901
|
}, [isLoadFinish, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
|
17904
17902
|
const handlePause = React.useCallback(() => {
|
17905
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o
|
17903
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
17906
17904
|
if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
|
17907
17905
|
return;
|
17908
17906
|
if (activeIndex !== index)
|
@@ -17918,15 +17916,14 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
|
|
17918
17916
|
eventSubject: 'playOverVideo',
|
17919
17917
|
eventDescription: 'User finished playing the video',
|
17920
17918
|
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 : '',
|
17921
|
-
|
17922
|
-
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 : '',
|
17919
|
+
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 : '',
|
17923
17920
|
endTime: videoCurrentTime,
|
17924
17921
|
videoDuration,
|
17925
17922
|
playDuration,
|
17926
|
-
contentTags: JSON.stringify((
|
17923
|
+
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 : []),
|
17927
17924
|
position: index + '',
|
17928
17925
|
contentFormat: 'video',
|
17929
|
-
traceInfo: (
|
17926
|
+
traceInfo: (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
|
17930
17927
|
}
|
17931
17928
|
});
|
17932
17929
|
}
|
@@ -17938,17 +17935,17 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
|
|
17938
17935
|
if (!videoRef.current || !isDiyH5)
|
17939
17936
|
return;
|
17940
17937
|
setTimeout(() => {
|
17941
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j
|
17942
|
-
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 :
|
17943
|
-
(
|
17938
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
17939
|
+
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)) {
|
17940
|
+
(_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.pause();
|
17944
17941
|
if (!loopPlayRef.current)
|
17945
17942
|
return;
|
17946
17943
|
if (index === (data === null || data === void 0 ? void 0 : data.length) - 1) {
|
17947
|
-
(
|
17944
|
+
(_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);
|
17948
17945
|
}
|
17949
17946
|
else {
|
17950
|
-
const i = (
|
17951
|
-
(
|
17947
|
+
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;
|
17948
|
+
(_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);
|
17952
17949
|
}
|
17953
17950
|
}
|
17954
17951
|
});
|
@@ -18593,7 +18590,7 @@ var NavBack$1 = React.memo(NavBack);
|
|
18593
18590
|
* @Author: binruan@chatlabs.com
|
18594
18591
|
* @Date: 2024-03-20 10:27:31
|
18595
18592
|
* @LastEditors: binruan@chatlabs.com
|
18596
|
-
* @LastEditTime: 2025-05-
|
18593
|
+
* @LastEditTime: 2025-05-09 15:51:40
|
18597
18594
|
* @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
|
18598
18595
|
*
|
18599
18596
|
*/
|
@@ -18660,7 +18657,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18660
18657
|
(_a = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _a === void 0 ? void 0 : _a.swiper.slideTo(index);
|
18661
18658
|
}, [data, ctaType, swiperRef]);
|
18662
18659
|
const handleSessionCompleted = React.useCallback((fk) => {
|
18663
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v
|
18660
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
18664
18661
|
const item = data === null || data === void 0 ? void 0 : data[activeIndex];
|
18665
18662
|
let fromKName = '';
|
18666
18663
|
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))) {
|
@@ -18687,13 +18684,12 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18687
18684
|
eventSubject: 'sessionCompleted',
|
18688
18685
|
eventDescription: 'Session completed',
|
18689
18686
|
contentId: (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.itemId,
|
18690
|
-
|
18691
|
-
productId: (_r = item === null || item === void 0 ? void 0 : item.product) === null || _r === void 0 ? void 0 : _r.itemId,
|
18687
|
+
productId: (_o = item === null || item === void 0 ? void 0 : item.product) === null || _o === void 0 ? void 0 : _o.itemId,
|
18692
18688
|
position: activeIndex + '',
|
18693
18689
|
fromKName: fk || fromKName,
|
18694
18690
|
fromKPage: location === null || location === void 0 ? void 0 : location.href,
|
18695
|
-
ctatId: (
|
18696
|
-
traceInfo: (
|
18691
|
+
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 : '',
|
18692
|
+
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 : ''
|
18697
18693
|
}
|
18698
18694
|
});
|
18699
18695
|
}, [data, bffEventReport, activeIndex, popupDetailData, tempMap, isFromHashtag, curTime]);
|
@@ -18823,18 +18819,18 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18823
18819
|
return null;
|
18824
18820
|
}, [globalConfig, activeIndex, visList]);
|
18825
18821
|
const renderContent = React.useCallback((rec, index) => {
|
18826
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
18822
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
18827
18823
|
if (rec === 'organic menu') {
|
18828
18824
|
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)));
|
18829
18825
|
}
|
18830
|
-
if ((
|
18826
|
+
if ((_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.url) {
|
18831
18827
|
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 })));
|
18832
18828
|
}
|
18833
|
-
if ((
|
18829
|
+
if ((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.imgUrls) {
|
18834
18830
|
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 }));
|
18835
18831
|
}
|
18836
|
-
if (rec.product && Array.isArray(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) && ((
|
18837
|
-
return (
|
18832
|
+
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) {
|
18833
|
+
return (_k = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _k === void 0 ? void 0 : _k.map((value, idx) => {
|
18838
18834
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
18839
18835
|
const t = resolver[(_a = value === null || value === void 0 ? void 0 : value.item) === null || _a === void 0 ? void 0 : _a.type];
|
18840
18836
|
const Component = withBindDataSource(t);
|
@@ -18872,7 +18868,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18872
18868
|
};
|
18873
18869
|
}, [isShowMore]);
|
18874
18870
|
const renderBottom = React.useCallback((rec, index) => {
|
18875
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o
|
18871
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
18876
18872
|
if (rec === null || rec === void 0 ? void 0 : rec.video) {
|
18877
18873
|
let cta = null;
|
18878
18874
|
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) {
|
@@ -18881,23 +18877,20 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18881
18877
|
else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
|
18882
18878
|
cta = '商品CTA';
|
18883
18879
|
}
|
18884
|
-
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)) {
|
18885
|
-
cta = '服务CTA';
|
18886
|
-
}
|
18887
18880
|
else {
|
18888
|
-
cta = (
|
18881
|
+
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;
|
18889
18882
|
}
|
18890
18883
|
const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
|
18891
18884
|
return (React.createElement(React.Fragment, null,
|
18892
|
-
((
|
18893
|
-
React.createElement("div", { className: 'clc-sxp-bottom', style: { marginBottom: `${(
|
18885
|
+
((_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' }),
|
18886
|
+
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` } },
|
18894
18887
|
React.createElement(Nudge, { nudge: nudge }),
|
18895
18888
|
(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' },
|
18896
18889
|
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, value: value }))) : null,
|
18897
18890
|
React.createElement("div", null,
|
18898
|
-
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: (
|
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: (_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 }),
|
18899
18892
|
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'], isActive: index === activeIndex, value: value }),
|
18900
|
-
React.createElement(Hashtag$1, { index: activeIndex, tags: (
|
18893
|
+
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) }))),
|
18901
18894
|
React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex, value: value })));
|
18902
18895
|
}
|
18903
18896
|
return null;
|
@@ -18935,7 +18928,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18935
18928
|
return null;
|
18936
18929
|
}, [globalConfig, waterFallData]);
|
18937
18930
|
const handleViewImageStartEnd = (item) => {
|
18938
|
-
var _a, _b, _c, _d, _e, _f
|
18931
|
+
var _a, _b, _c, _d, _e, _f;
|
18939
18932
|
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)) {
|
18940
18933
|
const endTime = Date.now();
|
18941
18934
|
const duration = viewImageStartTime.current === 0 ? 0 : (endTime - viewImageStartTime.current) / 1000;
|
@@ -18944,11 +18937,10 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18944
18937
|
eventSubject: 'viewImageCarouselEnd',
|
18945
18938
|
eventDescription: 'User end view the image carousel',
|
18946
18939
|
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 : '',
|
18947
|
-
|
18948
|
-
contentName: (_h = item === null || item === void 0 ? void 0 : item.video.title) !== null && _h !== void 0 ? _h : '',
|
18940
|
+
contentName: (_e = item === null || item === void 0 ? void 0 : item.video.title) !== null && _e !== void 0 ? _e : '',
|
18949
18941
|
imageEndTime: `${endTime}`,
|
18950
18942
|
playDuration: `${duration}`,
|
18951
|
-
contentTags: JSON.stringify((
|
18943
|
+
contentTags: JSON.stringify((_f = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _f !== void 0 ? _f : []),
|
18952
18944
|
position: activeIndex + '',
|
18953
18945
|
contentFormat: 'image',
|
18954
18946
|
traceInfo: item === null || item === void 0 ? void 0 : item.video.traceInfo
|
@@ -18957,7 +18949,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18957
18949
|
}
|
18958
18950
|
};
|
18959
18951
|
const handleSlideSkip = (item, position) => {
|
18960
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x
|
18952
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
18961
18953
|
if (isPreview || waterFallData)
|
18962
18954
|
return;
|
18963
18955
|
const t = new Date() - curTime.current;
|
@@ -18983,8 +18975,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18983
18975
|
contentTags: (product === null || product === void 0 ? void 0 : product.tags) ? JSON.stringify(product === null || product === void 0 ? void 0 : product.tags) : '',
|
18984
18976
|
position: position + '',
|
18985
18977
|
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 : '',
|
18986
|
-
|
18987
|
-
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 : '',
|
18978
|
+
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 : '',
|
18988
18979
|
contentFormat
|
18989
18980
|
}
|
18990
18981
|
});
|
@@ -18994,7 +18985,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
18994
18985
|
}
|
18995
18986
|
};
|
18996
18987
|
const handleScrollEvent = (swiper) => {
|
18997
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w
|
18988
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
18998
18989
|
const item = data[swiper.previousIndex];
|
18999
18990
|
if (!item)
|
19000
18991
|
return;
|
@@ -19011,12 +19002,11 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
19011
19002
|
eventSubject: 'scrollDown',
|
19012
19003
|
eventDescription: 'User scroll down',
|
19013
19004
|
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 : '',
|
19014
|
-
|
19015
|
-
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 : '',
|
19005
|
+
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 : '',
|
19016
19006
|
requestId: null,
|
19017
|
-
traceInfo: (
|
19007
|
+
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 : '',
|
19018
19008
|
contentFormat,
|
19019
|
-
position: ((
|
19009
|
+
position: ((_m = swiper.previousIndex) !== null && _m !== void 0 ? _m : 0) + ''
|
19020
19010
|
}
|
19021
19011
|
});
|
19022
19012
|
// 如果上一个商品是图片集,需上报 浏览图片集结结束 事件
|
@@ -19028,13 +19018,12 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
19028
19018
|
eventInfo: {
|
19029
19019
|
eventSubject: 'scrollUp',
|
19030
19020
|
eventDescription: 'User scroll up',
|
19031
|
-
contentId: (
|
19032
|
-
|
19033
|
-
productId: (_x = (_w = item.product) === null || _w === void 0 ? void 0 : _w.itemId) !== null && _x !== void 0 ? _x : '',
|
19021
|
+
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 : '',
|
19022
|
+
productId: (_r = (_q = item.product) === null || _q === void 0 ? void 0 : _q.itemId) !== null && _r !== void 0 ? _r : '',
|
19034
19023
|
requestId: null,
|
19035
|
-
traceInfo: (
|
19024
|
+
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 : '',
|
19036
19025
|
contentFormat,
|
19037
|
-
position: ((
|
19026
|
+
position: ((_w = swiper.previousIndex) !== null && _w !== void 0 ? _w : 0) + ''
|
19038
19027
|
}
|
19039
19028
|
});
|
19040
19029
|
// 如果上一个商品是图片集,需上报 浏览图片集结结束 事件
|
@@ -19060,7 +19049,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
19060
19049
|
}
|
19061
19050
|
}, [openHashtag, data, activeIndex]);
|
19062
19051
|
const handleViewImageStartEvent = (activeIndex, imgInfo, enableCapi) => {
|
19063
|
-
var _a, _b, _c, _d, _e, _f, _g, _h
|
19052
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
19064
19053
|
const item = data[activeIndex];
|
19065
19054
|
// 如果是图片集则上报事件
|
19066
19055
|
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)) {
|
@@ -19071,10 +19060,9 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
19071
19060
|
eventSubject: 'viewImageCarouselStart',
|
19072
19061
|
eventDescription: 'User start view the image carousel',
|
19073
19062
|
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 : '',
|
19074
|
-
|
19075
|
-
contentName: (_h = item === null || item === void 0 ? void 0 : item.video.title) !== null && _h !== void 0 ? _h : '',
|
19063
|
+
contentName: (_e = item === null || item === void 0 ? void 0 : item.video.title) !== null && _e !== void 0 ? _e : '',
|
19076
19064
|
imageStartTime: `${startTime}`,
|
19077
|
-
contentTags: JSON.stringify((
|
19065
|
+
contentTags: JSON.stringify((_f = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _f !== void 0 ? _f : []),
|
19078
19066
|
position: activeIndex + '',
|
19079
19067
|
contentFormat: 'image',
|
19080
19068
|
traceInfo: item === null || item === void 0 ? void 0 : item.video.traceInfo,
|
@@ -19084,11 +19072,11 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
19084
19072
|
if (enableCapi) {
|
19085
19073
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
19086
19074
|
eventName: 'ViewContent',
|
19087
|
-
product: (
|
19075
|
+
product: (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.bindProduct
|
19088
19076
|
});
|
19089
19077
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
19090
19078
|
eventName: 'PageView',
|
19091
|
-
product: (
|
19079
|
+
product: (_h = item === null || item === void 0 ? void 0 : item.video) === null || _h === void 0 ? void 0 : _h.bindProduct
|
19092
19080
|
});
|
19093
19081
|
}
|
19094
19082
|
}
|
@@ -19241,7 +19229,7 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
19241
19229
|
}, []);
|
19242
19230
|
const PAUSE_ICON = useIconLink('/pb_static/06f28a2025c74c1cb49be6767316d827.png');
|
19243
19231
|
const handlePlaying = React.useCallback(() => {
|
19244
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o
|
19232
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
19245
19233
|
setIsPauseVideo(false);
|
19246
19234
|
const item = data[index];
|
19247
19235
|
if (item && ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.duration)) {
|
@@ -19254,15 +19242,14 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
19254
19242
|
eventSubject: 'playVideo',
|
19255
19243
|
eventDescription: 'User played the video',
|
19256
19244
|
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 : '',
|
19257
|
-
|
19258
|
-
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 : '',
|
19245
|
+
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 : '',
|
19259
19246
|
playType,
|
19260
19247
|
startTime: videoCurrentTime,
|
19261
19248
|
videoDuration,
|
19262
|
-
contentTags: JSON.stringify((
|
19249
|
+
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 : []),
|
19263
19250
|
position: index + '',
|
19264
19251
|
contentFormat: 'video',
|
19265
|
-
traceInfo: (
|
19252
|
+
traceInfo: (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
|
19266
19253
|
}
|
19267
19254
|
});
|
19268
19255
|
setIsFirstPlay(false);
|
@@ -19301,7 +19288,7 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
19301
19288
|
}
|
19302
19289
|
}, [isLoadFinish]);
|
19303
19290
|
const onPause = React.useCallback(() => {
|
19304
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o
|
19291
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
19305
19292
|
const item = data[index];
|
19306
19293
|
const videoDuration = ((_b = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.duration) !== null && _b !== void 0 ? _b : 0).toFixed(2);
|
19307
19294
|
const videoCurrentTime = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.currentTime) !== null && _d !== void 0 ? _d : 0).toFixed(2);
|
@@ -19312,15 +19299,14 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
|
|
19312
19299
|
eventSubject: 'playOverVideo',
|
19313
19300
|
eventDescription: 'User finished playing the video',
|
19314
19301
|
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 : '',
|
19315
|
-
|
19316
|
-
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 : '',
|
19302
|
+
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 : '',
|
19317
19303
|
endTime: videoCurrentTime,
|
19318
19304
|
videoDuration,
|
19319
19305
|
playDuration,
|
19320
|
-
contentTags: JSON.stringify((
|
19306
|
+
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 : []),
|
19321
19307
|
position: index + '',
|
19322
19308
|
contentFormat: 'video',
|
19323
|
-
traceInfo: (
|
19309
|
+
traceInfo: (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
|
19324
19310
|
}
|
19325
19311
|
});
|
19326
19312
|
}
|