pb-sxp-ui 1.17.0 → 1.18.0

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.
Files changed (84) hide show
  1. package/dist/index.cjs +396 -324
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.css +7 -15
  4. package/dist/index.js +396 -324
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.cjs +6 -6
  7. package/dist/index.min.cjs.map +1 -1
  8. package/dist/index.min.js +6 -6
  9. package/dist/index.min.js.map +1 -1
  10. package/dist/pb-ui.js +396 -324
  11. package/dist/pb-ui.js.map +1 -1
  12. package/dist/pb-ui.min.js +6 -6
  13. package/dist/pb-ui.min.js.map +1 -1
  14. package/es/core/components/DiyPortalPreview/VideoWidget.js +10 -8
  15. package/es/core/components/DiyPortalPreview/index.js +3 -5
  16. package/es/core/components/DiyStoryPreview/index.js +18 -7
  17. package/es/core/components/SxpPageRender/ExpandableText.js +2 -2
  18. package/es/core/components/SxpPageRender/LikeButton/index.js +18 -16
  19. package/es/core/components/SxpPageRender/PictureGroup/index.d.ts +5 -0
  20. package/es/core/components/SxpPageRender/PictureGroup/index.js +39 -13
  21. package/es/core/components/SxpPageRender/RenderCard.d.ts +1 -0
  22. package/es/core/components/SxpPageRender/RenderCard.js +2 -14
  23. package/es/core/components/SxpPageRender/VideoWidget/index.js +32 -45
  24. package/es/core/components/SxpPageRender/WaterFall/index.js +4 -3
  25. package/es/core/components/SxpPageRender/index.js +57 -41
  26. package/es/core/context/SxpDataSourceProvider.d.ts +5 -12
  27. package/es/core/context/SxpDataSourceProvider.js +62 -35
  28. package/es/core/hooks/useEventReport.js +6 -5
  29. package/es/materials/sxp/consentPopup/Display/index.js +1 -1
  30. package/es/materials/sxp/cta/AniLinkPopup/material.js +3 -2
  31. package/es/materials/sxp/popup/CommodityDetail/material.js +2 -1
  32. package/es/materials/sxp/popup/CommodityList/index.js +5 -4
  33. package/es/materials/sxp/popup/CommodityList/material.js +1 -1
  34. package/es/materials/sxp/popup/CommodityList/settingRender.js +1 -1
  35. package/es/materials/sxp/template/Appoint/material.js +2 -1
  36. package/es/materials/sxp/template/Commodity/material.js +3 -2
  37. package/es/materials/sxp/template/CommodityDiro/material.js +3 -2
  38. package/es/materials/sxp/template/CommodityDiroNew/material.js +4 -2
  39. package/es/materials/sxp/template/Link/material.js +4 -2
  40. package/es/materials/sxp/template/MultiCommodity/index.js +1 -1
  41. package/es/materials/sxp/template/MultiCommodity/material.js +2 -1
  42. package/es/materials/sxp/template/MultiCommodityDiro/index.js +1 -1
  43. package/es/materials/sxp/template/MultiCommodityDiro/material.js +3 -2
  44. package/es/materials/sxp/template/MultiCommodityDiroNew/index.js +1 -1
  45. package/es/materials/sxp/template/MultiCommodityDiroNew/material.js +4 -2
  46. package/es/materials/sxp/template/NineCommodity/material.js +3 -2
  47. package/es/materials/sxp/template/components/CommodityGroup.js +1 -1
  48. package/es/materials/sxp/template/components/settingRender.js +1 -1
  49. package/lib/core/components/DiyPortalPreview/VideoWidget.js +10 -8
  50. package/lib/core/components/DiyPortalPreview/index.js +3 -5
  51. package/lib/core/components/DiyStoryPreview/index.js +18 -7
  52. package/lib/core/components/SxpPageRender/ExpandableText.js +2 -2
  53. package/lib/core/components/SxpPageRender/LikeButton/index.js +18 -16
  54. package/lib/core/components/SxpPageRender/PictureGroup/index.d.ts +5 -0
  55. package/lib/core/components/SxpPageRender/PictureGroup/index.js +38 -12
  56. package/lib/core/components/SxpPageRender/RenderCard.d.ts +1 -0
  57. package/lib/core/components/SxpPageRender/RenderCard.js +2 -14
  58. package/lib/core/components/SxpPageRender/VideoWidget/index.js +32 -45
  59. package/lib/core/components/SxpPageRender/WaterFall/index.js +4 -3
  60. package/lib/core/components/SxpPageRender/index.js +57 -41
  61. package/lib/core/context/SxpDataSourceProvider.d.ts +5 -12
  62. package/lib/core/context/SxpDataSourceProvider.js +62 -35
  63. package/lib/core/hooks/useEventReport.js +6 -5
  64. package/lib/materials/sxp/consentPopup/Display/index.js +1 -1
  65. package/lib/materials/sxp/cta/AniLinkPopup/material.js +2 -1
  66. package/lib/materials/sxp/popup/CommodityDetail/material.js +2 -1
  67. package/lib/materials/sxp/popup/CommodityList/index.js +5 -4
  68. package/lib/materials/sxp/popup/CommodityList/material.js +1 -1
  69. package/lib/materials/sxp/popup/CommodityList/settingRender.js +1 -1
  70. package/lib/materials/sxp/template/Appoint/material.js +2 -1
  71. package/lib/materials/sxp/template/Commodity/material.js +3 -2
  72. package/lib/materials/sxp/template/CommodityDiro/material.js +3 -2
  73. package/lib/materials/sxp/template/CommodityDiroNew/material.js +4 -2
  74. package/lib/materials/sxp/template/Link/material.js +4 -2
  75. package/lib/materials/sxp/template/MultiCommodity/index.js +1 -1
  76. package/lib/materials/sxp/template/MultiCommodity/material.js +2 -1
  77. package/lib/materials/sxp/template/MultiCommodityDiro/index.js +1 -1
  78. package/lib/materials/sxp/template/MultiCommodityDiro/material.js +3 -2
  79. package/lib/materials/sxp/template/MultiCommodityDiroNew/index.js +1 -1
  80. package/lib/materials/sxp/template/MultiCommodityDiroNew/material.js +4 -2
  81. package/lib/materials/sxp/template/NineCommodity/material.js +3 -2
  82. package/lib/materials/sxp/template/components/CommodityGroup.js +1 -1
  83. package/lib/materials/sxp/template/components/settingRender.js +1 -1
  84. package/package.json +1 -1
