pb-sxp-ui 1.3.7 → 1.4.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 (47) hide show
  1. package/dist/index.cjs +177 -63
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +177 -63
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.cjs +3 -3
  6. package/dist/index.min.cjs.map +1 -1
  7. package/dist/index.min.js +3 -3
  8. package/dist/index.min.js.map +1 -1
  9. package/dist/pb-ui.js +177 -63
  10. package/dist/pb-ui.js.map +1 -1
  11. package/dist/pb-ui.min.js +3 -3
  12. package/dist/pb-ui.min.js.map +1 -1
  13. package/es/core/components/SxpPageRender/PictureGroup/index.js +11 -1
  14. package/es/core/components/SxpPageRender/WaterFall/index.js +3 -12
  15. package/es/core/components/SxpPageRender/index.d.ts +2 -0
  16. package/es/core/components/SxpPageRender/index.js +14 -4
  17. package/es/core/context/SxpDataSourceProvider.d.ts +2 -1
  18. package/es/core/context/SxpDataSourceProvider.js +22 -15
  19. package/es/core/hooks/useEventReport.js +9 -16
  20. package/es/materials/sxp/popup/AppointForm/Form.js +1 -1
  21. package/es/materials/sxp/popup/AppointForm/index.js +31 -8
  22. package/es/materials/sxp/popup/CommodityDetail/index.d.ts +3 -0
  23. package/es/materials/sxp/popup/CommodityDetail/index.js +15 -1
  24. package/es/materials/sxp/popup/CommodityDetail/settingRender.d.ts +13 -0
  25. package/es/materials/sxp/popup/CommodityDetail/settingRender.js +21 -0
  26. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.d.ts +3 -0
  27. package/es/materials/sxp/popup/CommodityDetailDiroNew/index.js +15 -1
  28. package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +13 -0
  29. package/es/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +21 -0
  30. package/lib/core/components/SxpPageRender/PictureGroup/index.js +11 -1
  31. package/lib/core/components/SxpPageRender/WaterFall/index.js +3 -12
  32. package/lib/core/components/SxpPageRender/index.d.ts +2 -0
  33. package/lib/core/components/SxpPageRender/index.js +14 -4
  34. package/lib/core/context/SxpDataSourceProvider.d.ts +2 -1
  35. package/lib/core/context/SxpDataSourceProvider.js +22 -15
  36. package/lib/core/hooks/useEventReport.js +9 -16
  37. package/lib/materials/sxp/popup/AppointForm/Form.js +1 -1
  38. package/lib/materials/sxp/popup/AppointForm/index.js +30 -7
  39. package/lib/materials/sxp/popup/CommodityDetail/index.d.ts +3 -0
  40. package/lib/materials/sxp/popup/CommodityDetail/index.js +15 -1
  41. package/lib/materials/sxp/popup/CommodityDetail/settingRender.d.ts +13 -0
  42. package/lib/materials/sxp/popup/CommodityDetail/settingRender.js +21 -0
  43. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.d.ts +3 -0
  44. package/lib/materials/sxp/popup/CommodityDetailDiroNew/index.js +15 -1
  45. package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.d.ts +13 -0
  46. package/lib/materials/sxp/popup/CommodityDetailDiroNew/settingRender.js +21 -0
  47. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -635,6 +635,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
635
635
  const [selectTag, setSelectTag] = useState(DEFAULT_TAG);
636
636
  const checkCommodityIndexRef = useRef(-1);
637
637
  const popupCurTimeRef = useRef(null);
638
+ const [isNoMoreData, setIsNoMoreData] = useState(false);
638
639
  const isShowConsent = useMemo(() => {
639
640
  var _a, _b, _c, _d;
640
641
  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;
@@ -696,7 +697,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
696
697
  }, [bffDataSource]);
697
698
  // 获取推荐视频数据
