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
package/dist/index.cjs CHANGED
@@ -644,6 +644,7 @@ const DEFAULT_TAG = 'FOR U';
644
644
  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 }) => {
645
645
  var _a, _b, _c, _d, _e;
646
646
  const [rtcList, setRtcList] = React.useState([]);
647
+ const [firstRtcList, setFirstRtcList] = React.useState([]);
647
648
  const [tagList, setTagList] = React.useState([]);
648
649
  const [loading, setLoading] = React.useState(true);
649
650
  const [curReqInfo, setCurReqInfo] = React.useState({ rtc: '', requestId: '' });
@@ -675,6 +676,10 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
675
676
  const [chatlabsId, setChatlabsId] = React.useState();
676
677
  const finalPageData = React.useMemo(() => pageData !== null && pageData !== void 0 ? pageData : data, [pageData, data]);
677
678
  const pixelPvStatusRef = React.useRef(false);
679
+ const isDiyPage = React.useMemo(() => {
680
+ var _a, _b, _c;
681
+ 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);
682
+ }, [isDiyH5, finalPageData]);
678
683
  const isShowConsent = React.useMemo(() => {
679
684
  var _a, _b, _c, _d;
680
685
  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) &&
@@ -737,7 +742,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
737
742
  }, [bffDataSource]);
738
743
  // bff API 请求方法
739
744
  const bffFetch = React.useCallback((path, options, isBota = true) => {
740
- var _a;
745
+ var _a, _b;
741
746
  if (!bffDataSource)
742
747
  return;
743
748
  const url = bffDataSource.url;
@@ -750,8 +755,9 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
750
755
  val.split('=')[0];
751
756
  val.split('=')[1];
752
757
  });
758
+ options.body = Object.assign(Object.assign({}, options.body), { productUserId: fakeUserId });
753
759
  return window
754
- .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
760
+ .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
755
761
  ? JSON.stringify({
756
762
  body: btoa(encodeURIComponent(JSON.stringify(Object.assign(Object.assign(Object.assign({}, options.body), bffDataSource.headers), { 'x-user-id': fakeUserId }))))
757
763
  })
@@ -991,8 +997,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
991
997
  }, [bffDataSource]);
992
998
  // 获取推荐视频数据
993
999
  const getRecommendVideos = React.useCallback((query) => __awaiter(void 0, void 0, void 0, function* () {
994
- var _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
995
- 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' }));
1000
+ var _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
1001
+ 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' }));
996
1002
  if (channel) {
997
1003
  query = Object.assign(Object.assign({}, query), { channel: decodeURIComponent(channel) });
998
1004
  }
@@ -1005,9 +1011,10 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1005
1011
  if (val)
1006
1012
  query = Object.assign(Object.assign({}, query), { channel: decodeURIComponent(val) });
1007
1013
  }
1014
+ 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);
1008
1015
  if (isEditor) {
1009
1016
  let pageNum = 1;
1010
- 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] }));
1017
+ 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 }));
1011
1018
  if (!(query === null || query === void 0 ? void 0 : query.channel) || isInit.current) {
1012
1019
  return undefined;
1013
1020
  }
@@ -1015,19 +1022,22 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1015
1022
  let list = [];
1016
1023
  let result = null;
1017
1024
  const recurveRecList = (query) => __awaiter(void 0, void 0, void 0, function* () {
1018
- var _v, _w, _x, _y, _z, _0;
1025
+ var _y, _z, _0, _1, _2, _3;
1019
1026
  query.pageNum = pageNum;
1020
- result = yield (bffFetchAdmin === null || bffFetchAdmin === void 0 ? void 0 : bffFetchAdmin('recommend/direct_page', { method: 'POST', body: query }));
1027
+ 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 }));
1021
1028
  if (!(result === null || result === void 0 ? void 0 : result.success)) {
1022
1029
  return undefined;
1023
1030
  }
1024
1031
  setLoading(false);
1025
- 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 : []);
1032
+ 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 : []);
1026
1033
  if ((rtcList === null || rtcList === void 0 ? void 0 : rtcList.length) === 0) {
1027
1034
  setRtcList(getFilterRecList(Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list })));
1028
1035
  setCacheRtcList(getFilterRecList(Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list })));
1036
+ if (isDiyPage) {
1037
+ setFirstRtcList(getFilterRecList(Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list })));
1038
+ }
1029
1039
  }
1030
- 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));
1040
+ 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));
1031
1041
  if (isNotNullList) {
1032
1042
  pageNum = pageNum + 1;
1033
1043
  yield recurveRecList(query);
@@ -1035,13 +1045,13 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1035
1045
  });
1036
1046
  yield recurveRecList(query);
1037
1047
  if (!(query === null || query === void 0 ? void 0 : query.hashTag) && result)
1038
- 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 });
1048
+ 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 });
1039
1049
  return Object.assign(Object.assign({}, result === null || result === void 0 ? void 0 : result.data), { recList: list });
1040
1050
  }
1041
1051
  if (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) {
1042
- 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 });
1052
+ 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 }));
1043
1053
  }
1044
- const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/list', {
1054
+ 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', {
1045
1055
  method: 'POST',
1046
1056
  body: query
1047
1057
  }));
@@ -1051,26 +1061,31 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1051
1061
  if (!(query === null || query === void 0 ? void 0 : query.hashTag))
1052
1062
  setCurReqInfo({ rtc: result.data.rtc, requestId: result.data.requestId });
1053
1063
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) && !isEditor) {
1054
- 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));
1064
+ 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));
1055
1065
  if (!isNotNullList) {
1056
1066
  setIsNoMoreData(true);
1057
1067
  }
1058
1068
  }
1059
1069
  let list = [];
1060
- 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 : []);
1070
+ 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 : []);
1061
1071
  return Object.assign(Object.assign({}, result.data), { recList: list });
1062
- }), [bffFetch, utmVal, maxSize, defaultSize, channelQueryList, channel, chatlabsId, bffFetchAdmin]);
1072
+ }), [bffFetch, utmVal, maxSize, defaultSize, channelQueryList, channel, chatlabsId, bffFetchAdmin, isDiyPage, finalPageData, isDiyH5]);
1063
1073
  const loadVideos = React.useCallback((pageNum) => __awaiter(void 0, void 0, void 0, function* () {
1064
- var _1, _2, _3, _4;
1074
+ var _4, _5, _6, _7;
1065
1075
  if (rtcList.length <= 0) {
1066
1076
  return;
1067
1077
  }
1078
+ if (isDiyPage && (firstRtcList === null || firstRtcList === void 0 ? void 0 : firstRtcList.length) > 0) {
1079
+ setRtcList(rtcList.concat(firstRtcList));
1080
+ setCacheRtcList(cacheRtcList.concat(firstRtcList));
1081
+ return;
1082
+ }
1068
1083
  const lastItem = rtcList === null || rtcList === void 0 ? void 0 : rtcList[(rtcList === null || rtcList === void 0 ? void 0 : rtcList.length) - 1];
1069
- 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 })));
1084
+ 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 })));
1070
1085
  setRtcList(rtcList.concat(getFilterRecList(data)));
1071
1086
  setCacheRtcList(cacheRtcList.concat(getFilterRecList(data)));
1072
1087
  return data;
1073
- }), [getRecommendVideos, rtcList, waterFallData, cacheRtcList]);
1088
+ }), [getRecommendVideos, rtcList, waterFallData, cacheRtcList, isDiyPage, firstRtcList]);
1074
1089
  const refreshFeSession = React.useCallback((enableReSid, event) => {
1075
1090
  var _a, _b, _c, _d, _e;
1076
1091
  let expire = false;
@@ -1101,8 +1116,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1101
1116
  // 用户信息都是公共的
1102
1117
  if (!userInfo) {
1103
1118
  userInfo = {
1104
- // productUserId: fakeUserId, // 后端逻辑会从请求头获取,所以不需要传
1105
- // tpChannelId: 'H5' // 后端处理
1119
+ productUserId: fakeUserId // 后端逻辑会从请求头获取,所以不需要传
1120
+ // tpChannelId: 'H5' // 后端处理
1106
1121
  };
1107
1122
  }
1108
1123
  const sessionID = storeAndLoadFeSessionId();
@@ -1136,7 +1151,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1136
1151
  layoutVariantId,
1137
1152
  globalConfig,
1138
1153
  playbookType,
1139
- bffDataSource
1154
+ bffDataSource,
1155
+ fakeUserId
1140
1156
  ]);
1141
1157
  const getEventParamsByJson = React.useCallback((json, product) => {
1142
1158
  var _a, _b, _c;
@@ -1269,38 +1285,40 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1269
1285
  }
1270
1286
  }, [bffFetch, enableReportEvent, enabledMetaConversionApi, globalConfig, bffDataSource, getEventParamsByJson]);
1271
1287
  const bffMutateLike = React.useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
1288
+ body = Object.assign(Object.assign({}, body), { productUserId: fakeUserId });
1272
1289
  const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/like', { method: 'POST', body }));
1273
1290
  return res === null || res === void 0 ? void 0 : res.success;
1274
- }), [bffFetch]);
1291
+ }), [bffFetch, fakeUserId]);
1275
1292
  const bffMutateUnlike = React.useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
1293
+ body = Object.assign(Object.assign({}, body), { productUserId: fakeUserId });
1276
1294
  const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/recommend/unlike', { method: 'POST', body }));
1277
1295
  return res === null || res === void 0 ? void 0 : res.success;
1278
- }), [bffFetch]);
1296
+ }), [bffFetch, fakeUserId]);
1279
1297
  const bffSubmitForm = React.useCallback((body) => __awaiter(void 0, void 0, void 0, function* () {
1280
1298
  const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/customform', { method: 'POST', body }));
1281
1299
  return res === null || res === void 0 ? void 0 : res.success;
1282
1300
  }), [bffFetch]);
1283
1301
  // 获取 Tag
1284
1302
  const bffGetTagList = React.useCallback((data) => __awaiter(void 0, void 0, void 0, function* () {
1285
- var _5, _6, _7, _8, _9, _10, _11, _12;
1286
- 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);
1303
+ var _8, _9, _10, _11, _12, _13, _14, _15;
1304
+ 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);
1287
1305
  if (!utmVal || !isShowTag)
1288
1306
  return;
1289
1307
  try {
1290
- const val = (_10 = (_9 = (_8 = splitUrlParams(utmVal)) === null || _8 === void 0 ? void 0 : _8.filter((val) => {
1308
+ const val = (_13 = (_12 = (_11 = splitUrlParams(utmVal)) === null || _11 === void 0 ? void 0 : _11.filter((val) => {
1291
1309
  var _a, _b;
1292
1310
  const key = val.split('=')[0];
1293
1311
  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);
1294
- })) === null || _9 === void 0 ? void 0 : _9.join('&')) !== null && _10 !== void 0 ? _10 : '';
1312
+ })) === null || _12 === void 0 ? void 0 : _12.join('&')) !== null && _13 !== void 0 ? _13 : '';
1295
1313
  const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/tag/list', { method: 'GET', query: { channel: decodeURIComponent(val) } }));
1296
- 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 : []);
1314
+ 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 : []);
1297
1315
  }
1298
1316
  catch (e) {
1299
1317
  console.log('e', e);
1300
1318
  }
1301
1319
  }), [bffFetch, utmVal]);
1302
1320
  const ctaEvent = React.useCallback((eventInfo, rec, product, position) => {
1303
- 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;
1321
+ 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;
1304
1322
  const cta = product === null || product === void 0 ? void 0 : product.bindCta;
1305
1323
  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);
1306
1324
  let fromKName = '';
@@ -1318,7 +1336,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1318
1336
  }
1319
1337
  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;
1320
1338
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
1321
- 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 })
1339
+ 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 })
1322
1340
  });
1323
1341
  }, [bffEventReport, isFromHashtag]);
1324
1342
  const h5EnterLink = React.useCallback(() => {
@@ -1353,10 +1371,10 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1353
1371
  });
1354
1372
  }, [bffEventReport]);
1355
1373
  const getAccount = React.useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
1356
- var _13, _14;
1374
+ var _16, _17;
1357
1375
  const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/account', { method: 'GET' }));
1358
- setChatlabsId((_13 = res === null || res === void 0 ? void 0 : res.data) === null || _13 === void 0 ? void 0 : _13.chatLabsId);
1359
- return ((_14 = res === null || res === void 0 ? void 0 : res.data) === null || _14 === void 0 ? void 0 : _14.consentResult) === 'true';
1376
+ setChatlabsId((_16 = res === null || res === void 0 ? void 0 : res.data) === null || _16 === void 0 ? void 0 : _16.chatLabsId);
1377
+ return ((_17 = res === null || res === void 0 ? void 0 : res.data) === null || _17 === void 0 ? void 0 : _17.consentResult) === 'true';
1360
1378
  }), [bffFetch]);