@@ -20,6 +20,7 @@ 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([]);
23
24
  const [tagList, setTagList] = useState([]);
24
25
  const [loading, setLoading] = useState(true);
25
26
  const [curReqInfo, setCurReqInfo] = useState({ rtc: '', requestId: '' });
@@ -50,6 +51,10 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
50
51
  const [chatlabsId, setChatlabsId] = useState();
51
52
  const finalPageData = useMemo(() => pageData !== null && pageData !== void 0 ? pageData : data, [pageData, data]);
52
53
  const pixelPvStatusRef = useRef(false);
54
+ const isDiyPage = useMemo(() => {
55
+ var _a, _b, _c;
56
+ return isDiyH5 && !((_c = (_b = (_a = finalPageData === null || finalPageData === void 0 ? void 0 : finalPageData.data) === null || _a === void 0 ? void 0 : _a.sxpPageConf) === null || _b === void 0 ? void 0 : _b.globalConfig) === null || _c === void 0 ? void 0 : _c.enablePreview);
57
+ }, [isDiyH5, finalPageData]);
53
58
  const isShowConsent = useMemo(() => {
54
59
  var _a, _b, _c, _d;
55
60
  return (((((_d = (_c = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.consent) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.item) === null || _c === void 0 ? void 0 : _c.props) === null || _d === void 0 ? void 0 : _d.privacy_necessity) && !isAgreePolicy && !isEditor) || isOpenConsent) &&
@@ -106,7 +111,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
106
111
  return ((_a = bffDataSource === null || bffDataSource === void 0 ? void 0 : bffDataSource.headers) === null || _a === void 0 ? void 0 : _a['x-app-id']) + storeAndLoadFeUserId();
107
112
  }, [bffDataSource]);
108
113
  const bffFetch = useCallback((path, options, isBota = true) => {
109
- var _a;
114
+ var _a, _b;
110
115
  if (!bffDataSource)
111
116
  return;
112
117
  const url = bffDataSource.url;
@@ -121,8 +126,9 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
121
126
  const value = val.split('=')[1];
122
127
  params[key] = value;
123
128
  });