698
699
  const getRecommendVideos = useCallback((query) => __awaiter(void 0, void 0, void 0, function* () {
699
- var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
700
+ var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
700
701
  query = Object.assign(Object.assign(Object.assign({ maxSize: (_d = query === null || query === void 0 ? void 0 : query.maxSize) !== null && _d !== void 0 ? _d : maxSize, defaultSize: (_e = query === null || query === void 0 ? void 0 : query.defaultSize) !== null && _e !== void 0 ? _e : 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 }, ((query === null || query === void 0 ? void 0 : query.contentFilter) && { contentFilter: `[${query === null || query === void 0 ? void 0 : query.contentFilter}]` })), ((query === null || query === void 0 ? void 0 : query.productFilter) && { productFilter: `[${query === null || query === void 0 ? void 0 : query.productFilter}]` })), { pageNum: query === null || query === void 0 ? void 0 : query.pageNum });
701
702
  if (utmVal) {
702
703
  const val = (_h = (_g = (_f = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _f === void 0 ? void 0 : _f.filter((val) => {
@@ -706,9 +707,6 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
706
707
  })) === null || _g === void 0 ? void 0 : _g.join('&')) !== null && _h !== void 0 ? _h : '';
707
708
  query = Object.assign(Object.assign({}, query), { channel: decodeURIComponent(val) });
708
709
  }
709
- if (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) {
710
- query = Object.assign(Object.assign({}, query), { directPage: true, level: 1, pageNum: (_j = query === null || query === void 0 ? void 0 : query.pageNum) !== null && _j !== void 0 ? _j : 1 });
711
- }
712
710
  if (isEditor) {
713
711
  let pageNum = 1;
714
712
  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] }));
@@ -719,15 +717,15 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
719
717
  let list = [];
720
718
  let result = null;
721
719
  const recurveRecList = (query) => __awaiter(void 0, void 0, void 0, function* () {
722
- var _r, _s, _t, _u, _v, _w;
720
+ var _t, _u, _v, _w, _x, _y;
723
721
  query.pageNum = pageNum;
724
722
  result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/recommend/list', { method: 'GET', query }));
725
723
  if (!(result === null || result === void 0 ? void 0 : result.success)) {
726
724
  return undefined;
727
725
  }
728
726
  setLoading(false);
729
- const isNotNullList = (_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.every((item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video));
730
727
  list = list.concat((_w = (_v = (_u = (_t = result === null || result === void 0 ? void 0 : result.data) === null || _t === void 0 ? void 0 : _t.recList) === null || _u === void 0 ? void 0 : _u.filter) === null || _v === void 0 ? void 0 : _v.call(_u, (item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video))) !== null && _w !== void 0 ? _w : []);
728
+ const isNotNullList = (_y = (_x = result === null || result === void 0 ? void 0 : result.data) === null || _x === void 0 ? void 0 : _x.recList) === null || _y === void 0 ? void 0 : _y.some((item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video));
731
729
  if (isNotNullList) {
732
730
  pageNum = pageNum + 1;
733
731
  yield recurveRecList(query);
@@ -735,9 +733,12 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
735
733
  });
736
734
  yield recurveRecList(query);
737
735
  if (!(query === null || query === void 0 ? void 0 : query.hashTag) && result)
738
- setCurReqInfo({ rtc: (_k = result === null || result === void 0 ? void 0 : result.data) === null || _k === void 0 ? void 0 : _k.rtc, requestId: (_l = result === null || result === void 0 ? void 0 : result.data) === null || _l === void 0 ? void 0 : _l.requestId });
736
+ setCurReqInfo({ rtc: (_j = result === null || result === void 0 ? void 0 : result.data) === null || _j === void 0 ? void 0 : _j.rtc, requestId: (_k = result === null || result === void 0 ? void 0 : result.data) === null || _k === void 0 ? void 0 : _k.requestId });
739
737
  return Object.assign(Object.assign({}, result.data), { recList: list });
740
738
  }
739
+ if (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) {
740
+ query = Object.assign(Object.assign({}, query), { directPage: true, level: 1, pageNum: (_l = query === null || query === void 0 ? void 0 : query.pageNum) !== null && _l !== void 0 ? _l : 1 });
741
+ }
741
742
  const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/recommend/list', { method: 'GET', query }));
742
743
  if (!(result === null || result === void 0 ? void 0 : result.success)) {
743
744
  return undefined;
@@ -747,19 +748,24 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
747
748
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) && !isEditor) {
748
749
  let list = [];
749
750
  list = list.concat((_q = (_p = (_o = (_m = result === null || result === void 0 ? void 0 : result.data) === null || _m === void 0 ? void 0 : _m.recList) === null || _o === void 0 ? void 0 : _o.filter) === null || _p === void 0 ? void 0 : _p.call(_o, (item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video))) !== null && _q !== void 0 ? _q : []);
751
+ const isNotNullList = (_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.some((item) => (item === null || item === void 0 ? void 0 : item.product) || (item === null || item === void 0 ? void 0 : item.video));
752
+ if (!isNotNullList) {
753
+ setIsNoMoreData(true);
754
+ }
750
755
  return Object.assign(Object.assign({}, result.data), { recList: list });
751
756
  }
752
757
  return result === null || result === void 0 ? void 0 : result.data;
753
758
  }), [bffFetch, utmVal, maxSize, defaultSize, channelQueryList]);
754
759
  const loadVideos = useCallback((pageNum) => __awaiter(void 0, void 0, void 0, function* () {
755
- var _x, _y, _z, _0;
760
+ var _z, _0, _1, _2;
756
761
  if (rtcList.length <= 0) {
757
762
  return;
758
763
  }
759
764
  const lastItem = rtcList === null || rtcList === void 0 ? void 0 : rtcList[(rtcList === null || rtcList === void 0 ? void 0 : rtcList.length) - 1];
760
- const data = yield getRecommendVideos(Object.assign(Object.assign(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag }, (((_x = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _x === void 0 ? void 0 : _x.itemId) && { productFilter: (_y = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _y === void 0 ? void 0 : _y.itemId })), (((_z = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _z === void 0 ? void 0 : _z.itemId) && { contentFilter: (_0 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _0 === void 0 ? void 0 : _0.itemId })), { themeTag: themeTag.current }), ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) && !isEditor && { pageNum })));
765
+ const data = yield getRecommendVideos(Object.assign(Object.assign(Object.assign(Object.assign({ hashTag: waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag }, (((_z = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _z === void 0 ? void 0 : _z.itemId) && { productFilter: (_0 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.product) === null || _0 === void 0 ? void 0 : _0.itemId })), (((_1 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _1 === void 0 ? void 0 : _1.itemId) && { contentFilter: (_2 = lastItem === null || lastItem === void 0 ? void 0 : lastItem.video) === null || _2 === void 0 ? void 0 : _2.itemId })), { themeTag: themeTag.current }), ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enablePreview) && !isEditor && { pageNum })));
761
766
  setRtcList(rtcList.concat(getFilterRecList(data)));
762
767
  setCacheRtcList(cacheRtcList.concat(getFilterRecList(data)));
768
+ return data;
763
769
  }), [getRecommendVideos, rtcList, waterFallData, cacheRtcList]);