1361
1379
  const accountSonsent = React.useCallback((consentResult) => __awaiter(void 0, void 0, void 0, function* () {
1362
1380
  const res = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('v1/account/consent', {
@@ -1420,6 +1438,9 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1420
1438
  }
1421
1439
  setRtcList(list);
1422
1440
  setCacheRtcList(list);
1441
+ if (isDiyPage) {
1442
+ setFirstRtcList(list);
1443
+ }
1423
1444
  bffGetTagList(curData !== null && curData !== void 0 ? curData : finalPageData);
1424
1445
  if (channel) {
1425
1446
  const item = list === null || list === void 0 ? void 0 : list[0];
@@ -1439,7 +1460,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1439
1460
  });
1440
1461
  setLoading(false);
1441
1462
  });
1442
- }, [isShowConsent, channel]);
1463
+ }, [isShowConsent, channel, isDiyPage]);
1443
1464
  // cms预览
1444
1465
  React.useEffect(() => {
1445
1466
  if (!isPreview)
@@ -1455,12 +1476,15 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1455
1476
  }
1456
1477
  setRtcList(list);
1457
1478
  setCacheRtcList(list);
1479
+ if (isDiyPage) {
1480
+ setFirstRtcList(list);
1481
+ }
1458
1482
  }
1459
1483
  })
1460
1484
  .finally(() => {
1461
1485
  setLoading(false);
1462
1486
  });
1463
- }, [getRecommendVideos, bffGetTagList, channel]);
1487
+ }, [getRecommendVideos, bffGetTagList, channel, isDiyPage]);
1464
1488
  const defaultLoadingImage = useIconLink('/pb_static/a65d23c5893c49d7aaaa81681d3179e2.gif', appDomain);
1465
1489
  return (React.createElement(SxpDataSourceContext.Provider, { value: {
1466
1490
  rtcList,
@@ -1518,7 +1542,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
1518
1542
  refreshFeSession,
1519
1543
  getAccount,
1520
1544
  accountSonsent,
1521
- isDiyH5
1545
+ isDiyH5: isDiyPage,
1546
+ firstRtcList
1522
1547
  } }, isShowConsent ? (React.createElement(Consent$4, 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({
1523
1548
  rtcList,
1524
1549
  mutateLike: bffMutateLike,
@@ -1979,14 +2004,14 @@ var settingRender$f = [
1979
2004
  * @Author: binruan@chatlabs.com
1980
2005
  * @Date: 2024-03-12 10:59:06
1981
2006
  * @LastEditors: binruan@chatlabs.com
1982
- * @LastEditTime: 2024-11-28 11:17:16
2007
+ * @LastEditTime: 2025-05-09 15:30:59
1983
2008
  * @FilePath: \pb-sxp-ui\src\core\hooks\useEventReport.ts
1984
2009
  *
1985
2010
  */
1986
2011
  function useEventReport() {
1987
2012
  const { bffEventReport, popupDetailData, isFromHashtag, eventTimeList, setEventTimeList } = useSxpDataSource();
1988
2013
  const jumpToWeb = React.useCallback((e, data, product, cta, position, traceInfo) => {
1989
- 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;
2014
+ 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;
1990
2015
  const i = eventTimeList === null || eventTimeList === void 0 ? void 0 : eventTimeList.findIndex((item) => item.target === (e === null || e === void 0 ? void 0 : e.target));
1991
2016
  if (i !== -1) {
1992
2017
  return;
@@ -2019,11 +2044,11 @@ function useEventReport() {
2019
2044
  contentFormat = 'image';
2020
2045
  }
2021
2046
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
2022
- 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 }))
2047
+ 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 }))
2023
2048
  });
2024
2049
  }, [bffEventReport, popupDetailData, isFromHashtag, eventTimeList]);
2025
2050
  const productView = React.useCallback((data, product, cta, viewTime, position) => {
2026
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
2051
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
2027
2052
  let fromKName = '';
2028
2053
  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))) {
2029
2054
  fromKName = 'pdpPage';
@@ -2042,8 +2067,9 @@ function useEventReport() {
2042
2067
  contentTags: JSON.stringify(product === null || product === void 0 ? void 0 : product.tags),
2043
2068
  position: position + '',
2044
2069
  contentId: (_d = data === null || data === void 0 ? void 0 : data.video) === null || _d === void 0 ? void 0 : _d.itemId,
2070
+ 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 : '',
2045
2071
  ctatId: cta === null || cta === void 0 ? void 0 : cta.itemId,
2046
- 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 : '',
2072
+ 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 : '',
2047
2073
  timeOnSite: Math.floor((new Date() - viewTime) / 1000) + '',
2048
2074
  eventSubject: 'productView',
2049
2075
  eventDescription: 'User browsed the product'
@@ -2639,35 +2665,6 @@ var settingRender$e = [
2639
2665
  }
2640
2666
  ];
2641
2667
 
2642
- /*
2643
- * @Author: binruan@chatlabs.com
2644
- * @Date: 2024-07-09 14:35:10
2645
- * @LastEditors: binruan@chatlabs.com
2646
- * @LastEditTime: 2024-07-12 17:53:02
2647
- * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetail\interactionRender.tsx
2648
- *
2649
- */
2650
- /*
2651
- * @Author: binruan@chatlabs.com
2652
- * @Date: 2024-07-05 14:08:41
2653
- * @LastEditors: binruan@chatlabs.com
2654
- * @LastEditTime: 2024-07-09 14:34:49
2655
- * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLink\interactionRender.tsx
2656
- *
2657
- */
2658
- var interactionRender$g = [
2659
- {
2660
- title: '滑动事件',
2661
- child: [
2662
- {
2663
- type: 'Switch',
2664
- label: '滑动铺满全屏',
2665
- name: ['isScrollFullScreen']
2666
- }
2667
- ]
2668
- }
2669
- ];
2670
-
2671
2668
  /**
2672
2669
  * SSR Window 4.0.2
2673
2670
  * Better handling for window object in SSR environment
@@ -10246,7 +10243,7 @@ const CommodityGroup = ({ products, data, defImg, style, onCLick, popupDetailDat
10246
10243
  return (React.createElement(React.Fragment, null, (item === null || item === void 0 ? void 0 : item.bindCta) ? (React.createElement(SwiperSlide, { className: css.css({
10247
10244
  width: '50px',
10248
10245
  height: '50px',
10249
- marginInlineStart: '10px'
10246
+ marginRight: '10px'
10250
10247
  }), onClick: () => {
10251
10248
  handleClick(item, index);
10252
10249
  }, key: index },
@@ -10500,7 +10497,7 @@ const ExpandableText = ({ text, maxStr = 108, style, className, onClick, foldTex
10500
10497
  display: '-webkit-box',
10501
10498
  WebkitBoxOrient: 'vertical'
10502
10499
  })), { wordBreak: 'break-word', textRendering: 'geometricPrecision', fontKerning: 'none', textSizeAdjust: '100%', boxSizing: 'border-box', contain: 'content' }), dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), textStyle) } }),
10503
- React.createElement("div", { ref: realRef, style: {
10500
+ isPost && (React.createElement("div", { ref: realRef, style: {
10504
10501
  wordBreak: 'break-word',
10505
10502
  textRendering: 'geometricPrecision',
10506
10503
  fontKerning: 'none',
@@ -10512,7 +10509,7 @@ const ExpandableText = ({ text, maxStr = 108, style, className, onClick, foldTex
10512
10509
  clipPath: 'inset(100%)',
10513
10510
  transform: 'translateX(-9999px)'
10514
10511
  // position: 'absolute'
10515
- }, dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), textStyle) } }),
10512
+ }, dangerouslySetInnerHTML: { __html: setFontForText(text === null || text === void 0 ? void 0 : text.replace(/\n/g, '</br>'), textStyle) } })),
10516
10513
  text && isPost && isShow && (React.createElement("button", { "aria-label": isShowMore ? unfoldText || 'show less' : foldText || 'show more', style: { textDecoration: 'underline', cursor: 'pointer' }, onClick: onClick !== null && onClick !== void 0 ? onClick : handleClick, dangerouslySetInnerHTML: {
10517
10514
  __html: setFontForText(isShowMore ? unfoldText || 'show less' : foldText || 'show more', textStyle)
10518
10515
  } }))));
@@ -10845,6 +10842,35 @@ const CommodityDetail$1 = (_a) => {
10845
10842
  };
10846
10843
  var CommodityDetailComponent = React.memo(CommodityDetail$1);
10847
10844
 
10845
+ /*
10846
+ * @Author: binruan@chatlabs.com
10847
+ * @Date: 2024-07-09 14:35:10
10848
+ * @LastEditors: binruan@chatlabs.com
10849
+ * @LastEditTime: 2024-07-12 17:53:02
10850
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetail\interactionRender.tsx
10851
+ *
10852
+ */
10853
+ /*
10854
+ * @Author: binruan@chatlabs.com
10855
+ * @Date: 2024-07-05 14:08:41
10856
+ * @LastEditors: binruan@chatlabs.com
10857
+ * @LastEditTime: 2024-07-09 14:34:49
10858
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLink\interactionRender.tsx
10859
+ *
10860
+ */
10861
+ var interactionRender$g = [
10862
+ {
10863
+ title: '滑动事件',
10864
+ child: [
10865
+ {
10866
+ type: 'Switch',
10867
+ label: '滑动铺满全屏',
10868
+ name: ['isScrollFullScreen']
10869
+ }
10870
+ ]
10871
+ }
10872
+ ];
10873
+
10848
10874
  /*
10849
10875
  * @Author: binruan@chatlabs.com
10850
10876
  * @Date: 2023-07-28 18:29:57
@@ -10891,6 +10917,7 @@ const CommodityDetail = createMaterial(CommodityDetailComponent, {
10891
10917
  taxInfo: {
10892
10918
  color: '#000',
10893
10919
  fontSize: 13,
10920
+ textAlign: 'left',
10894
10921
  marginBottom: '10px'
10895
10922
  }
10896
10923
  },
@@ -11982,7 +12009,7 @@ var settingRender$b = [
11982
12009
  type: 'Number',
11983
12010
  label: '与右侧边距',
11984
12011
  addonAfter: 'px',
11985
- name: ['props', 'commodityPicture', 'marginInlineStart']
12012
+ name: ['props', 'commodityPicture', 'marginRight']
11986
12013
  },
11987
12014
  {
11988
12015
  label: '居中垂直偏移',
@@ -12268,11 +12295,12 @@ const CommodityList$1 = (_a) => {
12268
12295
  React.createElement("button", Object.assign({ role: 'button', "aria-label": item === null || item === void 0 ? void 0 : item.title, tabIndex: 0, className: css.css({
12269
12296
  display: 'flex',
12270
12297
  alignItems: 'normal',
12271
- width: '100%'
12298
+ width: '100%',
12299
+ textAlign: 'left'
12272
12300
  }) }, props),
12273
12301
  React.createElement(Img$1, { 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 }),
12274
12302
  React.createElement("div", { style: {
12275
- 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)`,
12303
+ 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)`,
12276
12304
  display: 'flex',
12277
12305
  flexDirection: 'column',
12278
12306
  justifyContent: 'space-between'
@@ -12353,7 +12381,7 @@ const CommodityList = createMaterial(CommodityListComponent, {
12353
12381
  commodityPicture: {
12354
12382
  width: 100,
12355
12383
  height: 100,
12356
- marginInlineStart: 10
12384
+ marginRight: 10
12357
12385
  },
12358
12386
  commodityStyles: {
12359
12387
  price: {
@@ -12599,7 +12627,7 @@ var settingRender$8 = [
12599
12627
  type: 'Number',
12600
12628
  label: '与右侧边距',
12601
12629
  addonAfter: 'px',
12602
- name: ['props', 'ctaTempStyles', 'img', 'marginInlineStart']
12630
+ name: ['props', 'ctaTempStyles', 'img', 'marginRight']
12603
12631
  },
12604
12632
  {
12605
12633
  label: '居中垂直偏移',
@@ -12860,11 +12888,12 @@ const Commodity = createMaterial(CommodityComponent, {
12860
12888
  borderRadius: 3,
12861
12889
  width: 60,
12862
12890
  height: 60,
12863
- marginInlineStart: 8
12891
+ marginRight: 8
12864
12892
  },
12865
12893
  title: {
12866
12894
  fontSize: 12,
12867
- color: '#fff'
12895
+ color: '#fff',
12896
+ textAlign: 'left'
12868
12897
  },
12869
12898
  ctaTitle: {
12870
12899
  fontSize: 10,
@@ -12942,11 +12971,12 @@ const Appoint = createMaterial(AppointComponent, {
12942
12971
  borderRadius: 3,
12943
12972
  width: 30,
12944
12973
  height: 30,
12945
- marginInlineStart: 8
12974
+ marginRight: 8
12946
12975
  },
12947
12976
  ctaTitle: {
12948
12977
  fontSize: 12,
12949
12978
  color: '#fff',
12979
+ textAlign: 'left',
12950
12980
  width: 130,
12951
12981
  height: 20
12952
12982
  }
@@ -13082,27 +13112,6 @@ var linkSettingRender = [
13082
13112
  }
13083
13113
  ];
13084
13114
 
13085
- /*
13086
- * @Author: binruan@chatlabs.com
13087
- * @Date: 2024-08-09 16:59:38
13088
- * @LastEditors: binruan@chatlabs.com
13089
- * @LastEditTime: 2024-09-09 13:59:50
13090
- * @FilePath: \pb-sxp-ui\src\materials\sxp\template\Link\interactionRender.tsx
13091
- *
13092
- */
13093
- var interactionRender$a = [
13094
- {
13095
- title: '点击事件',
13096
- child: [
13097
- {
13098
- type: 'link',
13099
- name: 'onClick',
13100
- hiddenUrl: true
13101
- }
13102
- ]
13103
- }
13104
- ];
13105
-
13106
13115
  var styles$8 = {"tow-line-ellipsis":"index-module_tow-line-ellipsis__nkBlU","one-line-ellipsis":"index-module_one-line-ellipsis__buFw1"};
13107
13116
 
13108
13117
  const Link$1 = (_a) => {
@@ -13130,6 +13139,27 @@ const Link$1 = (_a) => {
13130
13139
  };
13131
13140
  var LinkComponent = React.memo(Link$1);
13132
13141
 
13142
+ /*
13143
+ * @Author: binruan@chatlabs.com
13144
+ * @Date: 2024-08-09 16:59:38
13145
+ * @LastEditors: binruan@chatlabs.com
13146
+ * @LastEditTime: 2024-09-09 13:59:50
13147
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\template\Link\interactionRender.tsx
13148
+ *
13149
+ */
13150
+ var interactionRender$a = [
13151
+ {
13152
+ title: '点击事件',
13153
+ child: [
13154
+ {
13155
+ type: 'link',
13156
+ name: 'onClick',
13157
+ hiddenUrl: true
13158
+ }
13159
+ ]
13160
+ }
13161
+ ];
13162
+
13133
13163
  var _a;
13134
13164
  const Link = createMaterial(LinkComponent, {
13135
13165
  displayName: '普通CTA',
@@ -13148,17 +13178,19 @@ const Link = createMaterial(LinkComponent, {
13148
13178
  borderRadius: 3,
13149
13179
  width: 60,
13150
13180
  height: 60,
13151
- marginInlineStart: 8
13181
+ marginRight: 8
13152
13182
  },
13153
13183
  ctaTitle: {
13154
13184
  fontSize: 12,
13155
13185
  color: '#fff',
13186
+ textAlign: 'left',
13156
13187
  width: 130,
13157
13188
  height: 20
13158
13189
  }
13159
13190
  },
13160
13191
  customTitle: {
13161
13192
  style: {
13193
+ textAlign: 'left',
13162
13194
  textDecoration: 'underline',
13163
13195
  fontWeight: 'bold',
13164
13196
  width: 130,
@@ -13248,11 +13280,12 @@ const CommodityDiro = createMaterial(CommodityDiroComponent, {
13248
13280
  borderRadius: 3,
13249
13281
  width: 60,
13250
13282
  height: 60,
13251
- marginInlineStart: 8
13283
+ marginRight: 8
13252
13284
  },
13253
13285
  title: {
13254
13286
  fontSize: 12,
13255
- color: '#000'
13287
+ color: '#000',
13288
+ textAlign: 'left'
13256
13289
  },
13257
13290
  ctaTitle: {
13258
13291
  fontSize: 10,
@@ -13343,17 +13376,19 @@ const CommodityDiroNew = createMaterial(CommodityDiroNewComponent, {
13343
13376
  borderRadius: 8,
13344
13377
  width: 78,
13345
13378
  height: 78,
13346
- marginInlineStart: 16
13379
+ marginRight: 16
13347
13380
  },
13348
13381
  title: {
13349
13382
  fontSize: 13,
13350
- color: '#000'
13383
+ color: '#000',
13384
+ textAlign: 'left'
13351
13385
  },
13352
13386
  ctaTitle: {
13353
13387
  textDecoration: 'underline',
13354
13388
  fontSize: 14,
13355
13389
  fontWeight: 'bold',
13356
13390
  color: '#000',
13391
+ textAlign: 'left',
13357
13392
  width: 150,
13358
13393
  height: 20
13359
13394
  }
@@ -13395,7 +13430,7 @@ const MultiCommodityDiro$1 = (_a) => {
13395
13430
  const [products] = React.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]);
13396
13431
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13397
13432
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
13398
- return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginInlineEnd: 0, marginInlineStart: '8px' })), tag: 'li', role: 'listitem' },
13433
+ return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginLeft: 0, marginRight: '8px' })), tag: 'li', role: 'listitem' },
13399
13434
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13400
13435
  React.createElement(Img$1, { 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 }),