129
+ options.body = Object.assign(Object.assign({}, options.body), { productUserId: fakeUserId });
124
130
  return window
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
131
+ .fetch(`${url}/api/${path}`, Object.assign({ headers: Object.assign({ 'Content-Type': 'application/json', 'x-user-id': fakeUserId, 'tenant-id': (_b = bffDataSource === null || bffDataSource === void 0 ? void 0 : bffDataSource.headers) === null || _b === void 0 ? void 0 : _b['x-app-id'] }, bffDataSource.headers), method: options.method, body: options.type === 'beacon' && isBota
126
132
  ? JSON.stringify({
127
133
  body: btoa(encodeURIComponent(JSON.stringify(Object.assign(Object.assign(Object.assign({}, options.body), bffDataSource.headers), { 'x-user-id': fakeUserId }))))
128
134
  })
@@ -343,8 +349,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
343
349
  .catch((err) => Promise.reject(err));
344
350
  }, [bffDataSource]);
345
351
  const getRecommendVideos = useCallback((query) => __awaiter(void 0, void 0, void 0, function* () {
346
- var _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
347
- query = Object.assign(Object.assign({ maxSize: (_f = query === null || query === void 0 ? void 0 : query.maxSize) !== null && _f !== void 0 ? _f : maxSize, defaultSize: (_g = query === null || query === void 0 ? void 0 : query.defaultSize) !== null && _g !== void 0 ? _g : defaultSize, hashTag: query === null || query === void 0 ? void 0 : query.hashTag, traceInfo: query === null || query === void 0 ? void 0 : query.traceInfo, themeTag: query === null || query === void 0 ? void 0 : query.themeTag, pageNum: query === null || query === void 0 ? void 0 : query.pageNum, contentFilter: query === null || query === void 0 ? void 0 : query.contentFilter, productFilter: query === null || query === void 0 ? void 0 : query.productFilter }, (chatlabsId && { chatlabsId })), (isDiyH5 && { type: 'story' }));
352
+ var _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
353
+ query = Object.assign(Object.assign({ maxSize: (_f = query === null || query === void 0 ? void 0 : query.maxSize) !== null && _f !== void 0 ? _f : maxSize, defaultSize: (_g = query === null || query === void 0 ? void 0 : query.defaultSize) !== null && _g !== void 0 ? _g : defaultSize, hashTag: query === null || query === void 0 ? void 0 : query.hashTag, traceInfo: query === null || query === void 0 ? void 0 : query.traceInfo, themeTag: query === null || query === void 0 ? void 0 : query.themeTag, pageNum: query === null || query === void 0 ? void 0 : query.pageNum, contentFilter: query === null || query === void 0 ? void 0 : query.contentFilter, productFilter: query === null || query === void 0 ? void 0 : query.productFilter }, (chatlabsId && { chatlabsId })), (isDiyPage && { type: 'story' }));
348
354
  if (channel) {
349
355
  query = Object.assign(Object.assign({}, query), { channel: decodeURIComponent(channel) });
350
356
  }
@@ -357,9 +363,10 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
357
363
  if (val)
358
364
  query = Object.assign(Object.assign({}, query), { channel: decodeURIComponent(val) });
359
365
  }
366
+ const isDiy = isDiyH5 && ((_o = (_m = (_l = finalPageData === null || finalPageData === void 0 ? void 0 : finalPageData.data) === null || _l === void 0 ? void 0 : _l.sxpPageConf) === null || _m === void 0 ? void 0 : _m.globalConfig) === null || _o === void 0 ? void 0 : _o.enablePreview);
360
367
  if (isEditor) {
361
368
  let pageNum = 1;
362
- query = Object.assign(Object.assign(Object.assign({}, query), { directPage: true, level: 1 }), (!utmVal && channelQueryList && (channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList.length) > 0 && { channel: channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList[0] }));
369
+ query = Object.assign(Object.assign(Object.assign(Object.assign({}, query), { directPage: true, level: 1 }), (!utmVal && channelQueryList && (channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList.length) > 0 && { channel: channelQueryList === null || channelQueryList === void 0 ? void 0 : channelQueryList[0] })), (isDiy && { maxRecs: query === null || query === void 0 ? void 0 : query.maxSize }));
363
370
  if (!(query === null || query === void 0 ? void 0 : query.channel) || isInit.current) {
364
371
  return undefined;
365
372
  }
@@ -367,19 +374,22 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
367
374
  let list = [];
368
375
  let result = null;
369
376
  const recurveRecList = (query) => __awaiter(void 0, void 0, void 0, function* () {
370
- var _v, _w, _x, _y, _z, _0;
377
+ var _y, _z, _0, _1, _2, _3;
371
378
  query.pageNum = pageNum;
372
- result = yield (bffFetchAdmin === null || bffFetchAdmin === void 0 ? void 0 : bffFetchAdmin('recommend/direct_page', { method: 'POST', body: query }));
379
+ result = isDiy ? yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v3/recommend/direct/page/view', { method: 'POST', body: query })) : yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('recommend/direct_page', { method: 'POST', body: query }));
373
380
  if (!(result === null || result === void 0 ? void 0 : result.success)) {
374
381
  return undefined;
375
382
  }
376
383
  setLoading(false);
377
- list = list.concat((_y = (_x = (_w = (_v = result === null || result === void 0 ? void 0 : result.data) === null || _v === void 0 ? void 0 : _v.recList) === null || _w === void 0 ? void 0 : _w.filter) === null || _x === void 0 ? void 0 : _x.call(_w, (item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video))) !== null && _y !== void 0 ? _y : []);
384
+ list = list.concat((_1 = (_0 = (_z = (_y = result === null || result === void 0 ? void 0 : result.data) === null || _y === void 0 ? void 0 : _y.recList) === null || _z === void 0 ? void 0 : _z.filter) === null || _0 === void 0 ? void 0 : _0.call(_z, (item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video))) !== null && _1 !== void 0 ? _1 : []);
378
385
  if ((rtcList === null || rtcList === void 0 ? void 0 : rtcList.length) === 0) {
379
386
  setRtcList(getFilterRecList(Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list })));
380
387
  setCacheRtcList(getFilterRecList(Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list })));
388
+ if (isDiyPage) {
389
+ setFirstRtcList(getFilterRecList(Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list })));
390
+ }
381
391
  }
382
- 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));
392
+ const isNotNullList = (_3 = (_2 = result === null || result === void 0 ? void 0 : result.data) === null || _2 === void 0 ? void 0 : _2.recList) === null || _3 === void 0 ? void 0 : _3.some((item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video));
383
393
  if (isNotNullList) {
384
394
  pageNum = pageNum + 1;
385
395
  yield recurveRecList(query);
@@ -387,13 +397,13 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
387
397
  });
388
398
  yield recurveRecList(query);
389
399
  if (!(query === null || query === void 0 ? void 0 : query.hashTag) && result)
390
- setCurReqInfo({ rtc: (_l = result === null || result === void 0 ? void 0 : result.data) === null || _l === void 0 ? void 0 : _l.rtc, requestId: (_m = result === null || result === void 0 ? void 0 : result.data) === null || _m === void 0 ? void 0 : _m.requestId });
400
+ setCurReqInfo({ rtc: (_p = result === null || result === void 0 ? void 0 : result.data) === null || _p === void 0 ? void 0 : _p.rtc, requestId: (_q = result === null || result === void 0 ? void 0 : result.data) === null || _q === void 0 ? void 0 : _q.requestId });
391
401
  return Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list });
392
402
  }
393
403
  if (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) {
394
- query = Object.assign(Object.assign({}, query), { directPage: true, level: 1, pageNum: (_o = query === null || query === void 0 ? void 0 : query.pageNum) !== null && _o !== void 0 ? _o : 1 });
404
+ query = Object.assign(Object.assign(Object.assign({}, query), { directPage: true, level: 1, pageNum: (_r = query === null || query === void 0 ? void 0 : query.pageNum) !== null && _r !== void 0 ? _r : 1 }), (isDiy && { maxRecs: query === null || query === void 0 ? void 0 : query.maxSize }));
395
405
  }
396
- const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/list', {
406
+ const result = isDiy ? yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v3/recommend/direct/page/view', { method: 'POST', body: query })) : yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/list', {
397
407
  method: 'POST',
398
408
  body: query
399
409
  }));
@@ -403,26 +413,31 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
403
413
  if (!(query === null || query === void 0 ? void 0 : query.hashTag))
404
414
  setCurReqInfo({ rtc: result.data.rtc, requestId: result.data.requestId });