764
770
  const bffEventReport = useCallback(({ userInfo, eventInfo }) => {
765
771
  // 关闭 BFF 事件上报
@@ -804,7 +810,7 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
804
810
  eventName,
805
811
  actionSource,
806
812
  eventSourceUrl,
807
- userData: Object.assign(Object.assign(Object.assign({ externalId: fakeUserId }, (fbclid && { fbc: `fb.2.${new Date().getTime()}.${fbclid}` })), (getCookie('_fbp') && { fbp: `fb.2.${new Date().getTime()}.${getCookie('_fbp')}` })), { client_user_agent: (_d = (_c = window === null || window === void 0 ? void 0 : window.navigator) === null || _c === void 0 ? void 0 : _c.userAgent) !== null && _d !== void 0 ? _d : '' })
813
+ userData: Object.assign(Object.assign(Object.assign({ externalId: fakeUserId }, (fbclid && { fbc: `fb.2.${new Date().getTime()}.${fbclid}` })), (getCookie('_fbp') && { fbp: `fb.2.${new Date().getTime()}.${getCookie('_fbp')}` })), { clientUserAgent: (_d = (_c = window === null || window === void 0 ? void 0 : window.navigator) === null || _c === void 0 ? void 0 : _c.userAgent) !== null && _d !== void 0 ? _d : '' })
808
814
  },
809
815
  type: 'beacon'
810
816
  });
@@ -823,17 +829,17 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
823
829
  }), [bffFetch]);
824
830
  // 获取 Tag
825
831
  const bffGetTagList = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
826
- var _1, _2, _3, _4, _5;
832
+ var _3, _4, _5, _6, _7;
827
833
  if (!utmVal || !isShowTag)
828
834
  return;
829
835
  try {
830
- const val = (_3 = (_2 = (_1 = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _1 === void 0 ? void 0 : _1.filter((val) => {
836
+ const val = (_5 = (_4 = (_3 = utmVal === null || utmVal === void 0 ? void 0 : utmVal.split('&')) === null || _3 === void 0 ? void 0 : _3.filter((val) => {
831
837
  var _a, _b;
832
838
  const key = val.split('=')[0];
833
839
  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);
834
- })) === null || _2 === void 0 ? void 0 : _2.join('&')) !== null && _3 !== void 0 ? _3 : '';
840
+ })) === null || _4 === void 0 ? void 0 : _4.join('&')) !== null && _5 !== void 0 ? _5 : '';
835
841
  const result = yield (bffFetch === null || bffFetch === void 0 ? void 0 : bffFetch('/tag/list', { method: 'GET', query: { channel: decodeURIComponent(val) } }));
836
- setTagList((_5 = (_4 = result === null || result === void 0 ? void 0 : result.data) === null || _4 === void 0 ? void 0 : _4.tags) !== null && _5 !== void 0 ? _5 : []);
842
+ setTagList((_7 = (_6 = result === null || result === void 0 ? void 0 : result.data) === null || _6 === void 0 ? void 0 : _6.tags) !== null && _7 !== void 0 ? _7 : []);
837
843
  }