13401
13436
  React.createElement("div", { className: css.css({
@@ -13441,11 +13476,12 @@ const MultiCommodityDiro = createMaterial(MultiCommodityDiroComponent, {
13441
13476
  borderRadius: 3,
13442
13477
  width: 60,
13443
13478
  height: 60,
13444
- marginInlineStart: 8
13479
+ marginRight: 8
13445
13480
  },
13446
13481
  title: {
13447
13482
  fontSize: 12,
13448
- color: '#000'
13483
+ color: '#000',
13484
+ textAlign: 'left'
13449
13485
  },
13450
13486
  ctaTitle: {
13451
13487
  fontSize: 10,
@@ -13493,7 +13529,7 @@ const MultiCommodity$1 = (_a) => {
13493
13529
  const [products] = React.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]);
13494
13530
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13495
13531
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
13496
- return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginInlineEnd: 0, marginInlineStart: '8px' })), tag: 'li', role: 'listitem' },
13532
+ return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginLeft: 0, marginRight: '8px' })), tag: 'li', role: 'listitem' },
13497
13533
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13498
13534
  React.createElement(Img$1, { 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 }),
13499
13535
  React.createElement("div", { className: css.css({
@@ -13539,11 +13575,12 @@ const MultiCommodity = createMaterial(MultiCommodityComponent, {
13539
13575
  borderRadius: 3,
13540
13576
  width: 60,
13541
13577
  height: 60,
13542
- marginInlineStart: 8
13578
+ marginRight: 8
13543
13579
  },
13544
13580
  title: {
13545
13581
  fontSize: 12,
13546
13582
  color: '#fff',
13583
+ textAlign: 'left'
13547
13584
  },
13548
13585
  ctaTitle: {
13549
13586
  fontSize: 10,
@@ -13599,7 +13636,7 @@ const MultiCommodityDiroNew$1 = (_a) => {
13599
13636
  const [products] = React.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]);
13600
13637
  return (React.createElement(Scroll$1, { isPadding: !!recData }, products === null || products === void 0 ? void 0 : products.map((item, itemIndex) => {
13601
13638
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
13602
- return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginInlineEnd: 0, marginInlineStart: '8px' })), tag: 'li', role: 'listitem' },
13639
+ return (React.createElement(React.Fragment, null, recData && !(item === null || item === void 0 ? void 0 : item.bindCta) ? null : (React.createElement(SwiperSlide, { key: itemIndex, className: css.css(Object.assign(Object.assign({}, style), { flexShrink: 0, marginLeft: 0, marginRight: '8px' })), tag: 'li', role: 'listitem' },
13603
13640
  React.createElement(EventProvider$1, Object.assign({ rec: recData, multItem: item, multiCheckIndex: itemIndex, index: index }, props),
13604
13641
  React.createElement(Img$1, { 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 }),
13605
13642
  React.createElement("div", { className: css.css({
@@ -13646,17 +13683,19 @@ const MultiCommodityDiroNew = createMaterial(MultiCommodityDiroNewComponent, {
13646
13683
  borderRadius: 8,
13647
13684
  width: 78,
13648
13685
  height: 78,
13649
- marginInlineStart: 16
13686
+ marginRight: 16
13650
13687
  },
13651
13688
  title: {
13652
13689
  fontSize: 12,
13653
- color: '#000'
13690
+ color: '#000',
13691
+ textAlign: 'left'
13654
13692
  },
13655
13693
  ctaTitle: {
13656
13694
  textDecoration: 'underline',
13657
13695
  fontSize: 12,
13658
13696
  fontWeight: 'bold',
13659
13697
  color: '#000',
13698
+ textAlign: 'left',
13660
13699
  width: 150,
13661
13700
  height: 20
13662
13701
  }
@@ -13751,11 +13790,12 @@ const NineCommodity = createMaterial(NineCommodityComponent, {
13751
13790
  borderRadius: 3,
13752
13791
  width: 60,
13753
13792
  height: 60,
13754
- marginInlineStart: 8
13793
+ marginRight: 8
13755
13794
  },
13756
13795
  title: {
13757
13796
  fontSize: 12,
13758
- color: '#fff'
13797
+ color: '#fff',
13798
+ textAlign: 'left'
13759
13799
  },
13760
13800
  ctaTitle: {
13761
13801
  fontSize: 10,
@@ -15844,7 +15884,7 @@ function WaterfallList(_a) {
15844
15884
  * @Author: binruan@chatlabs.com
15845
15885
  * @Date: 2024-01-10 10:58:24
15846
15886
  * @LastEditors: binruan@chatlabs.com
15847
- * @LastEditTime: 2025-02-28 10:00:31
15887
+ * @LastEditTime: 2025-05-09 15:30:41
15848
15888
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\WaterFall\index.tsx
15849
15889
  *
15850
15890
  */
@@ -15882,7 +15922,7 @@ const WaterFall = (props) => {
15882
15922
  }
15883
15923
  }, [waterFallData]);
15884
15924
  const reportTagsView = React.useCallback(() => {
15885
- var _a, _b, _c, _d, _e, _f;
15925
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
15886
15926
  const rec = recData === null || recData === void 0 ? void 0 : recData.rec;
15887
15927
  if (!rec)
15888
15928
  return;
@@ -15902,9 +15942,10 @@ const WaterFall = (props) => {
15902
15942
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
15903
15943
  eventInfo: {
15904
15944
  contentId: (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.itemId,
15945
+ sceneId: (_g = (_f = (_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.scene) === null || _f === void 0 ? void 0 : _f.sceneId) !== null && _g !== void 0 ? _g : '',
15905
15946
  position: cacheActiveIndex + '',
15906
- contentTags: JSON.stringify((_e = rec === null || rec === void 0 ? void 0 : rec.video) === null || _e === void 0 ? void 0 : _e.tags),
15907
- traceInfo: (_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.traceInfo,
15947
+ contentTags: JSON.stringify((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.tags),
15948
+ traceInfo: (_j = rec === null || rec === void 0 ? void 0 : rec.video) === null || _j === void 0 ? void 0 : _j.traceInfo,
15908
15949
  hashTags: JSON.stringify([recData === null || recData === void 0 ? void 0 : recData.hashTag]),
15909
15950
  fromKName,
15910
15951
  fromKPage: location === null || location === void 0 ? void 0 : location.href,
@@ -16675,60 +16716,6 @@ var settingRender$4 = [
16675
16716
  }
16676
16717
  ];
16677
16718
 
16678
- /*
16679
- * @Author: binruan@chatlabs.com
16680
- * @Date: 2024-07-24 14:58:40
16681
- * @LastEditors: binruan@chatlabs.com
16682
- * @LastEditTime: 2024-09-09 13:54:35
16683
- * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLinkPopup\interactionRender.tsx
16684
- *
16685
- */
16686
- var interactionRender$2 = [
16687
- {
16688
- title: '点击事件',
16689
- child: [
16690
- {
16691
- type: 'link',
16692
- name: 'onClick',
16693
- hiddenUrl: true
16694
- }
16695
- ]
16696
- },
16697
- {
16698
- title: '动画效果',
16699
- child: [
16700
- {
16701
- type: 'Select',
16702
- name: ['animation', 'name'],
16703
- label: '动画',
16704
- options: [
16705
- {
16706
- label: '默认',
16707
- value: 1
16708
- }
16709
- ],
16710
- fieldProps: {
16711
- style: {
16712
- width: '100%'
16713
- }
16714
- }
16715
- },
16716
- {
16717
- type: 'Number',
16718
- label: '动画启动时间',
16719
- name: ['animation', 'delay'],
16720
- addonAfter: 'ms'
16721
- },
16722
- {
16723
- type: 'Number',
16724
- label: '动画持续时间',
16725
- name: ['animation', 'duration'],
16726
- addonAfter: 'ms'
16727
- }
16728
- ]
16729
- }
16730
- ];
16731
-
16732
16719
  var styles = {"aniLinkPopup":"index-module_aniLinkPopup__YT7kj","animated-fadeIn":"index-module_animated-fadeIn__8ZCbq","fadeIn":"index-module_fadeIn__2E-dk","animated-fadeOut":"index-module_animated-fadeOut__iK4oc","fadeOut":"index-module_fadeOut__MgevT","one-line-ellipsis":"index-module_one-line-ellipsis__NRiVV","two-line-ellipsis":"index-module_two-line-ellipsis__k-YGB","modal-icon-wrapper":"index-module_modal-icon-wrapper__tu3BY","modal-icon-wrapper-img":"index-module_modal-icon-wrapper-img__4b7qZ"};
16733
16720
 
16734
16721
  const closeIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAjhJREFUWEfFlztOw0AQhmeWiJ4CCmpQ5DiRQsIJyAWg5A0lR0AIChDiCJS8ER0cADgBeRSxt4CCDgkaKiq8i+zYeWx2413HEWmiJJv9v535Z2aN8M8vFPT9z3zETD0aAUChUJjwvPFHAJhBhB3Hqd6OAsK2yyucwykAvP38eJX398Z3AJDLlVYR8ToU9Rhj25TWr9KEsKy5dULIGQCMtfZly45TvwsAstm56UwG6wA4FUFwzrdctxZBDcWSy5XWEPG8I84/GcMipdWPtgcsaz5PCHtKG0IuTiqUvjT9U/WYMG2IOPE+AP+LtCB0xKUAAyA2Xbd2o2OG0NQXvTnvhL17D7EPtH9TRCIWwkRcGYGIQgYBABuqPuHXOQBc6pw80lBGwBQiiXhsBHQhkoprA6iM6acjhDQKu5YJZW6XeOI3XJdpvfsdTu52VfXEekD8owQiXGIubpSCbhDbLu8DwKEAd+A41SOdPpE4BS0viFOtvV2iKWqUgn5x/tmS70xR01GuDSCKc86/OCcLgTyyZ0ScDGNhFAktAJV4NFJ9YyaFiAWIE+9uVkkgBgLoig8DMWAa9ro9ynkUdlW5maZDCmB6clmz0k1HH4Cs1Ezbq2p2yEpUuBOKTSZZex00RUWIrltxuuK6EOGDSbGIOPZicpMx6fny650377qNRgBgWeVFQuA+6UjVgREhGIMlSqsPUQqIbZdOOIdZQmCv2axRnU1N1+TzJYsxOEaEV8ep7frPZ7Gd0FTEdP0ft0/kMNdg0eoAAAAASUVORK5CYII=';
@@ -16801,6 +16788,60 @@ const AniLinkPopup$1 = (_a) => {
16801
16788
  };
16802
16789
  var AniLinkPopupComponent = React.memo(AniLinkPopup$1);
16803
16790
 
16791
+ /*
16792
+ * @Author: binruan@chatlabs.com
16793
+ * @Date: 2024-07-24 14:58:40
16794
+ * @LastEditors: binruan@chatlabs.com
16795
+ * @LastEditTime: 2024-09-09 13:54:35
16796
+ * @FilePath: \pb-sxp-ui\src\materials\sxp\cta\AniLinkPopup\interactionRender.tsx
16797
+ *
16798
+ */
16799
+ var interactionRender$2 = [
16800
+ {
16801
+ title: '点击事件',
16802
+ child: [
16803
+ {
16804
+ type: 'link',
16805
+ name: 'onClick',
16806
+ hiddenUrl: true
16807
+ }
16808
+ ]
16809
+ },
16810
+ {
16811
+ title: '动画效果',
16812
+ child: [
16813
+ {
16814
+ type: 'Select',
16815
+ name: ['animation', 'name'],
16816
+ label: '动画',
16817
+ options: [
16818
+ {
16819
+ label: '默认',
16820
+ value: 1
16821
+ }
16822
+ ],
16823
+ fieldProps: {
16824
+ style: {
16825
+ width: '100%'
16826
+ }
16827
+ }
16828
+ },
16829
+ {
16830
+ type: 'Number',
16831
+ label: '动画启动时间',
16832
+ name: ['animation', 'delay'],
16833
+ addonAfter: 'ms'
16834
+ },
16835
+ {
16836
+ type: 'Number',
16837
+ label: '动画持续时间',
16838
+ name: ['animation', 'duration'],
16839
+ addonAfter: 'ms'
16840
+ }
16841
+ ]
16842
+ }
16843
+ ];
16844
+
16804
16845
  /*
16805
16846
  * @Author: binruan@chatlabs.com
16806
16847
  * @Date: 2024-07-24 14:58:40
@@ -16839,6 +16880,7 @@ const AniLinkPopup = createMaterial(AniLinkPopupComponent, {
16839
16880
  title: {
16840
16881
  fontSize: 14,
16841
16882
  color: '#000',
16883
+ textAlign: 'left',
16842
16884
  lineHeight: 2.6
16843
16885
  },
16844
16886
  ctaTitle: {
@@ -17067,7 +17109,7 @@ const Display$1 = (_a) => {
17067
17109
  React.createElement("span", { style: content === null || content === void 0 ? void 0 : content.style, dangerouslySetInnerHTML: {
17068
17110
  __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)
17069
17111
  } }),
17070
- React.createElement("span", { style: Object.assign(Object.assign({}, interaction === null || interaction === void 0 ? void 0 : interaction.style), { marginInlineEnd: '5px' }), dangerouslySetInnerHTML: {
17112
+ React.createElement("span", { style: Object.assign(Object.assign({}, interaction === null || interaction === void 0 ? void 0 : interaction.style), { marginLeft: '5px' }), dangerouslySetInnerHTML: {
17071
17113
  __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)
17072
17114
  }, onClick: handleClick })),
17073
17115
  isShowClose && (React.createElement("button", { "aria-label": 'close', className: 'consentPopupDisplay-close', onClick: handleClickClose },
@@ -17985,21 +18027,22 @@ const LikeButton = (_a) => {
17985
18027
  const likeIcon = useIconLink(defaultLikeIconPath$2);
17986
18028
  const unlikeIcon = useIconLink(defaultUnLikeIconPath$2);
17987
18029
  const handleClick = lodash.debounce(() => __awaiter(void 0, void 0, void 0, function* () {
17988
- var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
18030
+ var _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;
17989
18031
  if (state) {
17990
18032
  // 先设置状态
17991
18033
  setState(false);
17992
- const result = (_e = (yield (mutateUnlike === null || mutateUnlike === void 0 ? void 0 : mutateUnlike({ videoItemId: (_d = (_c = recData === null || recData === void 0 ? void 0 : recData.video) === null || _c === void 0 ? void 0 : _c.itemId) !== null && _d !== void 0 ? _d : '' })))) !== null && _e !== void 0 ? _e : false;
18034
+ const result = (_e = (yield (mutateUnlike === null || mutateUnlike === void 0 ? void 0 : mutateUnlike({ itemId: (_d = (_c = recData === null || recData === void 0 ? void 0 : recData.video) === null || _c === void 0 ? void 0 : _c.itemId) !== null && _d !== void 0 ? _d : '' })))) !== null && _e !== void 0 ? _e : false;
17993
18035
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
17994
18036
  eventInfo: {
17995
18037
  eventSubject: 'favoriteContentCanceled',
17996
18038
  eventDescription: 'This content was unfavorite by the user',
17997
18039
  contentId: (_g = (_f = recData === null || recData === void 0 ? void 0 : recData.video) === null || _f === void 0 ? void 0 : _f.itemId) !== null && _g !== void 0 ? _g : '',
17998
- contentName: (_j = (_h = recData === null || recData === void 0 ? void 0 : recData.video) === null || _h === void 0 ? void 0 : _h.title) !== null && _j !== void 0 ? _j : '',
17999
- contentTags: JSON.stringify((_l = (_k = recData === null || recData === void 0 ? void 0 : recData.video) === null || _k === void 0 ? void 0 : _k.tags) !== null && _l !== void 0 ? _l : []),
18040
+ sceneId: (_k = (_j = (_h = recData === null || recData === void 0 ? void 0 : recData.video) === null || _h === void 0 ? void 0 : _h.scene) === null || _j === void 0 ? void 0 : _j.sceneId) !== null && _k !== void 0 ? _k : '',
18041
+ contentName: (_m = (_l = recData === null || recData === void 0 ? void 0 : recData.video) === null || _l === void 0 ? void 0 : _l.title) !== null && _m !== void 0 ? _m : '',
18042
+ contentTags: JSON.stringify((_p = (_o = recData === null || recData === void 0 ? void 0 : recData.video) === null || _o === void 0 ? void 0 : _o.tags) !== null && _p !== void 0 ? _p : []),
18000
18043
  position: position + '',
18001
- contentFormat: ((_m = recData === null || recData === void 0 ? void 0 : recData.video) === null || _m === void 0 ? void 0 : _m.url) ? 'video' : 'image',
18002
- traceInfo: (_o = recData === null || recData === void 0 ? void 0 : recData.video) === null || _o === void 0 ? void 0 : _o.traceInfo
18044
+ contentFormat: ((_q = recData === null || recData === void 0 ? void 0 : recData.video) === null || _q === void 0 ? void 0 : _q.url) ? 'video' : 'image',
18045
+ traceInfo: (_r = recData === null || recData === void 0 ? void 0 : recData.video) === null || _r === void 0 ? void 0 : _r.traceInfo
18003
18046
  }
18004
18047
  });
18005
18048
  // 如果接口调用失败,则回滚状态
@@ -18007,40 +18050,41 @@ const LikeButton = (_a) => {
18007
18050
  setState(true);
18008
18051
  }
18009
18052
  else {
18010
- const nRtcList = (_p = cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.map((item, index) => {
18053
+ const nRtcList = (_s = cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.map((item, index) => {
18011
18054
  if (index === position) {
18012
18055
  item.isCollected = false;
18013
18056
  }
18014
18057
  return item;
18015
- })) !== null && _p !== void 0 ? _p : [];
18058
+ })) !== null && _s !== void 0 ? _s : [];
18016
18059
  setCacheRtcList === null || setCacheRtcList === void 0 ? void 0 : setCacheRtcList(nRtcList);
18017
18060
  }
18018
18061
  }
18019
18062
  else {
18020
18063
  setState(true);
18021
- const result = (_q = (yield (mutateLike === null || mutateLike === void 0 ? void 0 : mutateLike({ content: JSON.stringify(recData) })))) !== null && _q !== void 0 ? _q : false;
18064
+ const result = (_v = (yield (mutateLike === null || mutateLike === void 0 ? void 0 : mutateLike({ content: JSON.stringify(recData), itemId: (_u = (_t = recData === null || recData === void 0 ? void 0 : recData.video) === null || _t === void 0 ? void 0 : _t.itemId) !== null && _u !== void 0 ? _u : '' })))) !== null && _v !== void 0 ? _v : false;
18022
18065
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
18023
18066
  eventInfo: {
18024
18067
  eventSubject: 'favoriteContent',
18025
18068
  eventDescription: 'This content was favorite by the user',
18026
- contentId: (_s = (_r = recData === null || recData === void 0 ? void 0 : recData.video) === null || _r === void 0 ? void 0 : _r.itemId) !== null && _s !== void 0 ? _s : '',
18027
- contentName: (_u = (_t = recData === null || recData === void 0 ? void 0 : recData.video) === null || _t === void 0 ? void 0 : _t.title) !== null && _u !== void 0 ? _u : '',
18028
- contentTags: JSON.stringify((_w = (_v = recData === null || recData === void 0 ? void 0 : recData.video) === null || _v === void 0 ? void 0 : _v.tags) !== null && _w !== void 0 ? _w : []),
18069
+ contentId: (_x = (_w = recData === null || recData === void 0 ? void 0 : recData.video) === null || _w === void 0 ? void 0 : _w.itemId) !== null && _x !== void 0 ? _x : '',
18070
+ sceneId: (_0 = (_z = (_y = recData === null || recData === void 0 ? void 0 : recData.video) === null || _y === void 0 ? void 0 : _y.scene) === null || _z === void 0 ? void 0 : _z.sceneId) !== null && _0 !== void 0 ? _0 : '',
18071
+ contentName: (_2 = (_1 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _1 === void 0 ? void 0 : _1.title) !== null && _2 !== void 0 ? _2 : '',
18072
+ contentTags: JSON.stringify((_4 = (_3 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _3 === void 0 ? void 0 : _3.tags) !== null && _4 !== void 0 ? _4 : []),
18029
18073
  position: position + '',
18030
- contentFormat: ((_x = recData === null || recData === void 0 ? void 0 : recData.video) === null || _x === void 0 ? void 0 : _x.url) ? 'video' : 'image',
18031
- traceInfo: (_y = recData === null || recData === void 0 ? void 0 : recData.video) === null || _y === void 0 ? void 0 : _y.traceInfo
18074
+ contentFormat: ((_5 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _5 === void 0 ? void 0 : _5.url) ? 'video' : 'image',
18075
+ traceInfo: (_6 = recData === null || recData === void 0 ? void 0 : recData.video) === null || _6 === void 0 ? void 0 : _6.traceInfo
18032
18076
  }
18033
18077
  });
18034
18078
  if (!result) {
18035
18079
  setState(false);
18036
18080
  }
18037
18081
  else {
18038
- const nRtcList = (_z = cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.map((item, index) => {
18082
+ const nRtcList = (_7 = cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.map((item, index) => {
18039
18083
  if (index === position) {
18040
18084
  item.isCollected = true;
18041
18085
  }
18042
18086
  return item;
18043
- })) !== null && _z !== void 0 ? _z : [];
18087
+ })) !== null && _7 !== void 0 ? _7 : [];
18044
18088
  setCacheRtcList === null || setCacheRtcList === void 0 ? void 0 : setCacheRtcList(nRtcList);
18045
18089
  }
18046
18090
  }
@@ -18077,7 +18121,7 @@ const mountVideoPlayerAtNode = (() => {
18077
18121
  const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activeIndex, videoPostConfig, videoPlayIcon, loopPlay, swiperRef }, ref) => {
18078
18122
  var _a, _b;
18079
18123
  const [isPauseVideo, setIsPauseVideo] = React.useState(false);
18080
- const { bffEventReport, sxpParameter, waterFallData, openHashtag, bffFbReport, isDiyH5 } = useSxpDataSource();
18124
+ const { bffEventReport, sxpParameter, firstRtcList, openHashtag, bffFbReport, isDiyH5 } = useSxpDataSource();
18081
18125
  const videoStartTime = React.useRef(0);
18082
18126
  const [isLoadFinish, setIsLoadFinish] = React.useState(false);
18083
18127
  const { isActive } = useSwiperSlide();
@@ -18143,6 +18187,23 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
18143
18187
  return;
18144
18188
  (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
18145
18189
  }, [videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
18190
+ const handleEnd = () => {
18191
+ var _a, _b, _c, _d, _e, _f;
18192
+ if (!videoRef.current)
18193
+ return;
18194
+ if (isDiyH5) {
18195
+ (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.pause();
18196
+ if (!loopPlayRef.current)
18197
+ return;
18198
+ if (firstRtcList && index < (firstRtcList === null || firstRtcList === void 0 ? void 0 : firstRtcList.length) - 1) {
18199
+ const i = (_c = (_b = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _b === void 0 ? void 0 : _b.swiper) === null || _c === void 0 ? void 0 : _c.activeIndex;
18200
+ (_e = (_d = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _d === void 0 ? void 0 : _d.swiper) === null || _e === void 0 ? void 0 : _e.slideTo(i + 1);
18201
+ }
18202
+ }
18203
+ else {
18204
+ (_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.play();
18205
+ }
18206
+ };
18146
18207
  const PAUSE_ICON = useIconLink('/pb_static/06f28a2025c74c1cb49be6767316d827.png');
18147
18208
  const handlePlaying = React.useCallback(() => {
18148
18209
  if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
@@ -18151,7 +18212,7 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
18151
18212
  setIsLoadFinish(true);
18152
18213
  }, []);
18153
18214
  const handleStartPlay = React.useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
18154
- var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
18215
+ var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
18155
18216
  if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
18156
18217
  return;
18157
18218
  setIsPauseVideo(false);
@@ -18162,16 +18223,11 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
18162
18223
  const videoCurrentTime = ((_h = (_g = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _g === void 0 ? void 0 : _g.currentTime) !== null && _h !== void 0 ? _h : 0).toFixed(2);
18163
18224
  const playType = (isFirstPlayRef === null || isFirstPlayRef === void 0 ? void 0 : isFirstPlayRef.current) ? '0' : '1';
18164
18225
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
18165
- eventInfo: Object.assign({ eventSubject: 'playVideo', eventDescription: 'User played the video', contentId: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.itemId) !== null && _k !== void 0 ? _k : '', contentName: (_m = (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.title) !== null && _m !== void 0 ? _m : '', playType, startTime: videoCurrentTime, videoDuration, contentTags: JSON.stringify((_p = (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.tags) !== null && _p !== void 0 ? _p : []), position: index + '', contentFormat: 'video', traceInfo: (_q = item === null || item === void 0 ? void 0 : item.video) === null || _q === void 0 ? void 0 : _q.traceInfo }, ((isFirstPlayRef === null || isFirstPlayRef === void 0 ? void 0 : isFirstPlayRef.current) && { loadTime: (loadedTimeRef === null || loadedTimeRef === void 0 ? void 0 : loadedTimeRef.current) - (initTimeRef === null || initTimeRef === void 0 ? void 0 : initTimeRef.current) + '' }))
18226
+ eventInfo: Object.assign({ eventSubject: 'playVideo', eventDescription: 'User played the video', contentId: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.itemId) !== null && _k !== void 0 ? _k : '', sceneId: (_o = (_m = (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.scene) === null || _m === void 0 ? void 0 : _m.sceneId) !== null && _o !== void 0 ? _o : '', contentName: (_q = (_p = item === null || item === void 0 ? void 0 : item.video) === null || _p === void 0 ? void 0 : _p.title) !== null && _q !== void 0 ? _q : '', playType, startTime: videoCurrentTime, videoDuration, contentTags: JSON.stringify((_s = (_r = item === null || item === void 0 ? void 0 : item.video) === null || _r === void 0 ? void 0 : _r.tags) !== null && _s !== void 0 ? _s : []), position: index + '', contentFormat: 'video', traceInfo: (_t = item === null || item === void 0 ? void 0 : item.video) === null || _t === void 0 ? void 0 : _t.traceInfo }, ((isFirstPlayRef === null || isFirstPlayRef === void 0 ? void 0 : isFirstPlayRef.current) && { loadTime: (loadedTimeRef === null || loadedTimeRef === void 0 ? void 0 : loadedTimeRef.current) - (initTimeRef === null || initTimeRef === void 0 ? void 0 : initTimeRef.current) + '' }))
18166
18227
  });
18167
18228
  isFirstPlayRef.current = false;
18168
18229
  }
18169
18230
  }), [bffEventReport, data, index, isFirstPlayRef, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
18170
- const setCurrentTimeByStartTime = React.useCallback(() => {
18171
- if (isDiyH5) {
18172
- videoRef.current.currentTime = scene === null || scene === void 0 ? void 0 : scene.startTime;
18173
- }
18174
- }, []);
18175
18231
  const handLoadeddata = React.useCallback(() => {
18176
18232
  if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) || firstFrameSrc || !blur)
18177
18233
  return;
@@ -18196,13 +18252,12 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
18196
18252
  const handleLoadedmetadata = React.useCallback(() => {
18197
18253
  if (!videoRef.current)
18198
18254
  return;
18199
- setCurrentTimeByStartTime();
18200
18255
  loadedTimeRef.current = new Date();
18201
18256
  handleStartPlay();
18202
18257
  handLoadeddata();
18203
18258
  }, [videoRef.current, handLoadeddata, handleStartPlay]);
18204
18259
  const handleClickVideo = React.useCallback((type) => () => {
18205
- var _a, _b, _c, _d, _e, _f;
18260
+ var _a, _b, _c, _d, _e;
18206
18261
  if (!videoRef.current)
18207
18262
  return;
18208
18263
  if (!isLoadFinish)
@@ -18223,20 +18278,17 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
18223
18278
  break;
18224
18279
  default:
18225
18280
  if (isPause) {
18226
- if (isDiyH5 && Math.round((_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.currentTime) >= (scene === null || scene === void 0 ? void 0 : scene.endTime)) {
18227
- videoRef.current.currentTime = scene === null || scene === void 0 ? void 0 : scene.startTime;
18228
- }
18229
- (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.play();
18281
+ (_d = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _d === void 0 ? void 0 : _d.play();
18230
18282
  }
18231
18283
  else {
18232
- (_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.pause();
18284
+ (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.pause();
18233
18285
  }
18234
18286
  setIsPauseVideo(!isPause);
18235
18287
  break;
18236
18288
  }
18237
18289
  }, [isLoadFinish, videoRef === null || videoRef === void 0 ? void 0 : videoRef.current]);
18238
18290
  const handlePause = React.useCallback(() => {
18239
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
18291
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
18240
18292
  if (!(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current))
18241
18293
  return;
18242
18294
  if (activeIndex !== index)
@@ -18252,14 +18304,15 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
18252
18304
  eventSubject: 'playOverVideo',
18253
18305
  eventDescription: 'User finished playing the video',
18254
18306
  contentId: (_h = (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
18255
- contentName: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : '',
18307
+ sceneId: (_l = (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.scene) === null || _k === void 0 ? void 0 : _k.sceneId) !== null && _l !== void 0 ? _l : '',
18308
+ contentName: (_o = (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.title) !== null && _o !== void 0 ? _o : '',
18256
18309
  endTime: videoCurrentTime,
18257
18310
  videoDuration,
18258
18311
  playDuration,
18259
- contentTags: JSON.stringify((_m = (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : []),
18312
+ contentTags: JSON.stringify((_q = (_p = item === null || item === void 0 ? void 0 : item.video) === null || _p === void 0 ? void 0 : _p.tags) !== null && _q !== void 0 ? _q : []),
18260
18313
  position: index + '',
18261
18314
  contentFormat: 'video',
18262
- traceInfo: (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
18315
+ traceInfo: (_r = item === null || item === void 0 ? void 0 : item.video) === null || _r === void 0 ? void 0 : _r.traceInfo
18263
18316
  }
18264
18317
  });
18265
18318
  }
@@ -18267,27 +18320,8 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
18267
18320
  const handleWaiting = React.useCallback(() => {
18268
18321
  setWaiting(true);
18269
18322
  }, []);
18270
- const handleTimeUpload = () => {
18271
- if (!videoRef.current || !isDiyH5)
18272
- return;
18273
- setTimeout(() => {
18274
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
18275
- if (Math.round((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.currentTime) >= ((_b = scene === null || scene === void 0 ? void 0 : scene.endTime) !== null && _b !== void 0 ? _b : 0)) {
18276
- (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.pause();
18277
- if (!loopPlayRef.current)
18278
- return;
18279
- if (index === (data === null || data === void 0 ? void 0 : data.length) - 1) {
18280
- (_e = (_d = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _d === void 0 ? void 0 : _d.swiper) === null || _e === void 0 ? void 0 : _e.slideTo(0);
18281
- }
18282
- else {
18283
- const i = (_g = (_f = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _f === void 0 ? void 0 : _f.swiper) === null || _g === void 0 ? void 0 : _g.activeIndex;
18284
- (_j = (_h = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _h === void 0 ? void 0 : _h.swiper) === null || _j === void 0 ? void 0 : _j.slideTo(i + 1);
18285
- }
18286
- }
18287
- });
18288
- };
18289
18323
  React.useEffect(() => {
18290
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
18324
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
18291
18325
  if (!isActive)
18292
18326
  return;
18293
18327
  const videoSrc = videoUrl;
@@ -18308,7 +18342,6 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
18308
18342
  hls === null || hls === void 0 ? void 0 : hls.attachMedia(videoRef === null || videoRef === void 0 ? void 0 : videoRef.current);
18309
18343
  hls === null || hls === void 0 ? void 0 : hls.on(Hls.Events.MANIFEST_PARSED, function () {
18310
18344
  var _a;
18311
- setCurrentTimeByStartTime();
18312
18345
  (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.play();
18313
18346
  });
18314
18347
  }
@@ -18322,12 +18355,11 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
18322
18355
  (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.addEventListener('play', handleStartPlay);
18323
18356
  (_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.addEventListener('playing', handlePlaying);
18324
18357
  (_g = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _g === void 0 ? void 0 : _g.addEventListener('pause', handlePause);
18325
- (_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.addEventListener('ended', handlePlay);
18358
+ (_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.addEventListener('ended', handleEnd);
18326
18359
  (_j = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _j === void 0 ? void 0 : _j.addEventListener('canplay', handlePlay);
18327
18360
  (_k = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _k === void 0 ? void 0 : _k.addEventListener('waiting', handleWaiting);
18328
- (_l = videoRef.current) === null || _l === void 0 ? void 0 : _l.addEventListener('timeupdate', handleTimeUpload);
18329
18361
  return () => {
18330
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
18362
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
18331
18363
  const isPause = (_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.paused;
18332
18364
  if (!isPause)
18333
18365
  handlePause();
@@ -18339,10 +18371,9 @@ const VideoWidget$4 = React.forwardRef(({ rec, index, height, data, muted, activ
18339
18371
  (_e = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _e === void 0 ? void 0 : _e.removeEventListener('play', handleStartPlay);
18340
18372
  (_f = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _f === void 0 ? void 0 : _f.removeEventListener('playing', handlePlaying);
18341
18373
  (_g = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _g === void 0 ? void 0 : _g.removeEventListener('pause', handlePause);
18342
- (_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.removeEventListener('ended', handlePlay);
18374
+ (_h = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _h === void 0 ? void 0 : _h.removeEventListener('ended', handleEnd);
18343
18375
  (_j = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _j === void 0 ? void 0 : _j.removeEventListener('canplay', handlePlay);
18344
18376
  (_k = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _k === void 0 ? void 0 : _k.removeEventListener('waiting', handleWaiting);
18345
- (_l = videoRef.current) === null || _l === void 0 ? void 0 : _l.removeEventListener('timeupdate', handleTimeUpload);
18346
18377
  };
18347
18378
  }, [isActive]);
18348
18379
  React.useEffect(() => {
@@ -18553,19 +18584,45 @@ const Picture = (props) => {
18553
18584
  }, onLoad: onShowFirstImage }))));
18554
18585
  };
18555
18586
 
18556
- const PictureGroup$4 = ({ imgUrls, width, height, rec, index, onViewImageEndEvent, onViewImageStartEvent, imgUrlsPostConfig }) => {
18587
+ const PictureGroup$4 = React.forwardRef(({ imgUrls, data, height, rec, index, onViewImageEndEvent, onViewImageStartEvent, imgUrlsPostConfig, swiperRef }, ref) => {
18557
18588
  var _a, _b;
18558
18589
  const { isActive } = useSwiperSlide();
18559
- const { sxpParameter, openHashtag } = useSxpDataSource();
18590
+ const { firstRtcList, openHashtag, isDiyH5 } = useSxpDataSource();
18560
18591
  const [isLoad, setIsLoad] = React.useState(false);
18561
18592
  const [imgInfo, setImgInfo] = React.useState();
18562
18593
  const [swiperActiveIndex, setSwiperActiveIndex] = React.useState(0);
18563
- const swiperRef = React.useRef();
18594
+ const imgsSwiperRef = React.useRef();
18564
18595
  const isFirstPlayRef = React.useRef(true);
18596
+ const loopPlayRef = React.useRef(true);
18565
18597
  const initTime = new Date();
18598
+ React.useImperativeHandle(ref, () => {
18599
+ return {
18600
+ setLoopPlay(v) {
18601
+ loopPlayRef.current = v;
18602
+ }
18603
+ };
18604
+ });
18605
+ React.useEffect(() => {
18606
+ let timerId;
18607
+ if (isLoad && isActive && isDiyH5) {
18608
+ timerId = setTimeout(() => {
18609
+ var _a, _b, _c, _d;
18610
+ if (!loopPlayRef.current)
18611
+ return;
18612
+ if (firstRtcList && index < (firstRtcList === null || firstRtcList === void 0 ? void 0 : firstRtcList.length) - 1) {
18613
+ const i = (_b = (_a = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _a === void 0 ? void 0 : _a.swiper) === null || _b === void 0 ? void 0 : _b.activeIndex;
18614
+ (_d = (_c = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _c === void 0 ? void 0 : _c.swiper) === null || _d === void 0 ? void 0 : _d.slideTo(i + 1);
18615
+ }
18616
+ }, 3000);
18617
+ }
18618
+ return () => {
18619
+ if (timerId)
18620
+ clearTimeout(timerId);
18621
+ };
18622
+ }, [isLoad, isActive, isDiyH5, index, swiperRef, firstRtcList]);
18566
18623
  React.useEffect(() => {
18567
18624
  if (isLoad && isActive) {
18568
- (swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) && swiperRef.current.swiper.autoplay.start();
18625
+ (imgsSwiperRef === null || imgsSwiperRef === void 0 ? void 0 : imgsSwiperRef.current) && imgsSwiperRef.current.swiper.autoplay.start();
18569
18626
  if (openHashtag) {
18570
18627
  onViewImageEndEvent(rec);
18571
18628
  }
@@ -18575,7 +18632,7 @@ const PictureGroup$4 = ({ imgUrls, width, height, rec, index, onViewImageEndEven
18575
18632
  }
18576
18633
  }
18577
18634
  else {
18578
- (swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) && swiperRef.current.swiper.autoplay.stop();
18635
+ (imgsSwiperRef === null || imgsSwiperRef === void 0 ? void 0 : imgsSwiperRef.current) && imgsSwiperRef.current.swiper.autoplay.stop();
18579
18636
  }
18580
18637
  }, [rec, isActive, onViewImageEndEvent, openHashtag, index, onViewImageStartEvent, isLoad, imgInfo]);
18581
18638
  const showFirstImageFn = React.useCallback((e) => __awaiter(void 0, void 0, void 0, function* () {
@@ -18602,13 +18659,13 @@ const PictureGroup$4 = ({ imgUrls, width, height, rec, index, onViewImageEndEven
18602
18659
  };
18603
18660
  }, [isActive, imgInfo]);
18604
18661
  const handleMouseEnter = React.useCallback(() => {
18605
- if (swiperRef.current && swiperRef.current.swiper && isAlly) {
18606
- swiperRef.current.swiper.autoplay.stop();
18662
+ if (imgsSwiperRef.current && imgsSwiperRef.current.swiper && isAlly) {
18663
+ imgsSwiperRef.current.swiper.autoplay.stop();
18607
18664
  }
18608
18665
  }, []);
18609
18666
  const handleMouseLeave = React.useCallback(() => {
18610
- if (swiperRef.current && swiperRef.current.swiper && isAlly) {
18611
- swiperRef.current.swiper.autoplay.start();
18667
+ if (imgsSwiperRef.current && imgsSwiperRef.current.swiper && isAlly) {
18668
+ imgsSwiperRef.current.swiper.autoplay.start();
18612
18669
  }
18613
18670
  }, []);
18614
18671
  const handleSlideChange = React.useCallback((swiper) => {
@@ -18629,7 +18686,7 @@ const PictureGroup$4 = ({ imgUrls, width, height, rec, index, onViewImageEndEven
18629
18686
  enabled: true
18630
18687
  }
18631
18688
  }
18632
- : {}), { loop: true, ref: swiperRef, onSlideChange: handleSlideChange, className: css.css(Object.assign(Object.assign({ '.swiper-pagination': {
18689
+ : {}), { loop: true, ref: imgsSwiperRef, onSlideChange: handleSlideChange, className: css.css(Object.assign(Object.assign({ '.swiper-pagination': {
18633
18690
  bottom: (_a = imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.marginBottom) !== null && _a !== void 0 ? _a : 0,
18634
18691
  fontSize: '14px'
18635
18692
  } }, ((imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.dotsBgColor) && {
@@ -18646,7 +18703,7 @@ const PictureGroup$4 = ({ imgUrls, width, height, rec, index, onViewImageEndEven
18646
18703
  return (React.createElement(SwiperSlide, { key: srcKey, "aria-hidden": srcKey !== swiperActiveIndex },
18647
18704
  React.createElement(Picture, { src: !isLoad && srcKey > 0 ? '' : url, height: height, imgUrlsPostConfig: imgUrlsPostConfig, onShowFirstImage: showFirstImageFn })));
18648
18705
  }))));
18649
- };
18706
+ });
18650
18707
  var PictureGroup$5 = React.memo(PictureGroup$4);
18651
18708
 
18652
18709
  /*
@@ -18767,22 +18824,10 @@ function withBindDataSource(Component) {
18767
18824
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\RenderCard.tsx
18768
18825
  *
18769
18826
  */
18770
- const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive, isNineProduct }) => {
18771
- var _a, _b, _c, _d, _e;
18827
+ const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive, value, isNineProduct }) => {
18772
18828
  const { schema } = useEditor();
18773
18829
  if (!(rec === null || rec === void 0 ? void 0 : rec.video))
18774
18830
  return null;
18775
- let cta = null;
18776
- 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) {
18777
- cta = '多商品CTA';
18778
- }
18779
- else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
18780
- cta = '商品CTA';
18781
- }
18782
- else {
18783
- 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;
18784
- }
18785
- const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
18786
18831
  const renderComp = React.useMemo(() => {
18787
18832
  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;
18788
18833
  // 如果includesCtaType有值,则只渲染includesCtaType包含的cta类型组件,用于在页面某处只显示某一组件
@@ -18810,7 +18855,7 @@ const RenderCard = ({ rec, index, tempMap, resolver, includesCtaType, isActive,
18810
18855
  const sbf = style.backdropFilter;
18811
18856
  style.backdropFilter = `blur(${sbf !== null && sbf !== void 0 ? sbf : 0}px)`;
18812
18857
  }
18813
- return (React.createElement(Component, Object.assign({ style: Object.assign(Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.style), style), { zIndex: 50, marginInlineEnd: '20px', boxSizing: 'border-box', transform: 'translate3d(0px, 0px, 0px)' }), textStyle: Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.textStyle), (_z = value === null || value === void 0 ? void 0 : value.item) === null || _z === void 0 ? void 0 : _z.textStyle), bindDatas: (_1 = (_0 = value === null || value === void 0 ? void 0 : value.item) === null || _0 === void 0 ? void 0 : _0.bindDatas) !== null && _1 !== void 0 ? _1 : [] }, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.props, (_2 = value === null || value === void 0 ? void 0 : value.item) === null || _2 === void 0 ? void 0 : _2.props, { event: ((_3 = value === null || value === void 0 ? void 0 : value.item) === null || _3 === void 0 ? void 0 : _3.event) || {}, schema: schema, id: value === null || value === void 0 ? void 0 : value.id, key: value === null || value === void 0 ? void 0 : value.id, recData: rec, isExternalLink: isExternalLink, index: index, isActive: isActive })));
18858
+ return (React.createElement(Component, Object.assign({ style: Object.assign(Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.style), style), { zIndex: 50, marginLeft: '20px', boxSizing: 'border-box', transform: 'translate3d(0px, 0px, 0px)' }), textStyle: Object.assign(Object.assign({}, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.textStyle), (_z = value === null || value === void 0 ? void 0 : value.item) === null || _z === void 0 ? void 0 : _z.textStyle), bindDatas: (_1 = (_0 = value === null || value === void 0 ? void 0 : value.item) === null || _0 === void 0 ? void 0 : _0.bindDatas) !== null && _1 !== void 0 ? _1 : [] }, defaulSetting === null || defaulSetting === void 0 ? void 0 : defaulSetting.props, (_2 = value === null || value === void 0 ? void 0 : value.item) === null || _2 === void 0 ? void 0 : _2.props, { event: ((_3 = value === null || value === void 0 ? void 0 : value.item) === null || _3 === void 0 ? void 0 : _3.event) || {}, schema: schema, id: value === null || value === void 0 ? void 0 : value.id, key: value === null || value === void 0 ? void 0 : value.id, recData: rec, isExternalLink: isExternalLink, index: index, isActive: isActive })));
18814
18859
  }
18815
18860
  else {
18816
18861
  return null;
@@ -18938,7 +18983,7 @@ var NavBack$1 = React.memo(NavBack);
18938
18983
  * @Author: binruan@chatlabs.com
18939
18984
  * @Date: 2024-03-20 10:27:31
18940
18985
  * @LastEditors: binruan@chatlabs.com
18941
- * @LastEditTime: 2025-05-09 15:51:40
18986
+ * @LastEditTime: 2025-05-12 14:26:15
18942
18987
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
18943
18988
  *
18944
18989
  */
@@ -18958,6 +19003,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
18958
19003
  const skipLinkRef = React.useRef(false);
18959
19004
  const [pageNum, setPageNum] = React.useState(2);
18960
19005
  const videoWidgetRef = React.useRef(null);
19006
+ const pictureGroupRef = React.useRef(null);
18961
19007
  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();
18962
19008
  const { backMainFeed, productView, jumpToWeb } = useEventReport();
18963
19009
  const isShowFingerTip = React.useMemo(() => {
@@ -19005,7 +19051,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19005
19051
  (_a = swiperRef === null || swiperRef === void 0 ? void 0 : swiperRef.current) === null || _a === void 0 ? void 0 : _a.swiper.slideTo(index);
19006
19052
  }, [data, ctaType, swiperRef]);
19007
19053
  const handleSessionCompleted = React.useCallback((fk) => {
19008
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
19054
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
19009
19055
  const item = data === null || data === void 0 ? void 0 : data[activeIndex];
19010
19056
  let fromKName = '';
19011
19057
  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))) {
@@ -19032,12 +19078,13 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19032
19078
  eventSubject: 'sessionCompleted',
19033
19079
  eventDescription: 'Session completed',
19034
19080
  contentId: (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.itemId,
19035
- productId: (_o = item === null || item === void 0 ? void 0 : item.product) === null || _o === void 0 ? void 0 : _o.itemId,
19081
+ sceneId: (_q = (_p = (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.scene) === null || _p === void 0 ? void 0 : _p.sceneId) !== null && _q !== void 0 ? _q : '',
19082
+ productId: (_r = item === null || item === void 0 ? void 0 : item.product) === null || _r === void 0 ? void 0 : _r.itemId,
19036
19083
  position: activeIndex + '',
19037
19084
  fromKName: fk || fromKName,
19038
19085
  fromKPage: location === null || location === void 0 ? void 0 : location.href,
19039
- 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 : '',
19040
- 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 : ''
19086
+ ctatId: (_u = (_t = (_s = item === null || item === void 0 ? void 0 : item.video) === null || _s === void 0 ? void 0 : _s.bindCta) === null || _t === void 0 ? void 0 : _t.itemId) !== null && _u !== void 0 ? _u : '',
19087
+ traceInfo: (_y = (_w = (_v = item === null || item === void 0 ? void 0 : item.video) === null || _v === void 0 ? void 0 : _v.traceInfo) !== null && _w !== void 0 ? _w : (_x = item === null || item === void 0 ? void 0 : item.product) === null || _x === void 0 ? void 0 : _x.traceInfo) !== null && _y !== void 0 ? _y : ''
19041
19088
  }
19042
19089
  });
19043
19090
  }, [data, bffEventReport, activeIndex, popupDetailData, tempMap, isFromHashtag, curTime]);
@@ -19096,8 +19143,9 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19096
19143
  refreshFeSession
19097
19144
  ]);
19098
19145
  const handleSessionExpire = React.useCallback(lodash.debounce(() => {
19099
- var _a;
19146
+ var _a, _b;
19100
19147
  (_a = videoWidgetRef.current) === null || _a === void 0 ? void 0 : _a.setLoopPlay(false);
19148
+ (_b = pictureGroupRef.current) === null || _b === void 0 ? void 0 : _b.setLoopPlay(false);
19101
19149
  refreshFeSession === null || refreshFeSession === void 0 ? void 0 : refreshFeSession(false, handleSessionCompleted);
19102
19150
  }, 1000), [handleSessionCompleted, refreshFeSession]);
19103
19151
  React.useEffect(() => {
@@ -19167,18 +19215,18 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19167
19215
  return null;
19168
19216
  }, [globalConfig, activeIndex, visList]);
19169
19217
  const renderContent = React.useCallback((rec, index) => {
19170
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
19218
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
19171
19219
  if (rec === 'organic menu') {
19172
19220
  return (React.createElement(MultiPosts$2, Object.assign({ recData: data === null || data === void 0 ? void 0 : data[1] }, (_c = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.item) === null || _c === void 0 ? void 0 : _c.props, (_f = (_e = (_d = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.multiPosts) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.item) === null || _f === void 0 ? void 0 : _f.event)));
19173
19221
  }
19174
- if ((_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.url) {
19222
+ if (((_h = (_g = rec.video) === null || _g === void 0 ? void 0 : _g.scene) === null || _h === void 0 ? void 0 : _h.mediaUrl) || ((_j = rec === null || rec === void 0 ? void 0 : rec.video) === null || _j === void 0 ? void 0 : _j.url)) {
19175
19223
  return (React.createElement(VideoWidget$5, Object.assign({ key: isReload }, (activeIndex === index && { ref: videoWidgetRef }), { rec: rec, index: index, muted: isMuted, data: data, height: height, activeIndex: activeIndex, videoPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPost, videoPlayIcon: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.videoPlayIcon, loopPlay: true, swiperRef: swiperRef })));
19176
19224
  }
19177
- if ((_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.imgUrls) {
19178
- return (React.createElement(PictureGroup$5, { key: rec === null || rec === void 0 ? void 0 : rec.video.itemId, imgUrls: rec === null || rec === void 0 ? void 0 : rec.video.imgUrls, width: containerWidth, height: height, rec: rec, index: index, onViewImageEndEvent: handleViewImageStartEnd, onViewImageStartEvent: handleViewImageStartEvent, imgUrlsPostConfig: globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.imgUrlsPost }));
19225
+ if ((_k = rec === null || rec === void 0 ? void 0 : rec.video) === null || _k === void 0 ? void 0 : _k.imgUrls) {
19226
+ return (React.createElement(PictureGroup$5, Object.assign({ data: data }, (activeIndex === index && { ref: pictureGroupRef }), { 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, swiperRef: swiperRef })));
19179
19227
  }
19180
- 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) {
19181
- return (_k = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _k === void 0 ? void 0 : _k.map((value, idx) => {
19228
+ if (rec.product && Array.isArray(globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) && ((_l = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _l === void 0 ? void 0 : _l.length) > 0) {
19229
+ return (_m = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.productPost) === null || _m === void 0 ? void 0 : _m.map((value, idx) => {
19182
19230
  var _a, _b, _c, _d, _e, _f, _g, _h;
19183
19231
  const t = resolver[(_a = value === null || value === void 0 ? void 0 : value.item) === null || _a === void 0 ? void 0 : _a.type];
19184
19232
  const Component = withBindDataSource(t);
@@ -19216,7 +19264,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19216
19264
  };
19217
19265
  }, [isShowMore]);
19218
19266
  const renderBottom = React.useCallback((rec, index) => {
19219
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
19267
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
19220
19268
  if (rec === null || rec === void 0 ? void 0 : rec.video) {
19221
19269
  let cta = null;
19222
19270
  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) {
@@ -19225,25 +19273,28 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19225
19273
  else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
19226
19274
  cta = '商品CTA';
19227
19275
  }
19276
+ 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)) {
19277
+ cta = '服务CTA';
19278
+ }
19228
19279
  else {
19229
- 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;
19280
+ cta = (_h = (_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.bindCta) === null || _h === void 0 ? void 0 : _h.itemId;
19230
19281
  }
19231
19282
  const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
19232
19283
  const isNineProduct = (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.nineProductEnable) &&
19233
19284
  index === ((rtcList === null || rtcList === void 0 ? void 0 : rtcList[0]) === 'organic menu' ? 2 : 1) &&
19234
- ((_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));
19285
+ ((_j = ['MultiCommodity', 'MultiCommodityDiro', 'MultiCommodityDiroNew']) === null || _j === void 0 ? void 0 : _j.includes((_k = value === null || value === void 0 ? void 0 : value.item) === null || _k === void 0 ? void 0 : _k.type));
19235
19286
  return (React.createElement(React.Fragment, null,
19236
- isNineProduct && (React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, isNineProduct: isNineProduct })),
19237
- ((_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' }),
19238
- 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` } },
19287
+ isNineProduct && (React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, value: value, isNineProduct: isNineProduct })),
19288
+ ((_l = rec === null || rec === void 0 ? void 0 : rec.video) === null || _l === void 0 ? void 0 : _l.title) && !isShowMore && React.createElement("div", { className: 'clc-sxp-bottom-shadow' }),
19289
+ React.createElement("div", { className: 'clc-sxp-bottom', style: { marginBottom: `${(_m = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _m !== void 0 ? _m : 40}px` } },
19239
19290
  React.createElement(Nudge, { nudge: nudge }),
19240
19291
  ((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' },
19241
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex }))) : null,
19292
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, isActive: index === activeIndex, value: value }))) : null,
19242
19293
  React.createElement("div", null,
19243
- React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_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 }),
19244
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'], isActive: index === activeIndex }),
19245
- React.createElement(Hashtag$1, { 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) }))),
19246
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
19294
+ React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_p = (_o = rec === null || rec === void 0 ? void 0 : rec.video) === null || _o === void 0 ? void 0 : _o.title) !== null && _p !== void 0 ? _p : '', 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 }),
19295
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLink'], isActive: index === activeIndex, value: value }),
19296
+ React.createElement(Hashtag$1, { index: activeIndex, tags: (_r = (_q = rec === null || rec === void 0 ? void 0 : rec.video) === null || _q === void 0 ? void 0 : _q.hashTags) !== null && _r !== void 0 ? _r : [], itemId: (_s = rec === null || rec === void 0 ? void 0 : rec.video) === null || _s === void 0 ? void 0 : _s.itemId, itemType: ((_t = rec === null || rec === void 0 ? void 0 : rec.video) === null || _t === void 0 ? void 0 : _t.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle, hashTagRightMargin: containerWidth - (hashTagRightMargin !== null && hashTagRightMargin !== void 0 ? hashTagRightMargin : 0) }))),
19297
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: resolver, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex, value: value })));
19247
19298
  }
19248
19299
  return null;
19249
19300
  }, [
@@ -19281,7 +19332,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19281
19332
  return null;
19282
19333
  }, [globalConfig, waterFallData]);
19283
19334
  const handleViewImageStartEnd = (item) => {
19284
- var _a, _b, _c, _d, _e, _f;
19335
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
19285
19336
  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)) {
19286
19337
  const endTime = Date.now();
19287
19338
  const duration = viewImageStartTime.current === 0 ? 0 : (endTime - viewImageStartTime.current) / 1000;
@@ -19290,10 +19341,11 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19290
19341
  eventSubject: 'viewImageCarouselEnd',
19291
19342
  eventDescription: 'User end view the image carousel',
19292
19343
  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 : '',
19293
- contentName: (_e = item === null || item === void 0 ? void 0 : item.video.title) !== null && _e !== void 0 ? _e : '',
19344
+ sceneId: (_g = (_f = (_e = item === null || item === void 0 ? void 0 : item.video) === null || _e === void 0 ? void 0 : _e.scene) === null || _f === void 0 ? void 0 : _f.sceneId) !== null && _g !== void 0 ? _g : '',
19345
+ contentName: (_h = item === null || item === void 0 ? void 0 : item.video.title) !== null && _h !== void 0 ? _h : '',
19294
19346
  imageEndTime: `${endTime}`,
19295
19347
  playDuration: `${duration}`,
19296
- contentTags: JSON.stringify((_f = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _f !== void 0 ? _f : []),
19348
+ contentTags: JSON.stringify((_j = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _j !== void 0 ? _j : []),
19297
19349
  position: activeIndex + '',
19298
19350
  contentFormat: 'image',
19299
19351
  traceInfo: item === null || item === void 0 ? void 0 : item.video.traceInfo
@@ -19302,7 +19354,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19302
19354
  }
19303
19355
  };
19304
19356
  const handleSlideSkip = (item, position) => {
19305
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
19357
+ 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;
19306
19358
  if (isPreview || waterFallData)
19307
19359
  return;
19308
19360
  const t = new Date() - curTime.current;
@@ -19328,7 +19380,8 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19328
19380
  contentTags: (product === null || product === void 0 ? void 0 : product.tags) ? JSON.stringify(product === null || product === void 0 ? void 0 : product.tags) : '',
19329
19381
  position: position + '',
19330
19382
  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 : '',
19331
- 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 : '',
19383
+ sceneId: (_w = (_v = (_u = item === null || item === void 0 ? void 0 : item.video) === null || _u === void 0 ? void 0 : _u.scene) === null || _v === void 0 ? void 0 : _v.sceneId) !== null && _w !== void 0 ? _w : '',
19384
+ 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 : '',
19332
19385
  contentFormat
19333
19386
  }
19334
19387
  });
@@ -19338,7 +19391,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19338
19391
  }
19339
19392
  };
19340
19393
  const handleScrollEvent = (swiper) => {
19341
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
19394
+ 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;
19342
19395
  const item = data[swiper.previousIndex];
19343
19396
  if (!item)
19344
19397
  return;
@@ -19355,11 +19408,12 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19355
19408
  eventSubject: 'scrollDown',
19356
19409
  eventDescription: 'User scroll down',
19357
19410
  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 : '',
19358
- 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 : '',
19411
+ sceneId: (_h = (_g = (_f = item === null || item === void 0 ? void 0 : item.video) === null || _f === void 0 ? void 0 : _f.scene) === null || _g === void 0 ? void 0 : _g.sceneId) !== null && _h !== void 0 ? _h : '',
19412
+ 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 : '',
19359
19413
  requestId: null,
19360
- 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 : '',
19414
+ traceInfo: (_p = (_m = (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.traceInfo) !== null && _m !== void 0 ? _m : (_o = item === null || item === void 0 ? void 0 : item.product) === null || _o === void 0 ? void 0 : _o.traceInfo) !== null && _p !== void 0 ? _p : '',
19361
19415
  contentFormat,
19362
- position: ((_m = swiper.previousIndex) !== null && _m !== void 0 ? _m : 0) + ''
19416
+ position: ((_q = swiper.previousIndex) !== null && _q !== void 0 ? _q : 0) + ''
19363
19417
  }
19364
19418
  });
19365
19419
  // 如果上一个商品是图片集,需上报 浏览图片集结结束 事件
@@ -19371,12 +19425,13 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19371
19425
  eventInfo: {
19372
19426
  eventSubject: 'scrollUp',
19373
19427
  eventDescription: 'User scroll up',
19374
- 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 : '',
19375
- productId: (_r = (_q = item.product) === null || _q === void 0 ? void 0 : _q.itemId) !== null && _r !== void 0 ? _r : '',
19428
+ contentId: (_s = (_r = item === null || item === void 0 ? void 0 : item.video) === null || _r === void 0 ? void 0 : _r.itemId) !== null && _s !== void 0 ? _s : '',
19429
+ sceneId: (_v = (_u = (_t = item === null || item === void 0 ? void 0 : item.video) === null || _t === void 0 ? void 0 : _t.scene) === null || _u === void 0 ? void 0 : _u.sceneId) !== null && _v !== void 0 ? _v : '',
19430
+ productId: (_x = (_w = item.product) === null || _w === void 0 ? void 0 : _w.itemId) !== null && _x !== void 0 ? _x : '',
19376
19431
  requestId: null,
19377
- 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 : '',
19432
+ traceInfo: (_1 = (_z = (_y = item === null || item === void 0 ? void 0 : item.video) === null || _y === void 0 ? void 0 : _y.traceInfo) !== null && _z !== void 0 ? _z : (_0 = item === null || item === void 0 ? void 0 : item.product) === null || _0 === void 0 ? void 0 : _0.traceInfo) !== null && _1 !== void 0 ? _1 : '',
19378
19433
  contentFormat,
19379
- position: ((_w = swiper.previousIndex) !== null && _w !== void 0 ? _w : 0) + ''
19434
+ position: ((_2 = swiper.previousIndex) !== null && _2 !== void 0 ? _2 : 0) + ''
19380
19435
  }
19381
19436
  });
19382
19437
  // 如果上一个商品是图片集,需上报 浏览图片集结结束 事件
@@ -19402,7 +19457,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19402
19457
  }
19403
19458
  }, [openHashtag, data, activeIndex]);
19404
19459
  const handleViewImageStartEvent = (activeIndex, imgInfo, enableCapi) => {
19405
- var _a, _b, _c, _d, _e, _f, _g, _h;
19460
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
19406
19461
  const item = data[activeIndex];
19407
19462
  // 如果是图片集则上报事件
19408
19463
  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)) {
@@ -19413,9 +19468,10 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19413
19468
  eventSubject: 'viewImageCarouselStart',
19414
19469
  eventDescription: 'User start view the image carousel',
19415
19470
  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 : '',
19416
- contentName: (_e = item === null || item === void 0 ? void 0 : item.video.title) !== null && _e !== void 0 ? _e : '',
19471
+ sceneId: (_g = (_f = (_e = item === null || item === void 0 ? void 0 : item.video) === null || _e === void 0 ? void 0 : _e.scene) === null || _f === void 0 ? void 0 : _f.sceneId) !== null && _g !== void 0 ? _g : '',
19472
+ contentName: (_h = item === null || item === void 0 ? void 0 : item.video.title) !== null && _h !== void 0 ? _h : '',
19417
19473
  imageStartTime: `${startTime}`,
19418
- contentTags: JSON.stringify((_f = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _f !== void 0 ? _f : []),
19474
+ contentTags: JSON.stringify((_j = item === null || item === void 0 ? void 0 : item.video.tags) !== null && _j !== void 0 ? _j : []),
19419
19475
  position: activeIndex + '',
19420
19476
  contentFormat: 'image',
19421
19477
  traceInfo: item === null || item === void 0 ? void 0 : item.video.traceInfo,
@@ -19425,11 +19481,11 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19425
19481
  if (enableCapi) {
19426
19482
  bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
19427
19483
  eventName: 'ViewContent',
19428
- product: (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.bindProduct
19484
+ product: (_k = item === null || item === void 0 ? void 0 : item.video) === null || _k === void 0 ? void 0 : _k.bindProduct
19429
19485
  });
19430
19486
  bffFbReport === null || bffFbReport === void 0 ? void 0 : bffFbReport({
19431
19487
  eventName: 'PageView',
19432
- product: (_h = item === null || item === void 0 ? void 0 : item.video) === null || _h === void 0 ? void 0 : _h.bindProduct
19488
+ product: (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.bindProduct
19433
19489
  });
19434
19490
  }
19435
19491
  }
@@ -19521,15 +19577,20 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
19521
19577
  swiperRef.current.swiper.allowTouchMove = true;
19522
19578
  }, 500);
19523
19579
  }, onActiveIndexChange: (swiper) => {
19580
+ var _a, _b;
19524
19581
  setActiveIndex(swiper.activeIndex);
19525
19582
  if (openHashtag)
19526
19583
  return;
19527
19584
  // 处理上滑下滑事件
19528
19585
  handleScrollEvent(swiper);
19529
- if (waterFallData || isEditor || isDiyH5)
19586
+ if (waterFallData || isEditor)
19530
19587
  return;
19531
19588
  if ((swiper === null || swiper === void 0 ? void 0 : swiper.activeIndex) + 1 >= (data === null || data === void 0 ? void 0 : data.length)) {
19532
19589
  if (!isLoadMore) {
19590
+ if (isDiyH5) {
19591
+ (_a = videoWidgetRef.current) === null || _a === void 0 ? void 0 : _a.setLoopPlay(false);
19592
+ (_b = pictureGroupRef.current) === null || _b === void 0 ? void 0 : _b.setLoopPlay(false);
19593
+ }
19533
19594
  setIsLoadMore(true);
19534
19595
  loadVideos === null || loadVideos === void 0 ? void 0 : loadVideos(pageNum).then((res) => {
19535
19596
  var _a;
@@ -19582,7 +19643,7 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
19582
19643
  }, []);
19583
19644
  const PAUSE_ICON = useIconLink('/pb_static/06f28a2025c74c1cb49be6767316d827.png');
19584
19645
  const handlePlaying = React.useCallback(() => {
19585
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
19646
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
19586
19647
  setIsPauseVideo(false);
19587
19648
  const item = data[index];
19588
19649
  if (item && ((_a = videoRef === null || videoRef === void 0 ? void 0 : videoRef.current) === null || _a === void 0 ? void 0 : _a.duration)) {
@@ -19595,14 +19656,15 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
19595
19656
  eventSubject: 'playVideo',
19596
19657
  eventDescription: 'User played the video',
19597
19658
  contentId: (_h = (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
19598
- contentName: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : '',
19659
+ sceneId: (_l = (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.scene) === null || _k === void 0 ? void 0 : _k.sceneId) !== null && _l !== void 0 ? _l : '',
19660
+ contentName: (_o = (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.title) !== null && _o !== void 0 ? _o : '',
19599
19661
  playType,
19600
19662
  startTime: videoCurrentTime,
19601
19663
  videoDuration,
19602
- contentTags: JSON.stringify((_m = (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : []),
19664
+ contentTags: JSON.stringify((_q = (_p = item === null || item === void 0 ? void 0 : item.video) === null || _p === void 0 ? void 0 : _p.tags) !== null && _q !== void 0 ? _q : []),
19603
19665
  position: index + '',
19604
19666
  contentFormat: 'video',
19605
- traceInfo: (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
19667
+ traceInfo: (_r = item === null || item === void 0 ? void 0 : item.video) === null || _r === void 0 ? void 0 : _r.traceInfo
19606
19668
  }
19607
19669
  });
19608
19670
  setIsFirstPlay(false);
@@ -19641,7 +19703,7 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
19641
19703
  }
19642
19704
  }, [isLoadFinish]);
19643
19705
  const onPause = React.useCallback(() => {
19644
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
19706
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
19645
19707
  const item = data[index];
19646
19708
  const videoDuration = ((_b = (_a = videoRef.current) === null || _a === void 0 ? void 0 : _a.duration) !== null && _b !== void 0 ? _b : 0).toFixed(2);
19647
19709
  const videoCurrentTime = ((_d = (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.currentTime) !== null && _d !== void 0 ? _d : 0).toFixed(2);
@@ -19652,14 +19714,15 @@ const VideoWidget$2 = ({ rec, index, height, data, muted, activeIndex, videoPost
19652
19714
  eventSubject: 'playOverVideo',
19653
19715
  eventDescription: 'User finished playing the video',
19654
19716
  contentId: (_h = (_g = item === null || item === void 0 ? void 0 : item.video) === null || _g === void 0 ? void 0 : _g.itemId) !== null && _h !== void 0 ? _h : '',
19655
- contentName: (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : '',
19717
+ sceneId: (_l = (_k = (_j = item === null || item === void 0 ? void 0 : item.video) === null || _j === void 0 ? void 0 : _j.scene) === null || _k === void 0 ? void 0 : _k.sceneId) !== null && _l !== void 0 ? _l : '',
19718
+ contentName: (_o = (_m = item === null || item === void 0 ? void 0 : item.video) === null || _m === void 0 ? void 0 : _m.title) !== null && _o !== void 0 ? _o : '',
19656
19719
  endTime: videoCurrentTime,
19657
19720
  videoDuration,
19658
19721
  playDuration,
19659
- contentTags: JSON.stringify((_m = (_l = item === null || item === void 0 ? void 0 : item.video) === null || _l === void 0 ? void 0 : _l.tags) !== null && _m !== void 0 ? _m : []),
19722
+ contentTags: JSON.stringify((_q = (_p = item === null || item === void 0 ? void 0 : item.video) === null || _p === void 0 ? void 0 : _p.tags) !== null && _q !== void 0 ? _q : []),
19660
19723
  position: index + '',
19661
19724
  contentFormat: 'video',
19662
- traceInfo: (_o = item === null || item === void 0 ? void 0 : item.video) === null || _o === void 0 ? void 0 : _o.traceInfo
19725
+ traceInfo: (_r = item === null || item === void 0 ? void 0 : item.video) === null || _r === void 0 ? void 0 : _r.traceInfo
19663
19726
  }
19664
19727
  });
19665
19728
  }
@@ -19845,7 +19908,7 @@ const DiyPortalPreview = ({ data = [], globalConfig, tipText, nudge, tempMap, de
19845
19908
  const CTA = (rec, index) => {
19846
19909
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA)) {
19847
19910
  return (React.createElement("div", { className: 'clc-sxp-bottom-card' },
19848
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2, isActive: true })));
19911
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2 })));
19849
19912
  }
19850
19913
  return null;
19851
19914
  };
@@ -19858,10 +19921,8 @@ const DiyPortalPreview = ({ data = [], globalConfig, tipText, nudge, tempMap, de
19858
19921
  React.createElement(Nudge, { nudge: nudge }),
19859
19922
  CTA(rec, index),
19860
19923
  React.createElement("div", null,
19861
- React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_c = (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : '', 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' }) }),
19862
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2, includesCtaType: ['AniLink'], isActive: true })),
19863
- React.createElement(Hashtag$1, { index: index, tags: (_e = (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.hashTags) !== null && _e !== void 0 ? _e : [], itemId: (_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.itemId, itemType: ((_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle })),
19864
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$2, includesCtaType: ['AniLinkPopup'], isActive: true })));
19924
+ React.createElement(ExpandableText$1, { className: 'clc-sxp-bottom-text', isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_c = (_b = rec === null || rec === void 0 ? void 0 : rec.video) === null || _b === void 0 ? void 0 : _b.title) !== null && _c !== void 0 ? _c : '', 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' }) })),
19925
+ React.createElement(Hashtag$1, { index: index, tags: (_e = (_d = rec === null || rec === void 0 ? void 0 : rec.video) === null || _d === void 0 ? void 0 : _d.hashTags) !== null && _e !== void 0 ? _e : [], itemId: (_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.itemId, itemType: ((_g = rec === null || rec === void 0 ? void 0 : rec.video) === null || _g === void 0 ? void 0 : _g.itemId) ? 'VIDEO' : null, rec: rec, hashTagStyle: hashTagStyle }))));
19865
19926
  }
19866
19927
  return null;
19867
19928
  };
@@ -20251,10 +20312,21 @@ const DiyStoryPreview = React.forwardRef(({ data = [], globalConfig, tipText, nu
20251
20312
  return null;
20252
20313
  }, [globalConfig]);
20253
20314
  const renderBottom = (rec, index) => {
20254
- var _a, _b, _c, _d;
20315
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
20255
20316
  if (rec === null || rec === void 0 ? void 0 : rec.video) {
20317
+ let cta = null;
20318
+ 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) {
20319
+ cta = '多商品CTA';
20320
+ }
20321
+ else if ((_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.bindProduct) {
20322
+ cta = '商品CTA';
20323
+ }
20324
+ else {
20325
+ 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;
20326
+ }
20327
+ const value = tempMap === null || tempMap === void 0 ? void 0 : tempMap[cta];
20256
20328
  return (React.createElement(React.Fragment, null,
20257
- ((_a = rec === null || rec === void 0 ? void 0 : rec.video) === null || _a === void 0 ? void 0 : _a.title) && (React.createElement("div", { style: {
20329
+ ((_f = rec === null || rec === void 0 ? void 0 : rec.video) === null || _f === void 0 ? void 0 : _f.title) && (React.createElement("div", { style: {
20258
20330
  background: 'repeating-linear-gradient(0deg, rgba(26, 26, 25, 0.7), hsla(0, 0%, 100%, 0))',
20259
20331
  height: '130px',
20260
20332
  position: 'absolute',
@@ -20265,7 +20337,7 @@ const DiyStoryPreview = React.forwardRef(({ data = [], globalConfig, tipText, nu
20265
20337
  pointerEvents
20266
20338
  } })),
20267
20339
  React.createElement("div", { style: {
20268
- marginBottom: `${(_b = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _b !== void 0 ? _b : 40}px`,
20340
+ marginBottom: `${(_g = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.bottomInfoDist) !== null && _g !== void 0 ? _g : 40}px`,
20269
20341
  zIndex: 999,
20270
20342
  position: 'absolute',
20271
20343
  bottom: 0,
@@ -20274,15 +20346,15 @@ const DiyStoryPreview = React.forwardRef(({ data = [], globalConfig, tipText, nu
20274
20346
  paddingTop: '20px'
20275
20347
  } },
20276
20348
  (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) === undefined || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowCTA) ? (React.createElement("div", { style: {} },
20277
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, isActive: index === activeIndex }))) : null,
20349
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, isActive: index === activeIndex, value: value }))) : null,
20278
20350
  React.createElement("div", null,
20279
20351
  React.createElement(ExpandableText$1
20280
20352
  // className='clc-sxp-bottom-text'
20281
20353
  , {
20282
20354
  // className='clc-sxp-bottom-text'
20283
- isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_d = (_c = rec === null || rec === void 0 ? void 0 : rec.video) === null || _c === void 0 ? void 0 : _c.title) !== null && _d !== void 0 ? _d : '', 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', padding: '0 20px', fontSize: '12px' }) }),
20284
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLink'], isActive: index === activeIndex }))),
20285
- React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex })));
20355
+ isPost: true, foldText: tipText === null || tipText === void 0 ? void 0 : tipText.foldText, unfoldText: tipText === null || tipText === void 0 ? void 0 : tipText.unfoldText, text: (_j = (_h = rec === null || rec === void 0 ? void 0 : rec.video) === null || _h === void 0 ? void 0 : _h.title) !== null && _j !== void 0 ? _j : '', style: Object.assign(Object.assign({}, descStyle), { textShadow: (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isOpenTextShadow) ? '2px 2px 4px rgba(0, 0, 0, 0.5)' : 'none', padding: '0 20px', fontSize: '12px' }) }),
20356
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLink'], isActive: index === activeIndex, value: value }))),
20357
+ React.createElement(RenderCard$1, { rec: rec, index: index, tempMap: tempMap, resolver: RESOLVER$1, includesCtaType: ['AniLinkPopup'], isActive: index === activeIndex, value: value })));
20286
20358
  }
20287
20359
  return null;
20288
20360
  };