405
415
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) && !isEditor) {
406
- const isNotNullList = (_q = (_p = result === null || result === void 0 ? void 0 : result.data) === null || _p === void 0 ? void 0 : _p.recList) === null || _q === void 0 ? void 0 : _q.some((item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video));
416
+ const isNotNullList = (_t = (_s = result === null || result === void 0 ? void 0 : result.data) === null || _s === void 0 ? void 0 : _s.recList) === null || _t === void 0 ? void 0 : _t.some((item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video));
407
417
  if (!isNotNullList) {
408
418
  setIsNoMoreData(true);
409
419
  }
410
420
  }
411
421
  let list = [];
412
- list = list.concat((_u = (_t = (_s = (_r = result === null || result === void 0 ? void 0 : result.data) === null || _r === void 0 ? void 0 : _r.recList) === null || _s === void 0 ? void 0 : _s.filter) === null || _t === void 0 ? void 0 : _t.call(_s, (item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video))) !== null && _u !== void 0 ? _u : []);
422
+ list = list.concat((_x = (_w = (_v = (_u = result === null || result === void 0 ? void 0 : result.data) === null || _u === void 0 ? void 0 : _u.recList) === null || _v === void 0 ? void 0 : _v.filter) === null || _w === void 0 ? void 0 : _w.call(_v, (item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video))) !== null && _x !== void 0 ? _x : []);
413
423
  return Object.assign(Object.assign({}, result.data), { recList: list });
414
- }), [bffFetch, utmVal, maxSize, defaultSize, channelQueryList, channel, chatlabsId, bffFetchAdmin]);
424
+ }), [bffFetch, utmVal, maxSize, defaultSize, channelQueryList, channel, chatlabsId, bffFetchAdmin, isDiyPage, finalPageData, isDiyH5]);
415
425
  const loadVideos = useCallback((pageNum) => __awaiter(void 0, void 0, void 0, function* () {
416
- var _1, _2, _3, _4;
426
+ var _4, _5, _6, _7;
417
427
  if (rtcList.length <= 0) {
418
428
  return;
419
429
  }
430
+ if (isDiyPage && (firstRtcList === null || firstRtcList === void 0 ? void 0 : firstRtcList.length) > 0) {
431
+ setRtcList(rtcList.concat(firstRtcList));
432
+ setCacheRtcList(cacheRtcList.concat(firstRtcList));
433
+ return;
434
+ }
420
435
  const lastItem = rtcList === null || rtcList === void 0 ? void 0 : rtcList[(rtcList === null || rtcList === void 0 ? void 0 : rtcList.length) - 1];
421
- 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 })));
436
+ const data = yield getRecommendVideos(Object.assign(Object.assign(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag }, (((_4 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _4 === void 0 ? void 0 : _4.itemId) && { productFilter: [(_5 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _5 === void 0 ? void 0 : _5.itemId] })), (((_6 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _6 === void 0 ? void 0 : _6.itemId) && { contentFilter: [(_7 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _7 === void 0 ? void 0 : _7.itemId] })), { themeTag: themeTag.current }), ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) && !isEditor && { pageNum })));
422
437
  setRtcList(rtcList.concat(getFilterRecList(data)));
423
438
  setCacheRtcList(cacheRtcList.concat(getFilterRecList(data)));
424
439
  return data;
425
- }), [getRecommendVideos, rtcList, waterFallData, cacheRtcList]);
440
+ }), [getRecommendVideos, rtcList, waterFallData, cacheRtcList, isDiyPage, firstRtcList]);
426
441
  const refreshFeSession = useCallback((enableReSid, event) => {
427
442
  var _a, _b, _c, _d, _e;
428
443
  let expire = false;
@@ -450,7 +465,9 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
450
465
  return;
451
466
  }
452
467
  if (!userInfo) {
453
- userInfo = {};
468
+ userInfo = {
469
+ productUserId: fakeUserId
470
+ };
454
471
  }
455
472
  const sessionID = storeAndLoadFeSessionId();
456
473
  const params = {};
@@ -483,7 +500,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
483
500
  layoutVariantId,
484
501
  globalConfig,
485
502
  playbookType,
486
- bffDataSource
503
+ bffDataSource,
504
+ fakeUserId
487
505
  ]);
488
506
  const getEventParamsByJson = useCallback((json, product) => {
489
507
  var _a, _b, _c;
@@ -616,37 +634,39 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
616
634
  }
617
635
  }, [bffFetch, enableReportEvent, enabledMetaConversionApi, globalConfig, bffDataSource, getEventParamsByJson]);
618
636
  const bffMutateLike = useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
637
+ body = Object.assign(Object.assign({}, body), { productUserId: fakeUserId });
619
638
  const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/like', { method: 'POST', body }));
620
639
  return res === null || res === void 0 ? void 0 : res.success;
621
- }), [bffFetch]);
640
+ }), [bffFetch, fakeUserId]);
622
641
  const bffMutateUnlike = useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
642
+ body = Object.assign(Object.assign({}, body), { productUserId: fakeUserId });
623
643
  const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/unlike', { method: 'POST', body }));
624
644
  return res === null || res === void 0 ? void 0 : res.success;
625
- }), [bffFetch]);
645
+ }), [bffFetch, fakeUserId]);
626
646
  const bffSubmitForm = useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
627
647
  const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/customform', { method: 'POST', body }));
628
648
  return res === null || res === void 0 ? void 0 : res.success;
629
649
  }), [bffFetch]);