838
844
  catch (e) {
839
845
  console.log('e', e);
@@ -980,7 +986,8 @@ const SxpDataSourceProvider = ({ render, dataSources, utmVal, enableReportEvent
980
986
  globalConfig,
981
987
  popupCurTimeRef,
982
988
  checkCommodityIndexRef,
983
- isEditor
989
+ isEditor,
990
+ isNoMoreData
984
991
  } }, isShowConsent ? (React.createElement(Consent$3, Object.assign({}, (_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))) : (render({
985
992
  rtcList,
986
993
  mutateLike: bffMutateLike,
@@ -1423,14 +1430,14 @@ var settingRender$a = [
1423
1430
  * @Author: binruan@chatlabs.com
1424
1431
  * @Date: 2024-03-12 10:59:06
1425
1432
  * @LastEditors: binruan@chatlabs.com
1426
- * @LastEditTime: 2024-08-22 17:43:04
1433
+ * @LastEditTime: 2024-08-28 17:51:37
1427
1434
  * @FilePath: \pb-sxp-ui\src\core\hooks\useEventReport.ts
1428
1435
  *
1429
1436
  */
1430
1437
  function useEventReport() {
1431
1438
  const { bffEventReport, popupDetailData, waterFallData, isFromHashtag } = useSxpDataSource();
1432
1439
  const jumpToWeb = useCallback((data, product, cta, position, traceInfo) => {
1433
- 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;
1440
+ 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;
1434
1441
  let fromKName = '';
1435
1442
  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))) {
1436
1443
  fromKName = 'pdpPage';
@@ -1448,22 +1455,15 @@ function useEventReport() {
1448
1455
  fromKName = 'productPage';
1449
1456
  }
1450
1457
  const contentTags = (_p = (_m = (_h = product === null || product === void 0 ? void 0 : product.tags) !== 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.tags) !== null && _m !== void 0 ? _m : (_o = data === null || data === void 0 ? void 0 : data.video) === null || _o === void 0 ? void 0 : _o.tags) !== null && _p !== void 0 ? _p : (_q = data === null || data === void 0 ? void 0 : data.product) === null || _q === void 0 ? void 0 : _q.tags;
1458
+ let contentFormat = null;
1459
+ if ((_r = data === null || data === void 0 ? void 0 : data.video) === null || _r === void 0 ? void 0 : _r.url) {
1460
+ contentFormat = 'video';
1461
+ }
1462
+ else if (((_s = data === null || data === void 0 ? void 0 : data.video) === null || _s === void 0 ? void 0 : _s.imgUrls) && ((_u = (_t = data === null || data === void 0 ? void 0 : data.video) === null || _t === void 0 ? void 0 : _t.imgUrls) === null || _u === void 0 ? void 0 : _u.length)) {
1463
+ contentFormat = 'image';
1464
+ }
1451
1465
  bffEventReport === null || bffEventReport === void 0 ? void 0 : bffEventReport({
1452
- eventInfo: {
1453
- eventSubject: 'jumpToWeb',
1454
- eventDescription: 'User jumped to website',
1455
- productId: (_r = product === null || product === void 0 ? void 0 : product.itemId) !== null && _r !== void 0 ? _r : '',
1456
- productName: (_s = product === null || product === void 0 ? void 0 : product.title) !== null && _s !== void 0 ? _s : '',
1457
- price: (product === null || product === void 0 ? void 0 : product.price) ? (product === null || product === void 0 ? void 0 : product.price) + '' : '0',
1458
- productCollection: (_t = product === null || product === void 0 ? void 0 : product.collection) !== null && _t !== void 0 ? _t : '',
1459
- fromKName,
1460
- fromKPage: location === null || location === void 0 ? void 0 : location.href,
1461
- contentTags: contentTags ? JSON.stringify(contentTags) : '',
1462
- position: position + '',
1463
- contentId: (_v = (_u = data === null || data === void 0 ? void 0 : data.video) === null || _u === void 0 ? void 0 : _u.itemId) !== null && _v !== void 0 ? _v : '',
1464
- ctatId: (_w = cta === null || cta === void 0 ? void 0 : cta.itemId) !== null && _w !== void 0 ? _w : '',
1465
- traceInfo: (_9 = (_6 = (_4 = (_0 = (_x = traceInfo !== null && traceInfo !== void 0 ? traceInfo : product === null || product === void 0 ? void 0 : product.traceInfo) !== null && _x !== void 0 ? _x : (_z = (_y = data === null || data === void 0 ? void 0 : data.video) === null || _y === void 0 ? void 0 : _y.bindProduct) === null || _z === void 0 ? void 0 : _z.traceInfo) !== null && _0 !== void 0 ? _0 : (_3 = (_2 = (_1 = data === null || data === void 0 ? void 0 : data.video) === null || _1 === void 0 ? void 0 : _1.bindProducts) === null || _2 === void 0 ? void 0 : _2[0]) === null || _3 === void 0 ? void 0 : _3.traceInfo) !== null && _4 !== void 0 ? _4 : (_5 = data === null || data === void 0 ? void 0 : data.product) === null || _5 === void 0 ? void 0 : _5.traceInfo) !== null && _6 !== void 0 ? _6 : (_8 = (_7 = data === null || data === void 0 ? void 0 : data.video) === null || _7 === void 0 ? void 0 : _7.bindCta) === null || _8 === void 0 ? void 0 : _8.traceInfo) !== null && _9 !== void 0 ? _9 : ''
1466
- }
1466
+ 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 }))
1467
1467
  });
1468
1468
  }, [bffEventReport, popupDetailData, isFromHashtag]);
1469
1469
  const productView = useCallback((data, product, cta, viewTime, position) => {
@@ -1518,22 +1518,25 @@ function useEventReport() {
1518
1518
  * @Author: binruan@chatlabs.com
1519
1519
  * @Date: 2024-06-27 16:22:34
1520
1520
  * @LastEditors: binruan@chatlabs.com
1521
- * @LastEditTime: 2024-07-05 14:55:25
1521
+ * @LastEditTime: 2024-08-27 16:59:46
1522
1522
  * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\AppointForm\Form.tsx
1523
1523
  *
1524
1524
  */
1525
1525
  const Form = ({ layout, columns, onChange }) => {
1526
1526
  return (React.createElement(React.Fragment, null, columns === null || columns === void 0 ? void 0 : columns.map((item, index) => (React.createElement("div", { key: index, className: 'pb-appoint-form-container-item', style: { flexDirection: layout === 'horizontal' ? 'row' : 'column' } },
1527
1527
  layout !== 'inline' && React.createElement("label", { className: 'pb-appoint-form-container-label' }, item === null || item === void 0 ? void 0 : item.title),
1528
- (item === null || item === void 0 ? void 0 : item.valueType) === 'text' && (React.createElement("input", Object.assign({ className: 'pb-appoint-form-container-input', type: 'text', placeholder: layout === 'inline' ? item === null || item === void 0 ? void 0 : item.title : '请输入', name: item === null || item === void 0 ? void 0 : item.dataIndex }, (onChange && { onChange: onChange })))))))));
1528
+ (item === null || item === void 0 ? void 0 : item.valueType) === 'text' && (React.createElement("input", Object.assign({ className: 'pb-appoint-form-container-input', type: 'text', placeholder: layout === 'inline' ? item === null || item === void 0 ? void 0 : item.title : '请输入', name: item === null || item === void 0 ? void 0 : item.dataIndex }, (onChange && { onChange })))))))));
1529
1529
  };
1530
1530
  var Form$1 = memo(Form);
1531
1531
 
