pb-sxp-ui 1.16.18 → 1.16.20
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 +186 -218
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +186 -218
- package/dist/index.js.map +1 -1
- package/dist/index.min.cjs +6 -6
- package/dist/index.min.cjs.map +1 -1
- package/dist/index.min.js +6 -6
- package/dist/index.min.js.map +1 -1
- package/dist/pb-ui.js +186 -218
- package/dist/pb-ui.js.map +1 -1
- package/dist/pb-ui.min.js +6 -6
- package/dist/pb-ui.min.js.map +1 -1
- package/es/core/components/DiyPortalPreview/VideoWidget.js +8 -10
- package/es/core/components/SxpPageRender/LikeButton/index.js +15 -17
- package/es/core/components/SxpPageRender/PictureGroup/index.d.ts +0 -5
- package/es/core/components/SxpPageRender/PictureGroup/index.js +13 -39
- package/es/core/components/SxpPageRender/VideoWidget/index.js +45 -32
- package/es/core/components/SxpPageRender/WaterFall/index.js +3 -4
- package/es/core/components/SxpPageRender/index.js +37 -53
- package/es/core/context/SxpDataSourceProvider.d.ts +0 -1
- package/es/core/context/SxpDataSourceProvider.js +59 -53
- package/es/core/hooks/useEventReport.js +5 -6
- package/lib/core/components/DiyPortalPreview/VideoWidget.js +8 -10
- package/lib/core/components/SxpPageRender/LikeButton/index.js +15 -17
- package/lib/core/components/SxpPageRender/PictureGroup/index.d.ts +0 -5
- package/lib/core/components/SxpPageRender/PictureGroup/index.js +12 -38
- package/lib/core/components/SxpPageRender/VideoWidget/index.js +45 -32
- package/lib/core/components/SxpPageRender/WaterFall/index.js +3 -4
- package/lib/core/components/SxpPageRender/index.js +37 -53
- package/lib/core/context/SxpDataSourceProvider.d.ts +0 -1
- package/lib/core/context/SxpDataSourceProvider.js +59 -53
- package/lib/core/hooks/useEventReport.js +5 -6
- package/package.json +1 -1
@@ -42,7 +42,6 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
42
42
|
const skipLinkRef = useRef(false);
|
43
43
|
const [pageNum, setPageNum] = useState(2);
|
44
44
|
const videoWidgetRef = useRef(null);
|
45
|
-
const pictureGroupRef = useRef(null);
|
46
45
|
const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink, isShowConsent, selectTag, isPreview, isEditor, cacheRtcList, setRtcList, cacheActiveIndex, rtcList, isNoMoreData, channel, refreshFeSession, isDiyH5 } = useSxpDataSource();
|
47
46
|
const { backMainFeed, productView, jumpToWeb } = useEventReport();
|
48
47
|
const isShowFingerTip = useMemo(() => {
|
@@ -90,7 +89,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
90
89
|
(_a = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _a === void 0 ? void 0 : _a.swiper.slideTo(index);
|
91
90
|
}, [data, ctaType, swiperRef]);
|
92
91
|
const handleSessionCompleted = useCallback((fk) => {
|
93
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v
|
92
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
|
94
93
|
const item = data === null || data === void 0 ? void 0 : data[activeIndex];
|
95
94
|
let fromKName = '';
|
96
95
|
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))) {
|
@@ -117,13 +116,12 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
117
116
|
eventSubject: 'sessionCompleted',
|
118
117
|
eventDescription: 'Session completed',
|
119
118
|
contentId: (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.itemId,
|
120
|
-
|
121
|
-
productId: (_r = item === null || item === void 0 ? void 0 : item.product) === null || _r === void 0 ? void 0 : _r.itemId,
|
119
|
+
productId: (_o = item === null || item === void 0 ? void 0 : item.product) === null || _o === void 0 ? void 0 : _o.itemId,
|
122
120
|
position: activeIndex + '',
|
123
121
|
fromKName: fk || fromKName,
|
124
122
|
fromKPage: location === null || location === void 0 ? void 0 : location.href,
|
125
|
-
ctatId: (
|
126
|
-
traceInfo: (
|
123
|
+
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 : '',
|
124
|
+
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 : ''
|
127
125
|
}
|
128
126
|
});
|
129
127
|
}, [data, bffEventReport, activeIndex, popupDetailData, tempMap, isFromHashtag, curTime]);
|
@@ -179,9 +177,8 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
179
177
|
refreshFeSession
|
180
178
|
]);
|
181
179
|
const handleSessionExpire = useCallback(debounce(() => {
|
182
|
-
var _a
|
180
|
+
var _a;
|
183
181
|
(_a = videoWidgetRef.current) === null || _a === void 0 ? void 0 : _a.setLoopPlay(false);
|
184
|
-
(_b = pictureGroupRef.current) === null || _b === void 0 ? void 0 : _b.setLoopPlay(false);
|
185
182
|
refreshFeSession === null || refreshFeSession === void 0 ? void 0 : refreshFeSession(false, handleSessionCompleted);
|
186
183
|
}, 1000), [handleSessionCompleted, refreshFeSession]);
|
187
184
|
useEffect(() => {
|
@@ -251,18 +248,18 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
251
248
|
return null;
|
252
249
|
}, [globalConfig, activeIndex, visList]);
|
253
250
|
const renderContent = useCallback((rec, index) => {
|
254
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
251
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
255
252
|
if (rec === 'organic menu') {
|
256
253
|
return (React.createElement(MultiPosts, 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)));
|
257
254
|
}
|
258
|
-
if ((
|
255
|
+
if ((_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.url) {
|
259
256
|
return (React.createElement(VideoWidget, 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 })));
|
260
257
|
}
|
261
|
-
if ((
|
262
|
-
return (React.createElement(PictureGroup,
|
258
|
+
if ((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.imgUrls) {
|
259
|
+
return (React.createElement(PictureGroup, { 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 }));
|
263
260
|
}
|
264
|
-
if (rec.product && Array.isArray(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) && ((
|
265
|
-
return (
|
261
|
+
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) {
|
262
|
+
return (_k = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _k === void 0 ? void 0 : _k.map((value, idx) => {
|
266
263
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
267
264
|
const t = resolver[(_a = value === null || value === void 0 ? void 0 : value.item) === null || _a === void 0 ? void 0 : _a.type];
|
268
265
|
const Component = withBindDataSource(t);
|
@@ -300,7 +297,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
300
297
|
};
|
301
298
|
}, [isShowMore]);
|
302
299
|
const renderBottom = useCallback((rec, index) => {
|
303
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q
|
300
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
304
301
|
if (rec === null || rec === void 0 ? void 0 : rec.video) {
|
305
302
|
let cta = null;
|
306
303
|
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) {
|
@@ -309,27 +306,24 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
309
306
|
else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
|
310
307
|
cta = '商品CTA';
|
311
308
|
}
|
312
|
-
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)) {
|
313
|
-
cta = '服务CTA';
|
314
|
-
}
|
315
309
|
else {
|
316
|
-
cta = (
|
310
|
+
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;
|
317
311
|
}
|
318
312
|
const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
|
319
313
|
const isNineProduct = (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.nineProductEnable) &&
|
320
314
|
index === ((rtcList === null || rtcList === void 0 ? void 0 : rtcList[0]) === 'organic menu' ? 2 : 1) &&
|
321
|
-
((
|
315
|
+
((_f = ['MultiCommodity', 'MultiCommodityDiro', 'MultiCommodityDiroNew']) === null || _f === void 0 ? void 0 : _f.includes((_g = value === null || value === void 0 ? void 0 : value.item) === null || _g === void 0 ? void 0 : _g.type));
|
322
316
|
return (React.createElement(React.Fragment, null,
|
323
317
|
isNineProduct && (React.createElement(RenderCard, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, value: value, isNineProduct: isNineProduct })),
|
324
|
-
((
|
325
|
-
React.createElement("div", { className: 'clc-sxp-bottom', style: { marginBottom: `${(
|
318
|
+
((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.title) && !isShowMore && React.createElement("div", { className: 'clc-sxp-bottom-shadow' }),
|
319
|
+
React.createElement("div", { className: 'clc-sxp-bottom', style: { marginBottom: `${(_j = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _j !== void 0 ? _j : 40}px` } },
|
326
320
|
React.createElement(Nudge, { nudge: nudge }),
|
327
321
|
((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA)) && !isNineProduct ? (React.createElement("div", { className: 'clc-sxp-bottom-card' },
|
328
322
|
React.createElement(RenderCard, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, value: value }))) : null,
|
329
323
|
React.createElement("div", null,
|
330
|
-
React.createElement(ExpandableText, { 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: (
|
324
|
+
React.createElement(ExpandableText, { 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: (_l = (_k = rec === null || rec === void 0 ? void 0 : rec.video) === null || _k === void 0 ? void 0 : _k.title) !== null && _l !== void 0 ? _l : '', 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 }),
|
331
325
|
React.createElement(RenderCard, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'], isActive: index === activeIndex, value: value }),
|
332
|
-
React.createElement(Hashtag, { index: activeIndex, tags: (
|
326
|
+
React.createElement(Hashtag, { index: activeIndex, tags: (_o = (_m = rec === null || rec === void 0 ? void 0 : rec.video) === null || _m === void 0 ? void 0 : _m.hashTags) !== null && _o !== void 0 ? _o : [], itemId: (_p = rec === null || rec === void 0 ? void 0 : rec.video) === null || _p === void 0 ? void 0 : _p.itemId, itemType: ((_q = rec === null || rec === void 0 ? void 0 : rec.video) === null || _q === void 0 ? void 0 : _q.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle, hashTagRightMargin: containerWidth - (hashTagRightMargin !== null && hashTagRightMargin !== void 0 ? hashTagRightMargin : 0) }))),
|
333
327
|
React.createElement(RenderCard, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex, value: value })));
|
334
328
|
}
|
335
329
|
return null;
|
@@ -368,7 +362,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
368
362
|
return null;
|
369
363
|
}, [globalConfig, waterFallData]);
|
370
364
|
const handleViewImageStartEnd = (item) => {
|
371
|
-
var _a, _b, _c, _d, _e, _f
|
365
|
+
var _a, _b, _c, _d, _e, _f;
|
372
366
|
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)) {
|
373
367
|
const endTime = Date.now();
|
374
368
|
const duration = viewImageStartTime.current === 0 ? 0 : (endTime - viewImageStartTime.current) / 1000;
|
@@ -377,11 +371,10 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
377
371
|
eventSubject: 'viewImageCarouselEnd',
|
378
372
|
eventDescription: 'User end view the image carousel',
|
379
373
|
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 : '',
|
380
|
-
|
381
|
-
contentName: (_h = item === null || item === void 0 ? void 0 : item.video.title) !== null && _h !== void 0 ? _h : '',
|
374
|
+
contentName: (_e = item === null || item === void 0 ? void 0 : item.video.title) !== null && _e !== void 0 ? _e : '',
|
382
375
|
imageEndTime: `${endTime}`,
|
383
376
|
playDuration: `${duration}`,
|
384
|
-
contentTags: JSON.stringify((
|
377
|
+
contentTags: JSON.stringify((_f = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _f !== void 0 ? _f : []),
|
385
378
|
position: activeIndex + '',
|
386
379
|
contentFormat: 'image',
|
387
380
|
traceInfo: item === null || item === void 0 ? void 0 : item.video.traceInfo
|
@@ -390,7 +383,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
390
383
|
}
|
391
384
|
};
|
392
385
|
const handleSlideSkip = (item, position) => {
|
393
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x
|
386
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
394
387
|
if (isPreview || waterFallData)
|
395
388
|
return;
|
396
389
|
const t = new Date() - curTime.current;
|
@@ -416,8 +409,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
416
409
|
contentTags: (product === null || product === void 0 ? void 0 : product.tags) ? JSON.stringify(product === null || product === void 0 ? void 0 : product.tags) : '',
|
417
410
|
position: position + '',
|
418
411
|
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 : '',
|
419
|
-
|
420
|
-
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 : '',
|
412
|
+
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 : '',
|
421
413
|
contentFormat
|
422
414
|
}
|
423
415
|
});
|
@@ -427,7 +419,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
427
419
|
}
|
428
420
|
};
|
429
421
|
const handleScrollEvent = (swiper) => {
|
430
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w
|
422
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
431
423
|
const item = data[swiper.previousIndex];
|
432
424
|
if (!item)
|
433
425
|
return;
|
@@ -444,12 +436,11 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
444
436
|
eventSubject: 'scrollDown',
|
445
437
|
eventDescription: 'User scroll down',
|
446
438
|
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 : '',
|
447
|
-
|
448
|
-
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 : '',
|
439
|
+
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 : '',
|
449
440
|
requestId: null,
|
450
|
-
traceInfo: (
|
441
|
+
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 : '',
|
451
442
|
contentFormat,
|
452
|
-
position: ((
|
443
|
+
position: ((_m = swiper.previousIndex) !== null && _m !== void 0 ? _m : 0) + ''
|
453
444
|
}
|
454
445
|
});
|
455
446
|
handleViewImageStartEnd(item);
|
@@ -460,13 +451,12 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
460
451
|
eventInfo: {
|
461
452
|
eventSubject: 'scrollUp',
|
462
453
|
eventDescription: 'User scroll up',
|
463
|
-
contentId: (
|
464
|
-
|
465
|
-
productId: (_x = (_w = item.product) === null || _w === void 0 ? void 0 : _w.itemId) !== null && _x !== void 0 ? _x : '',
|
454
|
+
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 : '',
|
455
|
+
productId: (_r = (_q = item.product) === null || _q === void 0 ? void 0 : _q.itemId) !== null && _r !== void 0 ? _r : '',
|
466
456
|
requestId: null,
|
467
|
-
traceInfo: (
|
457
|
+
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 : '',
|
468
458
|
contentFormat,
|
469
|
-
position: ((
|
459
|
+
position: ((_w = swiper.previousIndex) !== null && _w !== void 0 ? _w : 0) + ''
|
470
460
|
}
|
471
461
|
});
|
472
462
|
handleViewImageStartEnd(item);
|
@@ -490,7 +480,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
490
480
|
}
|
491
481
|
}, [openHashtag, data, activeIndex]);
|
492
482
|
const handleViewImageStartEvent = (activeIndex, imgInfo, enableCapi) => {
|
493
|
-
var _a, _b, _c, _d, _e, _f, _g, _h
|
483
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
494
484
|
const item = data[activeIndex];
|
495
485
|
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)) {
|
496
486
|
const startTime = Date.now();
|
@@ -500,10 +490,9 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
500
490
|
eventSubject: 'viewImageCarouselStart',
|
501
491
|
eventDescription: 'User start view the image carousel',
|
502
492
|
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 : '',
|
503
|
-
|
504
|
-
contentName: (_h = item === null || item === void 0 ? void 0 : item.video.title) !== null && _h !== void 0 ? _h : '',
|
493
|
+
contentName: (_e = item === null || item === void 0 ? void 0 : item.video.title) !== null && _e !== void 0 ? _e : '',
|
505
494
|
imageStartTime: `${startTime}`,
|
506
|
-
contentTags: JSON.stringify((
|
495
|
+
contentTags: JSON.stringify((_f = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _f !== void 0 ? _f : []),
|
507
496
|
position: activeIndex + '',
|
508
497
|
contentFormat: 'image',
|
509
498
|
traceInfo: item === null || item === void 0 ? void 0 : item.video.traceInfo,
|
@@ -513,11 +502,11 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
513
502
|
if (enableCapi) {
|
514
503
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
515
504
|
eventName: 'ViewContent',
|
516
|
-
product: (
|
505
|
+
product: (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.bindProduct
|
517
506
|
});
|
518
507
|
bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
|
519
508
|
eventName: 'PageView',
|
520
|
-
product: (
|
509
|
+
product: (_h = item === null || item === void 0 ? void 0 : item.video) === null || _h === void 0 ? void 0 : _h.bindProduct
|
521
510
|
});
|
522
511
|
}
|
523
512
|
}
|
@@ -609,19 +598,14 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
|
|
609
598
|
swiperRef.current.swiper.allowTouchMove = true;
|
610
599
|
}, 500);
|
611
600
|
}, onActiveIndexChange: (swiper) => {
|
612
|
-
var _a, _b;
|
613
601
|
setActiveIndex(swiper.activeIndex);
|
614
602
|
if (openHashtag)
|
615
603
|
return;
|
616
604
|
handleScrollEvent(swiper);
|
617
|
-
if (waterFallData || isEditor)
|
605
|
+
if (waterFallData || isEditor || isDiyH5)
|
618
606
|
return;
|
619
607
|
if ((swiper === null || swiper === void 0 ? void 0 : swiper.activeIndex) + 1 >= (data === null || data === void 0 ? void 0 : data.length)) {
|
620
608
|
if (!isLoadMore) {
|
621
|
-
if (isDiyH5) {
|
622
|
-
(_a = videoWidgetRef.current) === null || _a === void 0 ? void 0 : _a.setLoopPlay(false);
|
623
|
-
(_b = pictureGroupRef.current) === null || _b === void 0 ? void 0 : _b.setLoopPlay(false);
|
624
|
-
}
|
625
609
|
setIsLoadMore(true);
|
626
610
|
loadVideos === null || loadVideos === void 0 ? void 0 : loadVideos(pageNum).then((res) => {
|
627
611
|
var _a;
|
@@ -93,7 +93,6 @@ export interface ISxpDataSourceContext {
|
|
93
93
|
getAccount?: () => Promise<any>;
|
94
94
|
accountSonsent?: (v: boolean) => Promise<boolean>;
|
95
95
|
isDiyH5?: boolean;
|
96
|
-
firstRtcList?: RecItemType[];
|
97
96
|
}
|
98
97
|
export declare const SxpDataSourceContext: React.Context<ISxpDataSourceContext>;
|
99
98
|
export interface SxpDataSourceProviderProps {
|
@@ -20,7 +20,6 @@ export const DEFAULT_TAG = 'FOR U';
|
|
20
20
|
const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent = true, maxSize, defaultSize, isPreview = false, sxpParameter, appDomain, hashTagSize, loadingImage, isOpenHashTag = false, enabledMetaConversionApi = false, consentHeight, consentWidth, isOpenConsent = false, isEditor = false, utmParameter, channelQueryList, data, dataList, isDiyH5, onUpdateSchema, onUpdateChannel }) => {
|
21
21
|
var _a, _b, _c, _d, _e;
|
22
22
|
const [rtcList, setRtcList] = useState([]);
|
23
|
-
const [firstRtcList, setFirstRtcList] = useState([]);
|
24
23
|
const [tagList, setTagList] = useState([]);
|
25
24
|
const [loading, setLoading] = useState(true);
|
26
25
|
const [curReqInfo, setCurReqInfo] = useState({ rtc: '', requestId: '' });
|
@@ -107,7 +106,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
107
106
|
return ((_a = bffDataSource === null || bffDataSource === void 0 ? void 0 : bffDataSource.headers) === null || _a === void 0 ? void 0 : _a['x-app-id']) + storeAndLoadFeUserId();
|
108
107
|
}, [bffDataSource]);
|
109
108
|
const bffFetch = useCallback((path, options, isBota = true) => {
|
110
|
-
var _a
|
109
|
+
var _a;
|
111
110
|
if (!bffDataSource)
|
112
111
|
return;
|
113
112
|
const url = bffDataSource.url;
|
@@ -123,7 +122,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
123
122
|
params[key] = value;
|
124
123
|
});
|
125
124
|
return window
|
126
|
-
.fetch(`${url}/api/${path}`, Object.assign({ headers: Object.assign({ 'Content-Type': 'application/json', 'x-user-id': fakeUserId
|
125
|
+
.fetch(`${url}/api/${path}`, Object.assign({ headers: Object.assign({ 'Content-Type': 'application/json', 'x-user-id': fakeUserId }, bffDataSource.headers), method: options.method, body: options.type === 'beacon' && isBota
|
127
126
|
? JSON.stringify({
|
128
127
|
body: btoa(encodeURIComponent(JSON.stringify(Object.assign(Object.assign(Object.assign({}, options.body), bffDataSource.headers), { 'x-user-id': fakeUserId }))))
|
129
128
|
})
|
@@ -243,45 +242,64 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
243
242
|
console.error('解析请求URL失败:', error);
|
244
243
|
return _originalFetch.apply(this, arguments_1);
|
245
244
|
}
|
246
|
-
if (!url.includes('https://www.google-analytics.com/g/collect')) {
|
247
|
-
return _originalFetch.apply(this, arguments_1);
|
248
|
-
}
|
249
245
|
try {
|
250
246
|
const response = _originalFetch.apply(this, arguments_1);
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
247
|
+
if (url.includes('https://i.giesswein.com/nb-collector')) {
|
248
|
+
if ((init === null || init === void 0 ? void 0 : init.method) === 'POST' && typeof (init === null || init === void 0 ? void 0 : init.body) === 'string') {
|
249
|
+
try {
|
250
|
+
const payload = JSON.parse(init.body);
|
251
|
+
if (payload && Array.isArray(payload.data)) {
|
252
|
+
payload.data.forEach((item) => {
|
253
|
+
if (item && item.e) {
|
254
|
+
bffCollectEvent({
|
255
|
+
eventName: item.e,
|
256
|
+
eventSource: 'Northbeam Pixel'
|
257
|
+
});
|
258
|
+
}
|
259
|
+
});
|
260
|
+
}
|
264
261
|
}
|
265
|
-
|
266
|
-
|
267
|
-
let match;
|
268
|
-
while ((match = regex.exec(queryString)) !== null) {
|
269
|
-
matches.push(decodeURIComponent(match[1]));
|
262
|
+
catch (e) {
|
263
|
+
console.error('Failed to parse Northbeam event', e);
|
270
264
|
}
|
271
|
-
return matches;
|
272
265
|
}
|
273
|
-
|
274
|
-
|
266
|
+
}
|
267
|
+
if (url.includes('https://www.google-analytics.com/g/collect')) {
|
268
|
+
const urlObj = new URL(url);
|
269
|
+
const params = Object.fromEntries(urlObj.searchParams.entries());
|
270
|
+
const body = (_a = arguments_1[1]) === null || _a === void 0 ? void 0 : _a.body;
|
271
|
+
if (params === null || params === void 0 ? void 0 : params.en) {
|
275
272
|
bffCollectEvent({
|
276
|
-
eventName: en,
|
273
|
+
eventName: params === null || params === void 0 ? void 0 : params.en,
|
277
274
|
eventSource: 'Google Analytics'
|
278
275
|
});
|
279
|
-
}
|
276
|
+
}
|
277
|
+
else if (body) {
|
278
|
+
function extractAllEnValuesSplit(queryString) {
|
279
|
+
if (typeof queryString !== 'string') {
|
280
|
+
return [];
|
281
|
+
}
|
282
|
+
const matches = [];
|
283
|
+
const regex = /en=([^&\r\n]*)/g;
|
284
|
+
let match;
|
285
|
+
while ((match = regex.exec(queryString)) !== null) {
|
286
|
+
matches.push(decodeURIComponent(match[1]));
|
287
|
+
}
|
288
|
+
return matches;
|
289
|
+
}
|
290
|
+
const enValues = extractAllEnValuesSplit(body);
|
291
|
+
enValues === null || enValues === void 0 ? void 0 : enValues.forEach((en) => {
|
292
|
+
bffCollectEvent({
|
293
|
+
eventName: en,
|
294
|
+
eventSource: 'Google Analytics'
|
295
|
+
});
|
296
|
+
});
|
297
|
+
}
|
280
298
|
}
|
281
299
|
return response;
|
282
300
|
}
|
283
301
|
catch (error) {
|
284
|
-
console.error(
|
302
|
+
console.error(error);
|
285
303
|
throw error;
|
286
304
|
}
|
287
305
|
});
|
@@ -345,9 +363,6 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
345
363
|
if ((rtcList === null || rtcList === void 0 ? void 0 : rtcList.length) === 0) {
|
346
364
|
setRtcList(getFilterRecList(Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list })));
|
347
365
|
setCacheRtcList(getFilterRecList(Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list })));
|
348
|
-
if (isDiyH5) {
|
349
|
-
setFirstRtcList(getFilterRecList(Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list })));
|
350
|
-
}
|
351
366
|
}
|
352
367
|
const isNotNullList = (_0 = (_z = result === null || result === void 0 ? void 0 : result.data) === null || _z === void 0 ? void 0 : _z.recList) === null || _0 === void 0 ? void 0 : _0.some((item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video));
|
353
368
|
if (isNotNullList) {
|
@@ -387,17 +402,12 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
387
402
|
if (rtcList.length <= 0) {
|
388
403
|
return;
|
389
404
|
}
|
390
|
-
if (isDiyH5 && (firstRtcList === null || firstRtcList === void 0 ? void 0 : firstRtcList.length) > 0) {
|
391
|
-
setRtcList(rtcList.concat(firstRtcList));
|
392
|
-
setCacheRtcList(cacheRtcList.concat(firstRtcList));
|
393
|
-
return;
|
394
|
-
}
|
395
405
|
const lastItem = rtcList === null || rtcList === void 0 ? void 0 : rtcList[(rtcList === null || rtcList === void 0 ? void 0 : rtcList.length) - 1];
|
396
406
|
const data = yield getRecommendVideos(Object.assign(Object.assign(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag }, (((_1 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _1 === void 0 ? void 0 : _1.itemId) && { productFilter: [(_2 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _2 === void 0 ? void 0 : _2.itemId] })), (((_3 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _3 === void 0 ? void 0 : _3.itemId) && { contentFilter: [(_4 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _4 === void 0 ? void 0 : _4.itemId] })), { themeTag: themeTag.current }), ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) && !isEditor && { pageNum })));
|
397
407
|
setRtcList(rtcList.concat(getFilterRecList(data)));
|
398
408
|
setCacheRtcList(cacheRtcList.concat(getFilterRecList(data)));
|
399
409
|
return data;
|
400
|
-
}), [getRecommendVideos, rtcList, waterFallData, cacheRtcList
|
410
|
+
}), [getRecommendVideos, rtcList, waterFallData, cacheRtcList]);
|
401
411
|
const refreshFeSession = useCallback((enableReSid, event) => {
|
402
412
|
var _a, _b, _c, _d, _e;
|
403
413
|
let expire = false;
|
@@ -522,7 +532,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
522
532
|
return jsonParams;
|
523
533
|
}, [fakeUserId]);
|
524
534
|
const bffFbReport = useCallback(({ eventName, product }) => {
|
525
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
535
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
526
536
|
if (!enableReportEvent || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview)) {
|
527
537
|
return;
|
528
538
|
}
|
@@ -569,18 +579,21 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
569
579
|
if ((snapchatPixelEventParamsJson === null || snapchatPixelEventParamsJson === void 0 ? void 0 : snapchatPixelEventParamsJson.event_name) && typeof (window === null || window === void 0 ? void 0 : window.snaptr) === 'function') {
|
570
580
|
window === null || window === void 0 ? void 0 : window.snaptr('track', snapchatPixelEventParamsJson === null || snapchatPixelEventParamsJson === void 0 ? void 0 : snapchatPixelEventParamsJson.event_name, getEventParamsByJson(snapchatPixelEventParamsJson, product));
|
571
581
|
}
|
572
|
-
|
582
|
+
if (eventName === 'PageView' && typeof (window === null || window === void 0 ? void 0 : window.Northbeam) === 'object' && typeof ((_f = window === null || window === void 0 ? void 0 : window.Northbeam) === null || _f === void 0 ? void 0 : _f.trackPageView) === 'function') {
|
583
|
+
window === null || window === void 0 ? void 0 : window.Northbeam.trackPageView();
|
584
|
+
}
|
585
|
+
const converApiEventParamsJson = (_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.converApi) === null || _g === void 0 ? void 0 : _g[eventName];
|
573
586
|
if (enabledMetaConversionApi && converApiEventParamsJson) {
|
574
587
|
const body = getEventParamsByJson(converApiEventParamsJson, product);
|
575
588
|
const params = {};
|
576
589
|
const queryString = location.search.slice(1);
|
577
|
-
(
|
590
|
+
(_h = splitUrlParams(queryString)) === null || _h === void 0 ? void 0 : _h.forEach((val) => {
|
578
591
|
const key = val.split('=')[0];
|
579
592
|
const value = val.split('=')[1];
|
580
593
|
params[key] = value;
|
581
594
|
});
|
582
595
|
const cl_source = params === null || params === void 0 ? void 0 : params.cl_source;
|
583
|
-
bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch(`v2/fb/${(
|
596
|
+
bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch(`v2/fb/${(_j = bffDataSource === null || bffDataSource === void 0 ? void 0 : bffDataSource.headers) === null || _j === void 0 ? void 0 : _j['x-app-id']}/${eventName}${cl_source ? `/${decodeURIComponent(cl_source)}` : ''}`, {
|
584
597
|
method: 'POST',
|
585
598
|
body,
|
586
599
|
type: 'beacon'
|
@@ -618,7 +631,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
618
631
|
}
|
619
632
|
}), [bffFetch, utmVal]);
|
620
633
|
const ctaEvent = useCallback((eventInfo, rec, product, position) => {
|
621
|
-
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
|
634
|
+
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;
|
622
635
|
const cta = product === null || product === void 0 ? void 0 : product.bindCta;
|
623
636
|
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);
|
624
637
|
let fromKName = '';
|
@@ -636,7 +649,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
636
649
|
}
|
637
650
|
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;
|
638
651
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
639
|
-
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 : '',
|
652
|
+
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 })
|
640
653
|
});
|
641
654
|
}, [bffEventReport, isFromHashtag]);
|
642
655
|
const h5EnterLink = useCallback(() => {
|
@@ -738,9 +751,6 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
738
751
|
}
|
739
752
|
setRtcList(list);
|
740
753
|
setCacheRtcList(list);
|
741
|
-
if (isDiyH5) {
|
742
|
-
setFirstRtcList(list);
|
743
|
-
}
|
744
754
|
bffGetTagList(curData !== null && curData !== void 0 ? curData : finalPageData);
|
745
755
|
if (channel) {
|
746
756
|
const item = list === null || list === void 0 ? void 0 : list[0];
|
@@ -775,9 +785,6 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
775
785
|
}
|
776
786
|
setRtcList(list);
|
777
787
|
setCacheRtcList(list);
|
778
|
-
if (isDiyH5) {
|
779
|
-
setFirstRtcList(list);
|
780
|
-
}
|
781
788
|
}
|
782
789
|
})
|
783
790
|
.finally(() => {
|
@@ -841,8 +848,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
|
|
841
848
|
refreshFeSession,
|
842
849
|
getAccount,
|
843
850
|
accountSonsent,
|
844
|
-
isDiyH5
|
845
|
-
firstRtcList
|
851
|
+
isDiyH5
|
846
852
|
} }, isShowConsent ? (React.createElement(Consent, Object.assign({}, (_e = (_d = (_c = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.consent) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.item) === null || _e === void 0 ? void 0 : _e.props))) : (render({
|
847
853
|
rtcList,
|
848
854
|
mutateLike: bffMutateLike,
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { useCallback } from 'react';
|
2
|
-
import { DEFAULT_TAG } from '../context/SxpDataSourceProvider';
|
3
2
|
import { useSxpDataSource } from './useSxpDataSource';
|
3
|
+
import { DEFAULT_TAG } from '../context/SxpDataSourceProvider';
|
4
4
|
export function useEventReport() {
|
5
5
|
const { bffEventReport, popupDetailData, isFromHashtag, eventTimeList, setEventTimeList } = useSxpDataSource();
|
6
6
|
const jumpToWeb = useCallback((e, data, product, cta, position, traceInfo) => {
|
7
|
-
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
|
7
|
+
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;
|
8
8
|
const i = eventTimeList === null || eventTimeList === void 0 ? void 0 : eventTimeList.findIndex((item) => item.target === (e === null || e === void 0 ? void 0 : e.target));
|
9
9
|
if (i !== -1) {
|
10
10
|
return;
|
@@ -37,11 +37,11 @@ export function useEventReport() {
|
|
37
37
|
contentFormat = 'image';
|
38
38
|
}
|
39
39
|
bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
|
40
|
-
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 : '',
|
40
|
+
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 }))
|
41
41
|
});
|
42
42
|
}, [bffEventReport, popupDetailData, isFromHashtag, eventTimeList]);
|
43
43
|
const productView = useCallback((data, product, cta, viewTime, position) => {
|
44
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p
|
44
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
45
45
|
let fromKName = '';
|
46
46
|
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))) {
|
47
47
|
fromKName = 'pdpPage';
|
@@ -60,9 +60,8 @@ export function useEventReport() {
|
|
60
60
|
contentTags: JSON.stringify(product === null || product === void 0 ? void 0 : product.tags),
|
61
61
|
position: position + '',
|
62
62
|
contentId: (_d = data === null || data === void 0 ? void 0 : data.video) === null || _d === void 0 ? void 0 : _d.itemId,
|
63
|
-
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 : '',
|
64
63
|
ctatId: cta === null || cta === void 0 ? void 0 : cta.itemId,
|
65
|
-
traceInfo: (
|
64
|
+
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 : '',
|
66
65
|
timeOnSite: Math.floor((new Date() - viewTime) / 1000) + '',
|
67
66
|
eventSubject: 'productView',
|
68
67
|
eventDescription: 'User browsed the product'
|