630
650
  const bffGetTagList = useCallback((data) => __awaiter(void 0, void 0, void 0, function* () {
631
- var _5, _6, _7, _8, _9, _10, _11, _12;
632
- const isShowTag = !!((_7 = (_6 = (_5 = data === null || data === void 0 ? void 0 : data.data) === null || _5 === void 0 ? void 0 : _5.sxpPageConf) === null || _6 === void 0 ? void 0 : _6.globalConfig) === null || _7 === void 0 ? void 0 : _7.isShowTag);
651
+ var _8, _9, _10, _11, _12, _13, _14, _15;
652
+ const isShowTag = !!((_10 = (_9 = (_8 = data === null || data === void 0 ? void 0 : data.data) === null || _8 === void 0 ? void 0 : _8.sxpPageConf) === null || _9 === void 0 ? void 0 : _9.globalConfig) === null || _10 === void 0 ? void 0 : _10.isShowTag);
633
653
  if (!utmVal || !isShowTag)
634
654
  return;
635
655
  try {
636
- const val = (_10 = (_9 = (_8 = splitUrlParams(utmVal)) === null || _8 === void 0 ? void 0 : _8.filter((val) => {
656
+ const val = (_13 = (_12 = (_11 = splitUrlParams(utmVal)) === null || _11 === void 0 ? void 0 : _11.filter((val) => {
637
657
  var _a, _b;
638
658
  const key = val.split('=')[0];
639
659
  return (_b = ((_a = utmParameter === null || utmParameter === void 0 ? void 0 : utmParameter.channels) !== null && _a !== void 0 ? _a : [])) === null || _b === void 0 ? void 0 : _b.includes(key);
640
- })) === null || _9 === void 0 ? void 0 : _9.join('&')) !== null && _10 !== void 0 ? _10 : '';
660
+ })) === null || _12 === void 0 ? void 0 : _12.join('&')) !== null && _13 !== void 0 ? _13 : '';
641
661
  const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/tag/list', { method: 'GET', query: { channel: decodeURIComponent(val) } }));
642
- setTagList((_12 = (_11 = result === null || result === void 0 ? void 0 : result.data) === null || _11 === void 0 ? void 0 : _11.tags) !== null && _12 !== void 0 ? _12 : []);
662
+ setTagList((_15 = (_14 = result === null || result === void 0 ? void 0 : result.data) === null || _14 === void 0 ? void 0 : _14.tags) !== null && _15 !== void 0 ? _15 : []);
643
663
  }
644
664
  catch (e) {
645
665
  console.log('e', e);
646
666
  }
647
667
  }), [bffFetch, utmVal]);
648
668
  const ctaEvent = useCallback((eventInfo, rec, product, position) => {
649
- 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;
669
+ 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, _14;
650
670
  const cta = product === null || product === void 0 ? void 0 : product.bindCta;
651
671
  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);
652
672
  let fromKName = '';
@@ -664,7 +684,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
664
684
  }
665
685
  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;
666
686
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
667
- 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 })
687
+ 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 : '', sceneId: (_x = (_w = (_v = rec === null || rec === void 0 ? void 0 : rec.video) === null || _v === void 0 ? void 0 : _v.scene) === null || _w === void 0 ? void 0 : _w.sceneId) !== null && _x !== void 0 ? _x : '', productId: isProd ? product === null || product === void 0 ? void 0 : product.itemId : '', traceInfo: (_13 = (_10 = (_5 = (_1 = (_y = cta === null || cta === void 0 ? void 0 : cta.traceInfo) !== null && _y !== void 0 ? _y : (_0 = (_z = rec === null || rec === void 0 ? void 0 : rec.video) === null || _z === void 0 ? void 0 : _z.bindCta) === null || _0 === void 0 ? void 0 : _0.traceInfo) !== null && _1 !== void 0 ? _1 : (_4 = (_3 = (_2 = rec === null || rec === void 0 ? void 0 : rec.video) === null || _2 === void 0 ? void 0 : _2.bindProduct) === null || _3 === void 0 ? void 0 : _3.bindCta) === null || _4 === void 0 ? void 0 : _4.traceInfo) !== null && _5 !== void 0 ? _5 : (_9 = (_8 = (_7 = (_6 = rec === null || rec === void 0 ? void 0 : rec.video) === null || _6 === void 0 ? void 0 : _6.bindProducts) === null || _7 === void 0 ? void 0 : _7[0]) === null || _8 === void 0 ? void 0 : _8.bindCta) === null || _9 === void 0 ? void 0 : _9.traceInfo) !== null && _10 !== void 0 ? _10 : (_12 = (_11 = rec === null || rec === void 0 ? void 0 : rec.product) === null || _11 === void 0 ? void 0 : _11.bindCta) === null || _12 === void 0 ? void 0 : _12.traceInfo) !== null && _13 !== void 0 ? _13 : '', fromKName, fromKPage: (_14 = location === null || location === void 0 ? void 0 : location.href) !== null && _14 !== void 0 ? _14 : '', contentFormat })
668
688
  });
669
689
  }, [bffEventReport, isFromHashtag]);
670
690
  const h5EnterLink = useCallback(() => {
@@ -699,10 +719,10 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
699
719
  });
700
720
  }, [bffEventReport]);
701
721
  const getAccount = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
702
- var _13, _14;
722
+ var _16, _17;
703
723
  const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/account', { method: 'GET' }));
704
- setChatlabsId((_13 = res === null || res === void 0 ? void 0 : res.data) === null || _13 === void 0 ? void 0 : _13.chatLabsId);
705
- return ((_14 = res === null || res === void 0 ? void 0 : res.data) === null || _14 === void 0 ? void 0 : _14.consentResult) === 'true';
724
+ setChatlabsId((_16 = res === null || res === void 0 ? void 0 : res.data) === null || _16 === void 0 ? void 0 : _16.chatLabsId);
725
+ return ((_17 = res === null || res === void 0 ? void 0 : res.data) === null || _17 === void 0 ? void 0 : _17.consentResult) === 'true';
706
726
  }), [bffFetch]);