1532
1532
  const AppointForm$1 = (_a) => {
1533
+ var _b, _c;
1533
1534
  var { columns, style, title, textStyle, submitBgColor, submitColor, submitText, layoutType = 'inline', isExternalLink, isPopup, onClick, onClose, submitButtonStyle } = _a, props = __rest(_a, ["columns", "style", "title", "textStyle", "submitBgColor", "submitColor", "submitText", "layoutType", "isExternalLink", "isPopup", "onClick", "onClose", "submitButtonStyle"]);
1534
1535
  const { submitForm, popupDetailData } = useSxpDataSource();
1535
1536
  const { jumpToWeb } = useEventReport();
1536
1537
  const [loading, setLoading] = useState(false);
1538
+ const [formData, setFormData] = useState({});
1539
+ const [marginTop, setMarginTop] = useState(0);
1537
1540
  const defaultColumns = useMemo(() => [
1538
1541
  {
1539
1542
  title: '',
@@ -1560,7 +1563,7 @@ const AppointForm$1 = (_a) => {
1560
1563
  key: '4'
1561
1564
  }
1562
1565
  ], []);
1563
- const [formData, setFormData] = useState({});
1566
+ const originalHeight = ((_b = document === null || document === void 0 ? void 0 : document.documentElement) === null || _b === void 0 ? void 0 : _b.clientHeight) || ((_c = document === null || document === void 0 ? void 0 : document.body) === null || _c === void 0 ? void 0 : _c.clientHeight);
1564
1567
  const columnsData = useMemo(() => {
1565
1568
  return cloneDeep(columns) || defaultColumns;
1566
1569
  }, [columns, defaultColumns]);
@@ -1569,17 +1572,17 @@ const AppointForm$1 = (_a) => {
1569
1572
  setFormData(Object.assign(Object.assign({}, formData), { [name]: value }));
1570
1573
  }, [formData]);
1571
1574
  const handleSubmit = debounce(() => __awaiter(void 0, void 0, void 0, function* () {
1572
- var _b, _c, _d, _e, _f;
1575
+ var _d, _e, _f, _g, _h;
1573
1576
  const vals = formData;
1574
1577
  if (!vals)
1575
1578
  return;
1576
- const arr = (_c = (_b = Object.keys(vals)) === null || _b === void 0 ? void 0 : _b.map((key) => {
1579
+ const arr = (_e = (_d = Object.keys(vals)) === null || _d === void 0 ? void 0 : _d.map((key) => {
1577
1580
  var _a;
1578
1581
  return ({
1579
1582
  name: key,
1580
1583
  value: (_a = vals[key]) !== null && _a !== void 0 ? _a : ''
1581
1584
  });
1582
- })) === null || _c === void 0 ? void 0 : _c.filter((item) => item === null || item === void 0 ? void 0 : item.value);
1585
+ })) === null || _e === void 0 ? void 0 : _e.filter((item) => item === null || item === void 0 ? void 0 : item.value);
1583
1586
  if (!arr || !(arr === null || arr === void 0 ? void 0 : arr.length))
1584
1587
  return;
1585
1588
  setLoading(true);
@@ -1588,8 +1591,8 @@ const AppointForm$1 = (_a) => {
1588
1591
  if (res) {
1589
1592
  if (isExternalLink) {
1590
1593
  const data = popupDetailData;
1591
- const product = (_d = data === null || data === void 0 ? void 0 : data.video) === null || _d === void 0 ? void 0 : _d.bindProduct;
1592
- const cta = (_f = (_e = data === null || data === void 0 ? void 0 : data.video) === null || _e === void 0 ? void 0 : _e.bindProduct) === null || _f === void 0 ? void 0 : _f.bindCta;
1594
+ const product = (_f = data === null || data === void 0 ? void 0 : data.video) === null || _f === void 0 ? void 0 : _f.bindProduct;
1595
+ const cta = (_h = (_g = data === null || data === void 0 ? void 0 : data.video) === null || _g === void 0 ? void 0 : _g.bindProduct) === null || _h === void 0 ? void 0 : _h.bindCta;
1593
1596
  const position = popupDetailData === null || popupDetailData === void 0 ? void 0 : popupDetailData.index;
1594
1597
  jumpToWeb(data, product, cta, position);
1595
1598
  }
@@ -1599,11 +1602,33 @@ const AppointForm$1 = (_a) => {
1599
1602
  onClick === null || onClick === void 0 ? void 0 : onClick();
1600
1603
  }
1601
1604
  }), 1000);
1605
+ useEffect(() => {
1606
+ const handleScroll = () => {
1607
+ var _a, _b;
1608
+ // 获取用户代理字符串
1609
+ const userAgent = navigator.userAgent;
1610
+ // 判断是否是安卓设备
1611
+ const isAndroid = userAgent.toLowerCase().includes('android');
1612
+ if (!isAndroid)
1613
+ return;
1614
+ const resizeHeight = ((_a = document === null || document === void 0 ? void 0 : document.documentElement) === null || _a === void 0 ? void 0 : _a.clientHeight) || ((_b = document === null || document === void 0 ? void 0 : document.body) === null || _b === void 0 ? void 0 : _b.clientHeight);
1615
+ if (resizeHeight < originalHeight) {
1616
+ setMarginTop(50);
1617
+ }
1618
+ else {
1619
+ setMarginTop(0);
1620
+ }
1621
+ };
1622
+ window.addEventListener('resize', handleScroll);
1623
+ return () => {
1624
+ window.removeEventListener('resize', handleScroll);
1625
+ };
1626
+ }, []);
1602
1627
  return (React.createElement("div", { className: 'pb-appoint-form' },
1603
1628
  React.createElement("div", { className: `pb-appoint-form-title ${css(Object.assign({}, textStyle))}`, dangerouslySetInnerHTML: {
1604
1629
  __html: setFontForText(title, textStyle)
1605
1630
  } }),
1606
- React.createElement("div", Object.assign({ className: css(Object.assign({}, style)) }, props),
1631
+ React.createElement("div", Object.assign({ className: css(Object.assign(Object.assign({}, style), { marginTop })) }, props),
1607
1632
  React.createElement("div", { className: 'pb-appoint-form-container' },
1608
1633
  React.createElement(Form$1, { columns: columnsData, layout: layoutType, onChange: handleChange }))),
1609
1634
  React.createElement("div", { className: 'pb-appoint-form-btn-wrapper' },
@@ -1985,6 +2010,27 @@ var settingRender$9 = [
1985
2010
  name: ['props', 'iframeBgColor']
1986
2011
  }
1987
2012
  ]
2013
+ },
2014
+ {
2015
+ title: '轮播指示器',
2016
+ child: [
2017
+ {
2018
+ label: '背景色',
2019
+ name: ['props', 'swiper', 'dotsBgColor'],
2020
+ type: 'Color'
2021
+ },
2022
+ {
2023
+ label: '选中色',
2024
+ name: ['props', 'swiper', 'dotsActiveColor'],
2025
+ type: 'Color'
2026
+ },
2027
+ {
2028
+ label: '底边距',
2029
+ name: ['props', 'swiper', 'dotsMarginBottom'],
2030
+ type: 'Number',
2031
+ addonAfter: 'px'
2032
+ }
2033
+ ]
1988
2034
  }
1989
2035
  ];
1990
2036
 
@@ -9244,7 +9290,21 @@ const CommodityDetail$1 = (_a) => {
9244
9290
  clickableClass: getDotsAlign
9245
9291
  }, loop: true, autoplay: {
9246
9292
  delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
9247
- }, ref: ref },
9293
+ }, ref: ref, className: css(Object.assign(Object.assign(Object.assign({}, ((swiper === null || swiper === void 0 ? void 0 : swiper.dotsMarginBottom) && {
9294
+ '.swiper-pagination': {
9295
+ bottom: swiper === null || swiper === void 0 ? void 0 : swiper.dotsMarginBottom
9296
+ }
9297
+ })), ((swiper === null || swiper === void 0 ? void 0 : swiper.dotsBgColor) && {
9298
+ '.swiper-pagination-bullet': {
9299
+ backgroundColor: swiper === null || swiper === void 0 ? void 0 : swiper.dotsBgColor,
9300
+ opacity: 1
9301
+ }
9302
+ })), ((swiper === null || swiper === void 0 ? void 0 : swiper.dotsActiveColor) && {
9303
+ '.swipe-item-active-bullet': {
9304
+ backgroundColor: `${swiper === null || swiper === void 0 ? void 0 : swiper.dotsActiveColor}!important`,
9305
+ opacity: 1
9306
+ }
9307
+ }))) },
9248
9308
  React.createElement(React.Fragment, null, (_x = product === null || product === void 0 ? void 0 : product.homePage) === null || _x === void 0 ? void 0 : _x.map((src) => {
9249
9309
  var _a;
9250
9310
  return (React.createElement(SwiperSlide, { key: src },
@@ -9633,7 +9693,7 @@ const Prompt = createMaterial(PromptComponent, {
9633
9693
  * @Author: binruan@chatlabs.com
9634
9694
  * @Date: 2024-03-26 16:50:25
9635
9695
  * @LastEditors: binruan@chatlabs.com
9636
- * @LastEditTime: 2024-08-23 10:58:38
9696
+ * @LastEditTime: 2024-08-28 19:08:24
9637
9697
  * @FilePath: \pb-sxp-ui\src\materials\sxp\popup\CommodityDetailDiroNew\settingRender.tsx
9638
9698
  *
9639
9699
  */
@@ -9948,6 +10008,27 @@ var settingRender$7 = [
9948
10008
  name: ['props', 'iframeBgColor']
9949
10009
  }
9950
10010
  ]
10011
+ },
10012
+ {
10013
+ title: '轮播指示器',
10014
+ child: [
10015
+ {
10016
+ label: '背景色',
10017
+ name: ['props', 'swiper', 'dotsBgColor'],
10018
+ type: 'Color'
10019
+ },
10020
+ {
10021
+ label: '选中色',
10022
+ name: ['props', 'swiper', 'dotsActiveColor'],
10023
+ type: 'Color'
10024
+ },
10025
+ {
10026
+ label: '底边距',
10027
+ name: ['props', 'swiper', 'dotsMarginBottom'],
10028
+ type: 'Number',
10029
+ addonAfter: 'px'
10030
+ }
10031
+ ]
9951
10032
  }
9952
10033
  ];
9953
10034
 
@@ -10114,7 +10195,21 @@ Made in Italy` })));
10114
10195
  clickableClass: getDotsAlign
10115
10196
  }, loop: true, autoplay: {
10116
10197
  delay: (swiper === null || swiper === void 0 ? void 0 : swiper.delay) * 1000
10117
- }, ref: ref }, (_x = product === null || product === void 0 ? void 0 : product.homePage) === null || _x === void 0 ? void 0 : _x.map((src) => {
10198
+ }, ref: ref, className: css(Object.assign(Object.assign(Object.assign({}, ((swiper === null || swiper === void 0 ? void 0 : swiper.dotsMarginBottom) && {
10199
+ '.swiper-pagination': {
10200
+ bottom: swiper === null || swiper === void 0 ? void 0 : swiper.dotsMarginBottom
10201
+ }
10202
+ })), ((swiper === null || swiper === void 0 ? void 0 : swiper.dotsBgColor) && {
10203
+ '.swiper-pagination-bullet': {
10204
+ backgroundColor: swiper === null || swiper === void 0 ? void 0 : swiper.dotsBgColor,
10205
+ opacity: 1
10206
+ }
10207
+ })), ((swiper === null || swiper === void 0 ? void 0 : swiper.dotsActiveColor) && {
10208
+ '.swipe-item-active-bullet': {
10209
+ backgroundColor: `${swiper === null || swiper === void 0 ? void 0 : swiper.dotsActiveColor}!important`,
10210
+ opacity: 1
10211
+ }
10212
+ }))) }, (_x = product === null || product === void 0 ? void 0 : product.homePage) === null || _x === void 0 ? void 0 : _x.map((src) => {
10118
10213
  var _a;
10119
10214
  return (React.createElement(SwiperSlide, { key: src },
10120
10215
  React.createElement("div", { style: {
@@ -14141,7 +14236,7 @@ function WaterfallList(_a) {
14141
14236
  * @Author: binruan@chatlabs.com
14142
14237
  * @Date: 2024-01-10 10:58:24
14143
14238
  * @LastEditors: binruan@chatlabs.com
14144
- * @LastEditTime: 2024-06-20 12:45:26
14239
+ * @LastEditTime: 2024-08-23 14:32:55
14145
14240
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\WaterFall\index.tsx
14146
14241
  *
14147
14242
  */
@@ -14165,21 +14260,21 @@ const WaterFall = (props) => {
14165
14260
  }
14166
14261
  }, []);
14167
14262
  const handleClose = () => {
14168
- const isEq = isEqual(rtcList, cacheRtcList);
14169
- if (!isEq && cacheRtcList && (cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.length)) {
14170
- setRtcList === null || setRtcList === void 0 ? void 0 : setRtcList(cacheRtcList);
14171
- }
14263
+ var _a, _b;
14264
+ // const isEq = isEqual(rtcList, cacheRtcList);
14265
+ // if (!isEq && cacheRtcList && cacheRtcList?.length) {
14266
+ // setRtcList?.(cacheRtcList);
14267
+ // }
14172
14268
  backMainFeed('branch', selectTag, undefined, waterFallData === null || waterFallData === void 0 ? void 0 : waterFallData.hashTag);
14173
14269
  reportTagsView();
14174
14270
  setWaterFallData === null || setWaterFallData === void 0 ? void 0 : setWaterFallData(undefined);
14175
14271
  setIsFromHashtag === null || setIsFromHashtag === void 0 ? void 0 : setIsFromHashtag(false);
14176
- setTimeout(() => {
14177
- var _a, _b;
14178
- if (!isEq) {
14179
- (_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.slideTo(cacheActiveIndex, 0, false);
14180
- }
14181
- setOpenHashtag === null || setOpenHashtag === void 0 ? void 0 : setOpenHashtag(false);
14182
- }, 0);
14272
+ // setTimeout(() => {
14273
+ // if (!isEq) {
14274
+ (_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.slideTo(cacheActiveIndex, 0, false);
14275
+ // }
14276
+ setOpenHashtag === null || setOpenHashtag === void 0 ? void 0 : setOpenHashtag(false);
14277
+ // }, 0);
14183
14278
  };
14184
14279
  const [recData, setRecData] = useState();
14185
14280
  useEffect(() => {
@@ -15722,7 +15817,7 @@ const Picture = (props) => {
15722
15817
  * @Author: lewinlu@chatlabs.com
15723
15818
  * @Date: 2024-01-03 14:39:09
15724
15819
  * @LastEditors: binruan@chatlabs.com
15725
- * @LastEditTime: 2024-07-02 18:25:17
15820
+ * @LastEditTime: 2024-08-29 09:34:13
15726
15821
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\PictureGroup\index.tsx
15727
15822
  */
15728
15823
  const PictureGroup$2 = ({ imgUrls, width, height, rec, index, onReportViewImageEnd, onViewImageStartEvent, imgUrlsPostConfig }) => {
@@ -15756,10 +15851,20 @@ const PictureGroup$2 = ({ imgUrls, width, height, rec, index, onReportViewImageE
15756
15851
  return (React.createElement(Swiper, { ref: ref, defaultValue: 0, direction: 'horizontal', modules: [Pagination, Autoplay], pagination: {
15757
15852
  clickable: true,
15758
15853
  bulletActiveClass: 'swipe-item-active-bullet'
15759
- }, className: css(Object.assign({}, ((imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.marginBottom) && {
15854
+ }, className: css(Object.assign(Object.assign(Object.assign({}, ((imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.marginBottom) && {
15760
15855
  '.swiper-pagination': {
15761
15856
  bottom: (_a = imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.marginBottom) !== null && _a !== void 0 ? _a : 0
15762
15857
  }
15858
+ })), ((imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.dotsBgColor) && {
15859
+ '.swiper-pagination-bullet': {
15860
+ backgroundColor: imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.dotsBgColor,
15861
+ opacity: 1
15862
+ }
15863
+ })), ((imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.dotsActiveColor) && {
15864
+ '.swipe-item-active-bullet': {
15865
+ backgroundColor: `${imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.dotsActiveColor}!important`,
15866
+ opacity: 1
15867
+ }
15763
15868
  }))), height: height, loop: true, autoplay: { delay: ((_b = imgUrlsPostConfig === null || imgUrlsPostConfig === void 0 ? void 0 : imgUrlsPostConfig.delay) !== null && _b !== void 0 ? _b : 3) * 1000 } }, imgUrls === null || imgUrls === void 0 ? void 0 : imgUrls.map((url, index) => {
15764
15869
  return (React.createElement(SwiperSlide, { key: index },
15765
15870
  React.createElement(Picture, { src: !isLoad && index > 0 ? '' : url, height: height, imgUrlsPostConfig: imgUrlsPostConfig, onShowFirstImage: showFirstImageFn })));
@@ -16014,7 +16119,7 @@ var Tagbar$1 = memo(Tagbar);
16014
16119
  * @Author: binruan@chatlabs.com
16015
16120
  * @Date: 2024-01-15 19:03:09
16016
16121
  * @LastEditors: binruan@chatlabs.com
16017
- * @LastEditTime: 2024-08-23 11:35:02
16122
+ * @LastEditTime: 2024-08-28 19:13:38
16018
16123
  * @FilePath: \pb-sxp-ui\src\core\components\SxpPageRender\index.tsx
16019
16124
  *
16020
16125
  */
@@ -16031,7 +16136,7 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16031
16136
  const [isShowMore, setIsShowMore] = useState(false);
16032
16137
  const [isReload, setIsReload] = useState(new Date().getTime());
16033
16138
  const skipLinkRef = useRef(false);
16034
- const { loadVideos, bffEventReport, loading, setPopupDetailData, ctaEvent, swiperRef, waterFallData, setOpenHashtag, appDomain, openHashtag, loadingImage, isFromHashtag, popupDetailData, bffFbReport, curTime, h5EnterLink, isShowConsent, selectTag, isPreview, isEditor } = useSxpDataSource();
16139
+ 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 } = useSxpDataSource();
16035
16140
  const { backMainFeed, productView, jumpToWeb } = useEventReport();
16036
16141
  const isShowFingerTip = useMemo(() => {
16037
16142
  return data.length > 0 && !loading && (getFeUserId() || (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.enableSwiperTip));
@@ -16190,8 +16295,8 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16190
16295
  return null;
16191
16296
  }
16192
16297
  });
16193
- return !waterFallData ? list.concat([{ loading: true }]) : list;
16194
- }, [data, activeIndex, waterFallData, isEditor]);
16298
+ return !waterFallData && !isNoMoreData ? list.concat([{ loading: true }]) : list;
16299
+ }, [data, activeIndex, waterFallData, isEditor, isNoMoreData]);
16195
16300
  const renderLogo = useMemo(() => {
16196
16301
  var _a, _b, _c, _d;
16197
16302
  if ((globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.logoUrl) && (globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.isShowLogo)) {
@@ -16482,6 +16587,10 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16482
16587
  ]);
16483
16588
  return (React.createElement("div", { id: 'sxp-render', className: 'clc-sxp-container' },
16484
16589
  waterFallData && (React.createElement(Navbar$1, { icon: img, styles: { background: 'rgba(0,0,0,.3)', color: '#fff' }, textStyle: Object.assign(Object.assign({}, (_e = (_d = (_c = (_b = (_a = globalConfig === null || globalConfig === void 0 ? void 0 : globalConfig.hashTag) === 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.textStyles) === null || _e === void 0 ? void 0 : _e.hashTagTitle), { color: '#fff' }), onClose: () => {
16590
+ const isEq = isEqual(rtcList, cacheRtcList);
16591
+ if (!isEq && cacheRtcList && (cacheRtcList === null || cacheRtcList === void 0 ? void 0 : cacheRtcList.length)) {
16592
+ setRtcList === null || setRtcList === void 0 ? void 0 : setRtcList(cacheRtcList);
16593
+ }
16485
16594
  setOpenHashtag === null || setOpenHashtag === void 0 ? void 0 : setOpenHashtag(true);
16486
16595
  } })),
16487
16596
  renderLogo,
@@ -16506,9 +16615,14 @@ const SxpPageRender = ({ globalConfig, descStyle, containerHeight = window.inner
16506
16615
  return;
16507
16616
  if ((swiper === null || swiper === void 0 ? void 0 : swiper.activeIndex) + 1 >= (data === null || data === void 0 ? void 0 : data.length)) {
16508
16617
  if (!isLoadMore) {
16618
+ let pageNum = 2;
16509
16619
  setIsLoadMore(true);
16510
- loadVideos === null || loadVideos === void 0 ? void 0 : loadVideos(Math.ceil(activeIndex / 10) + 1).then(() => {
16620
+ loadVideos === null || loadVideos === void 0 ? void 0 : loadVideos(pageNum).then((res) => {
16621
+ var _a;
16511
16622
  setIsLoadMore(false);
16623
+ if (res && ((_a = res === null || res === void 0 ? void 0 : res.recList) === null || _a === void 0 ? void 0 : _a.length) > 0) {
16624
+ pageNum++;
16625
+ }
16512
16626
  });
16513
16627
  }
16514
16628
  }