707
727
  const accountSonsent = useCallback((consentResult) => __awaiter(void 0, void 0, void 0, function* () {
708
728
  const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/account/consent', {
@@ -766,6 +786,9 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
766
786
  }
767
787
  setRtcList(list);
768
788
  setCacheRtcList(list);
789
+ if (isDiyPage) {
790
+ setFirstRtcList(list);
791
+ }
769
792
  bffGetTagList(curData !== null && curData !== void 0 ? curData : finalPageData);
770
793
  if (channel) {
771
794
  const item = list === null || list === void 0 ? void 0 : list[0];
@@ -785,7 +808,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
785
808
  });
786
809
  setLoading(false);
787
810
  });
788
- }, [isShowConsent, channel]);
811
+ }, [isShowConsent, channel, isDiyPage]);
789
812
  useEffect(() => {
790
813
  if (!isPreview)
791
814
  return;
@@ -800,12 +823,15 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
800
823
  }
801
824
  setRtcList(list);
802
825
  setCacheRtcList(list);
826
+ if (isDiyPage) {
827
+ setFirstRtcList(list);
828
+ }
803
829
  }
804
830
  })
805
831
  .finally(() => {
806
832
  setLoading(false);
807
833
  });
808
- }, [getRecommendVideos, bffGetTagList, channel]);
834
+ }, [getRecommendVideos, bffGetTagList, channel, isDiyPage]);
809
835
  const defaultLoadingImage = useIconLink('/pb_static/a65d23c5893c49d7aaaa81681d3179e2.gif', appDomain);
810
836
  return (React.createElement(SxpDataSourceContext.Provider, { value: {
811
837
  rtcList,
@@ -863,7 +889,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
863
889
  refreshFeSession,
864
890
  getAccount,
865
891
  accountSonsent,
866
- isDiyH5
892
+ isDiyH5: isDiyPage,
893
+ firstRtcList
867
894
  } }, 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({
868
895
  rtcList,
869
896
  mutateLike: bffMutateLike,
@@ -1,10 +1,10 @@
1
1
  import { useCallback } from 'react';
2
- import { useSxpDataSource } from './useSxpDataSource';
3
2
  import { DEFAULT_TAG } from '../context/SxpDataSourceProvider';
3
+ import { useSxpDataSource } from './useSxpDataSource';
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, _14, _15, _16;
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 : '', 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 }))
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 : '', sceneId: (_2 = (_1 = (_0 = data === null || data === void 0 ? void 0 : data.video) === null || _0 === void 0 ? void 0 : _0.scene) === null || _1 === void 0 ? void 0 : _1.sceneId) !== null && _2 !== void 0 ? _2 : '', ctatId: (_3 = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _3 !== void 0 ? _3 : '', traceInfo: (_16 = (_13 = (_11 = (_7 = (_4 = traceInfo !== null && traceInfo !== void 0 ? traceInfo : product === null || product === void 0 ? void 0 : product.traceInfo) !== null && _4 !== void 0 ? _4 : (_6 = (_5 = data === null || data === void 0 ? void 0 : data.video) === null || _5 === void 0 ? void 0 : _5.bindProduct) === null || _6 === void 0 ? void 0 : _6.traceInfo) !== null && _7 !== void 0 ? _7 : (_10 = (_9 = (_8 = data === null || data === void 0 ? void 0 : data.video) === null || _8 === void 0 ? void 0 : _8.bindProducts) === null || _9 === void 0 ? void 0 : _9[0]) === null || _10 === void 0 ? void 0 : _10.traceInfo) !== null && _11 !== void 0 ? _11 : (_12 = data === null || data === void 0 ? void 0 : data.product) === null || _12 === void 0 ? void 0 : _12.traceInfo) !== null && _13 !== void 0 ? _13 : (_15 = (_14 = data === null || data === void 0 ? void 0 : data.video) === null || _14 === void 0 ? void 0 : _14.bindCta) === null || _15 === void 0 ? void 0 : _15.traceInfo) !== null && _16 !== void 0 ? _16 : '' }, (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, _q, _r, _s;
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,8 +60,9 @@ 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 : '',
63
64
  ctatId: cta === null || cta === void 0 ? void 0 : cta.itemId,
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 : '',
65
+ traceInfo: (_s = (_q = (_l = (_h = product === null || product === void 0 ? void 0 : product.traceInfo) !== null && _h !== void 0 ? _h : (_k = (_j = data === null || data === void 0 ? void 0 : data.video) === null || _j === void 0 ? void 0 : _j.bindProduct) === null || _k === void 0 ? void 0 : _k.traceInfo) !== null && _l !== void 0 ? _l : (_p = (_o = (_m = data === null || data === void 0 ? void 0 : data.video) === null || _m === void 0 ? void 0 : _m.bindProducts) === null || _o === void 0 ? void 0 : _o[0]) === null || _p === void 0 ? void 0 : _p.traceInfo) !== null && _q !== void 0 ? _q : (_r = data === null || data === void 0 ? void 0 : data.product) === null || _r === void 0 ? void 0 : _r.traceInfo) !== null && _s !== void 0 ? _s : '',
65
66
  timeOnSite: Math.floor((new Date() - viewTime) / 1000) + '',
66
67
  eventSubject: 'productView',
67
68
  eventDescription: 'User browsed the product'
@@ -26,7 +26,7 @@ const Display = (_a) => {
26
26
  React.createElement("span", { style: content === null || content === void 0 ? void 0 : content.style, dangerouslySetInnerHTML: {
27
27
  __html: setFontForText((_b = content === null || content === void 0 ? void 0 : content.text) === null || _b === void 0 ? void 0 : _b.replace(/\n/g, '</br>'), content === null || content === void 0 ? void 0 : content.style)
28
28
  } }),
29
- React.createElement("span", { style: Object.assign(Object.assign({}, interaction === null || interaction === void 0 ? void 0 : interaction.style), { marginInlineEnd: '5px' }), dangerouslySetInnerHTML: {
29
+ React.createElement("span", { style: Object.assign(Object.assign({}, interaction === null || interaction === void 0 ? void 0 : interaction.style), { marginLeft: '5px' }), dangerouslySetInnerHTML: {
30
30
  __html: setFontForText((_c = interaction === null || interaction === void 0 ? void 0 : interaction.text) === null || _c === void 0 ? void 0 : _c.replace(/\n/g, '</br>'), interaction === null || interaction === void 0 ? void 0 : interaction.style)
31
31
  }, onClick: handleClick })),
32
32
  isShowClose && (React.createElement("button", { "aria-label": 'close', className: 'consentPopupDisplay-close', onClick: handleClickClose },
@@ -1,14 +1,14 @@
1
1
  import settingRender from './settingRender';
2
- import interactionRender from './interactionRender';
3
2
  import AniLinkPopupComponent from '.';
4
3
  import { createMaterial } from '../../../../core/create';
4
+ import interactionRender from './interactionRender';
5
5
  const AniLinkPopup = createMaterial(AniLinkPopupComponent, {
6
6
  displayName: '竖版弹窗CTA',
7
7
  icon: '',
8
8
  category: 'cta',
9
9
  type: 'AniLinkPopup',
10
10
  related: {
11
- settingRender,
11
+ settingRender: settingRender,
12
12
  bindableProps: [],
13
13
  interactionRender
14
14
  },
@@ -24,6 +24,7 @@ const AniLinkPopup = createMaterial(AniLinkPopupComponent, {
24
24
  title: {
25
25
  fontSize: 14,
26
26
  color: '#000',
27
+ textAlign: 'left',
27
28
  lineHeight: 2.6
28
29
  },
29
30
  ctaTitle: {
@@ -1,7 +1,7 @@
1
1
  import settingRender from './settingRender';
2
- import interactionRender from './interactionRender';
3
2
  import CommodityDetailComponent from '.';
4
3
  import { createMaterial } from '../../../../core/create';
4
+ import interactionRender from './interactionRender';
5
5
  const CommodityDetail = createMaterial(CommodityDetailComponent, {
6
6
  displayName: '商品详情',
7
7
  icon: '',
@@ -40,6 +40,7 @@ const CommodityDetail = createMaterial(CommodityDetailComponent, {
40
40
  taxInfo: {
41
41
  color: '#000',
42
42
  fontSize: 13,
43
+ textAlign: 'left',
43
44
  marginBottom: '10px'
44
45
  }
45
46
  },
@@ -1,12 +1,12 @@
1
1
  import { __rest } from "tslib";
2
2
  import { css } from '@emotion/css';
3
3
  import React, { memo, useCallback, useEffect } from 'react';
4
- import { throttle } from 'lodash';
5
- import Img from '../../template/components/Img';
6
4
  import { useEditor, useSxpDataSource } from '../../../../core/hooks';
7
5
  import './index.less';
8
6
  import { useEventReport } from '../../../../core/hooks/useEventReport';
9
7
  import { setFontForText } from '../../../../core/utils/tool';
8
+ import Img from '../../template/components/Img';
9
+ import { throttle } from 'lodash';
10
10
  import { getPriceText } from '../../../../core/utils/materials';
11
11
  const CommodityList = (_a) => {
12
12
  var _b, _c, _d;
@@ -53,11 +53,12 @@ const CommodityList = (_a) => {
53
53
  React.createElement("button", Object.assign({ role: 'button', "aria-label": item === null || item === void 0 ? void 0 : item.title, tabIndex: 0, className: css({
54
54
  display: 'flex',
55
55
  alignItems: 'normal',
56
- width: '100%'
56
+ width: '100%',
57
+ textAlign: 'left'
57
58
  }) }, props),
58
59
  React.createElement(Img, { src: (_d = (_c = (_a = item === null || item === void 0 ? void 0 : item.cover) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.homePage) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, rec: recData, item: item, index: index, translateY: translateY, imgStyle: commodityPicture, enableEventReport: false }),
59
60
  React.createElement("div", { style: {
60
- width: `calc(100% - ${(_e = commodityPicture === null || commodityPicture === void 0 ? void 0 : commodityPicture.width) !== null && _e !== void 0 ? _e : 0}px - ${(_f = commodityPicture === null || commodityPicture === void 0 ? void 0 : commodityPicture.marginInlineStart) !== null && _f !== void 0 ? _f : 0}px)`,
61
+ width: `calc(100% - ${(_e = commodityPicture === null || commodityPicture === void 0 ? void 0 : commodityPicture.width) !== null && _e !== void 0 ? _e : 0}px - ${(_f = commodityPicture === null || commodityPicture === void 0 ? void 0 : commodityPicture.marginRight) !== null && _f !== void 0 ? _f : 0}px)`,
61
62
  display: 'flex',
62
63
  flexDirection: 'column',
63
64
  justifyContent: 'space-between'
@@ -16,7 +16,7 @@ const CommodityList = createMaterial(CommodityListComponent, {
16
16
  commodityPicture: {
17
17
  width: 100,
18
18
  height: 100,
19
- marginInlineStart: 10
19
+ marginRight: 10
20
20
  },
21
21
  commodityStyles: {
22
22
  price: {
@@ -71,7 +71,7 @@ export default [
71
71
  type: 'Number',
72
72
  label: '与右侧边距',
73
73
  addonAfter: 'px',
74
- name: ['props', 'commodityPicture', 'marginInlineStart']
74
+ name: ['props', 'commodityPicture', 'marginRight']
75
75
  },
76
76
  {
77
77
  label: '居中垂直偏移',
@@ -19,11 +19,12 @@ const Appoint = createMaterial(AppointComponent, {
19
19
  borderRadius: 3,
20
20
  width: 30,
21
21
  height: 30,
22
- marginInlineStart: 8
22
+ marginRight: 8
23
23
  },
24
24
  ctaTitle: {
25
25
  fontSize: 12,
26
26
  color: '#fff',
27
+ textAlign: 'left',
27
28
  width: 130,
28
29
  height: 20
29
30
  }
@@ -19,11 +19,12 @@ const Commodity = createMaterial(CommodityComponent, {
19
19
  borderRadius: 3,
20
20
  width: 60,
21
21
  height: 60,
22
- marginInlineStart: 8
22
+ marginRight: 8
23
23
  },
24
24
  title: {
25
25
  fontSize: 12,
26
- color: '#fff'
26
+ color: '#fff',
27
+ textAlign: 'left'
27
28
  },
28
29
  ctaTitle: {
29
30
  fontSize: 10,
@@ -19,11 +19,12 @@ const CommodityDiro = createMaterial(CommodityDiroComponent, {
19
19
  borderRadius: 3,
20
20
  width: 60,
21
21
  height: 60,
22
- marginInlineStart: 8
22
+ marginRight: 8
23
23
  },
24
24
  title: {
25
25
  fontSize: 12,
26
- color: '#000'
26
+ color: '#000',
27
+ textAlign: 'left'
27
28
  },
28
29
  ctaTitle: {
29
30
  fontSize: 10,
@@ -19,17 +19,19 @@ const CommodityDiroNew = createMaterial(CommodityDiroNewComponent, {
19
19
  borderRadius: 8,
20
20
  width: 78,
21
21
  height: 78,
22
- marginInlineStart: 16
22
+ marginRight: 16
23
23
  },
24
24
  title: {
25
25
  fontSize: 13,
26
- color: '#000'
26
+ color: '#000',
27
+ textAlign: 'left'
27
28
  },
28
29
  ctaTitle: {
29
30
  textDecoration: 'underline',
30
31
  fontSize: 14,
31
32
  fontWeight: 'bold',
32
33
  color: '#000',
34
+ textAlign: 'left',
33
35
  width: 150,
34
36
  height: 20
35
37
  }
@@ -1,9 +1,9 @@
1
1
  var _a;
2
2
  import settingRender from '../components/settingRender';
3
3
  import linkSettingRender from './settingRender';
4
- import interactionRender from './interactionRender';
5
4
  import LinkComponent from '.';
6
5
  import { createMaterial } from '../../../../core/create';
6
+ import interactionRender from './interactionRender';
7
7
  const Link = createMaterial(LinkComponent, {
8
8
  displayName: '普通CTA',
9
9
  icon: '',
@@ -21,17 +21,19 @@ const Link = createMaterial(LinkComponent, {
21
21
  borderRadius: 3,
22
22
  width: 60,
23
23
  height: 60,
24
- marginInlineStart: 8
24
+ marginRight: 8
25
25
  },
26
26
  ctaTitle: {
27
27
  fontSize: 12,
28
28
  color: '#fff',
29
+ textAlign: 'left',
29
30
  width: 130,
30
31
  height: 20
31
32
  }
32
33
  },
33
34
  customTitle: {
34
35
  style: {
36
+ textAlign: 'left',
35
37
  textDecoration: 'underline',
36
38
  fontWeight: 'bold',
37
39
  width: 130,
@@ -15,7 +15,7 @@ const MultiCommodity = (_a) => {
15
15
  const [products] = useState((_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProducts) !== null && _c !== void 0 ? _c : [1, 2]);
16
16
  return (React.createElement(Scroll, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
17
17
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
18
- return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginInlineEnd: 0, marginInlineStart: '8px' })), tag: 'li', role: 'listitem' },
18
+ return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginLeft: 0, marginRight: '8px' })), tag: 'li', role: 'listitem' },
19
19
  React.createElement(EventProvider, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
20
20
  React.createElement(Img, { src: (_d = (_c = (_a = item === null || item === void 0 ? void 0 : item.cover) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.homePage) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, rec: recData, item: item, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
21
21
  React.createElement("div", { className: css({
@@ -19,11 +19,12 @@ const MultiCommodity = createMaterial(MultiCommodityComponent, {
19
19
  borderRadius: 3,
20
20
  width: 60,
21
21
  height: 60,
22
- marginInlineStart: 8
22
+ marginRight: 8
23
23
  },
24
24
  title: {
25
25
  fontSize: 12,
26
26
  color: '#fff',
27
+ textAlign: 'left'
27
28
  },
28
29
  ctaTitle: {
29
30
  fontSize: 10,
@@ -15,7 +15,7 @@ const MultiCommodityDiro = (_a) => {
15
15
  const [products] = useState((_c = (_b = recData === null || recData === void 0 ? void 0 : recData.video) === null || _b === void 0 ? void 0 : _b.bindProducts) !== null && _c !== void 0 ? _c : [1, 2]);
16
16
  return (React.createElement(Scroll, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
17
17
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
18
- return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginInlineEnd: 0, marginInlineStart: '8px' })), tag: 'li', role: 'listitem' },
18
+ return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginLeft: 0, marginRight: '8px' })), tag: 'li', role: 'listitem' },
19
19
  React.createElement(EventProvider, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
20
20
  React.createElement(Img, { src: (_d = (_c = (_a = item === null || item === void 0 ? void 0 : item.cover) !== null && _a !== void 0 ? _a : (_b = item === null || item === void 0 ? void 0 : item.homePage) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : sxpParameter === null || sxpParameter === void 0 ? void 0 : sxpParameter.bottom_image) !== null && _d !== void 0 ? _d : bottom_image, rec: recData, item: item, index: index, translateY: translateY, imgStyle: ctaTempStyles === null || ctaTempStyles === void 0 ? void 0 : ctaTempStyles.img, isActive: isActive }),
21
21
  React.createElement("div", { className: css({