@conecli/cone-render 0.10.1-shop3.12 → 0.10.1-shop3.121

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 (118) hide show
  1. package/README.md +1 -1
  2. package/dist/api/index.ts +1 -1
  3. package/dist/common/accessibility.h5.ts +1 -0
  4. package/dist/common/accessibility.ts +1 -0
  5. package/dist/common/const.ts +1 -1
  6. package/dist/common/index.h5.ts +1 -1
  7. package/dist/common/index.jd.ts +1 -1
  8. package/dist/common/index.ts +1 -1
  9. package/dist/common/index.weapp.ts +1 -1
  10. package/dist/common/jdplayerSdk.weapp.tsx +1 -0
  11. package/dist/common/jssdk.ts +1 -1
  12. package/dist/common/jssdk.weapp.ts +1 -0
  13. package/dist/common/pageType.ts +1 -1
  14. package/dist/common/token/index.h5.ts +1 -1
  15. package/dist/common/token/token.jd.ts +1 -1
  16. package/dist/common/wxappApi.ascf.ts +1 -0
  17. package/dist/common/wxappApi.ts +1 -1
  18. package/dist/components/ErrorBoundary.tsx +1 -1
  19. package/dist/components/base/CommonFloorHead/index.tsx +1 -1
  20. package/dist/components/base/CountDown/index.tsx +1 -1
  21. package/dist/components/base/CountDownForApp/index.module.scss +52 -0
  22. package/dist/components/base/CountDownForApp/index.tsx +1 -0
  23. package/dist/components/base/CustomScrollView/index.tsx +1 -1
  24. package/dist/components/base/CustomVideo/index.tsx +1 -1
  25. package/dist/components/base/CustomVideo/index.weapp.tsx +1 -0
  26. package/dist/components/base/ExposureSmart/index.h5.tsx +1 -1
  27. package/dist/components/base/ExposureSmart/index.tsx +1 -1
  28. package/dist/components/base/ExposureSmart/reporter.tsx +1 -1
  29. package/dist/components/base/InOrOutViewObserver/index.weapp.tsx +1 -0
  30. package/dist/components/base/InViewRender/index.tsx +1 -1
  31. package/dist/components/base/LazyLayoutLoad/index.module.scss +9 -9
  32. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
  33. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
  34. package/dist/components/base/MobileCommonHeader/index.tsx +1 -1
  35. package/dist/components/base/MobileCommonHeader/index.weapp.tsx +1 -0
  36. package/dist/components/base/NetworkDataError/const.ts +1 -1
  37. package/dist/components/base/NetworkDataError/index.module.scss +118 -72
  38. package/dist/components/base/NetworkDataError/index.tsx +1 -1
  39. package/dist/components/base/Price/Base/index.module.scss +12 -0
  40. package/dist/components/base/Price/Base/index.tsx +1 -1
  41. package/dist/components/base/Price/Double/index.module.scss +25 -1
  42. package/dist/components/base/Price/Double/index.tsx +1 -1
  43. package/dist/components/base/ShopLeGaoTag/index.h5.module.scss +35 -0
  44. package/dist/components/base/ShopLeGaoTag/index.h5.tsx +1 -0
  45. package/dist/components/base/ShopLeGaoTag/index.module.scss +33 -0
  46. package/dist/components/base/ShopLeGaoTag/index.tsx +1 -0
  47. package/dist/components/debug/DebugLayout/index.module.scss +2 -2
  48. package/dist/components/floorItem.tsx +1 -1
  49. package/dist/components/isv/Floor/index.tsx +1 -1
  50. package/dist/components/remoteFloorItem.tsx +1 -1
  51. package/dist/config/env.ts +1 -1
  52. package/dist/interface/common.ts +1 -1
  53. package/dist/interface/component.ts +1 -1
  54. package/dist/interface/jumpEventReport.ts +1 -1
  55. package/dist/interface/service.ts +1 -1
  56. package/dist/jumpEventReport/base.ts +1 -1
  57. package/dist/jumpEventReport/const.ts +1 -1
  58. package/dist/jumpEventReport/createReportFloorData.ts +1 -1
  59. package/dist/jumpEventReport/index.h5.ts +1 -1
  60. package/dist/jumpEventReport/index.jd.ts +1 -1
  61. package/dist/jumpEventReport/index.weapp.ts +1 -1
  62. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  63. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  64. package/dist/jumpEventReport/logEventConfig.h5.ts +1 -0
  65. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  66. package/dist/jumpEventReport/web/report.ts +1 -1
  67. package/dist/jumpEventReport/web.base.ts +1 -1
  68. package/dist/jumpEventReport/web.jd.ts +1 -1
  69. package/dist/jumpEventReport/web.pc.ts +1 -1
  70. package/dist/jumpEventReport/web.tjm.ts +1 -1
  71. package/dist/jumpEventReport/web.wxapp.ts +1 -1
  72. package/dist/language/en_US.json +397 -0
  73. package/dist/language/zh_CN.json +397 -0
  74. package/dist/language/zh_HK.json +397 -0
  75. package/dist/libs/openShopBridge.js +161 -0
  76. package/dist/libs/openShopBridge.min.js +1 -0
  77. package/dist/libs/taroAppReport.js +2 -2
  78. package/dist/modules/ContainerFloorList/index.h5.module.scss +16 -2
  79. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  80. package/dist/modules/ContainerFloorList/index.tsx +1 -1
  81. package/dist/modules/DecorateContainerFloorList/index.weapp.tsx +1 -0
  82. package/dist/open/api/environment.ts +1 -1
  83. package/dist/open/api/shopMember.ts +1 -1
  84. package/dist/open/api/shopMember.weapp.ts +1 -0
  85. package/dist/open/api/track.ts +1 -1
  86. package/dist/open/api/util.ts +1 -1
  87. package/dist/open/components/index.ts +1 -1
  88. package/dist/open/index.ts +1 -1
  89. package/dist/sass/app.h5.scss +19 -2
  90. package/dist/sass/base.scss +8 -4
  91. package/dist/service/fetchGateway.ts +1 -1
  92. package/dist/service/fetchGateway.weapp.ts +1 -1
  93. package/dist/service/fetchJsonp.weapp.ts +1 -0
  94. package/dist/service/http/const.ts +1 -1
  95. package/dist/service/http/h5Http.ts +1 -1
  96. package/dist/service/http/httpInterceptors.weapp.ts +1 -0
  97. package/dist/service/requestServer.h5.ts +1 -1
  98. package/dist/service/requestServer.ts +1 -1
  99. package/dist/service/requestServer.weapp.ts +1 -1
  100. package/dist/utils/connectNativeJsBridge.ts +1 -1
  101. package/dist/utils/h5Utils.ts +1 -1
  102. package/dist/utils/harmonyCallRouter.h5.ts +1 -0
  103. package/dist/utils/harmonyCallRouter.ts +0 -0
  104. package/dist/utils/index.h5.ts +1 -1
  105. package/dist/utils/index.ts +1 -1
  106. package/dist/utils/index.weapp.ts +1 -1
  107. package/dist/utils/jumpExtMapUtil.ts +1 -0
  108. package/dist/utils/jumpExtMapUtil.weapp.ts +1 -0
  109. package/dist/utils/log.ts +1 -0
  110. package/dist/utils/{sColor.js → sColor.ts} +1 -1
  111. package/dist/utils/sColor.weapp.ts +1 -0
  112. package/dist/utils/utils.ts +1 -1
  113. package/dist/wxapp/common/address_api/address_api_v2.js +1 -0
  114. package/dist/wxapp/common/user_info.js +1 -1
  115. package/package.json +166 -141
  116. package/dist/jumpEventReport/web/wqshop.report.ts +0 -1
  117. package/dist/utils/priceUtils.js +0 -1
  118. /package/dist/utils/{jumpExtMapUtil.js → jumpExtMapUtil.h5.ts} +0 -0
@@ -1 +1 @@
1
- import React from 'react';
2
1
  NETWORK_DATA_TYPE,
3
2
  M_SHOP_DOWNLOAD_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT,
4
3
  APP_SHOP_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT,
5
4
  containerFloorListData: ComponentInterFace.ContainerItemData[];
6
5
  className?: string;
7
6
  containerItemClass?: object;
8
7
  style?: object;
9
8
  hasGoodsFeeds?: boolean;
10
9
  builtInComponents?: object;
11
10
  loadingEndComponentFn?: functionType;
12
11
  sectionType?: string;
13
12
  updateShopFloorDataFn?: functionType;
14
13
  updateContainerFloorListDataFn?: functionType;
15
14
  refreshFloorListDataFn?: functionType;
16
15
  refreshFloorListDataBtnLabel?: string;
17
16
  customErrorIsvFloorModule?: React.ReactElement;
18
17
  componentExtend?: React.ReactElement;
19
18
  luxuryFixedIndex?: number;
20
19
  isContainerListHasMarginBottom?: boolean;
21
20
  switchConfig?: {
22
21
  [key: string]: any;
23
22
  };
24
23
  const { windowHeight } = taroJdBaseInfo.info.sysInfo;
25
24
  const {
26
25
  className,
27
26
  style,
28
27
  containerItemClass = null,
29
28
  containerFloorListData,
30
29
  builtInComponents,
31
30
  loadingEndComponentFn,
32
31
  sectionType,
33
32
  updateShopFloorDataFn,
34
33
  updateContainerFloorListDataFn,
35
34
  refreshFloorListDataFn,
36
35
  refreshFloorListDataBtnLabel,
37
36
  customErrorIsvFloorModule,
38
37
  luxuryFixedIndex = -1,
39
38
  isContainerListHasMarginBottom,
40
39
  switchConfig,
41
40
  } = props;
42
41
  const emptyFloorListHidden = switchConfig?.emptyFloorListHidden || false;
43
42
  const isSageShop = taroJdBaseInfo.info?.pageInfo?.isSageShop;
44
43
  const isHasMarginBottom = isContainerListHasMarginBottom ?? !isSageShop;
45
44
 
46
45
  const hasLiveForSageShop =
47
46
  isSageShop && taroJdBaseInfo.info?.pageInfo?.isJdShowNativeImmersivePlayer;
48
47
 
49
48
  const renderFloorItem = (
50
49
  item,
51
50
  floorItem,
52
51
  floorIndex,
53
52
  containerLayoutLeftRightMargin,
54
53
  lazyLoadState = false,
55
54
  index,
56
55
  borderStyle,
57
56
  ) => {
58
57
  return (
59
58
  <View
60
59
  className={classNames(shopContainerListStyle['d-floor-item'])}
61
60
  data-floor-uid={floorItem?.uid}
62
61
  data-floor-type={floorItem?.floorExtInfo?.moduleFlag || ''}
63
62
  data-lazy-load={lazyLoadState}
64
63
  key={floorItem.uid}
65
64
  id={`J_floor_${floorItem.uid}`}
66
65
  style={borderStyle}
67
66
  >
68
67
  {isChartH5 && (
69
68
  <View
70
69
  className={shopContainerListStyle['d-floor-chart-item']}
71
70
  id={`J_chart_floor_${floorItem?.uid}`}
72
71
  data-floor-uid={floorItem?.uid}
73
72
  data-floor-type={floorItem?.floorExtInfo?.moduleFlag || ''}
74
73
  />
75
74
  )}
76
75
  <FloorListItem
77
76
  floorIndex={floorIndex}
78
77
  floorData={floorItem}
79
78
  layoutLeftRightMargin={containerLayoutLeftRightMargin}
80
79
  containerBorderRadius={borderStyle}
81
80
  updateShopFloorDataFn={updateShopFloorDataFn}
82
81
  loadingEndComponentFn={loadingEndComponentFn}
83
82
  key={floorItem.uid}
84
83
  builtInComponents={builtInComponents}
85
84
  updateContainerFloorListDataFn={updateContainerFloorListDataFn}
86
85
  customErrorIsvFloorModule={customErrorIsvFloorModule}
87
86
  />
88
87
  {index === luxuryFixedIndex ? props.children : null}
89
88
  </View>
90
89
  );
91
90
  };
92
91
 
93
92
  const getFloorSetHeight = (item) => {
94
93
  const getHeight = item?.floorExtInfo?.floorHeight
95
94
  ? Number(item?.floorExtInfo?.floorHeight)
96
95
  : 200;
97
96
  return getHeight > 0 ? getHeight : 200;
98
97
  };
99
98
  const containerFloorListDataLen = containerFloorListData.length;
100
99
 
101
100
  const getNoDataContainerHeight = () => {
102
101
  const changeHeight = hasLiveForSageShop
103
102
  ? windowHeight
104
103
  : windowHeight -
105
104
  (isJdApp
106
105
  ? APP_SHOP_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT
107
106
  : M_SHOP_DOWNLOAD_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT);
108
107
  return {
109
108
  height: `${changeHeight}px`,
110
109
  };
111
110
  };
112
111
  return (
113
112
  <View
114
113
  className={classNames(className, shopContainerListStyle['d-shop-container-list'])}
115
114
  style={style}
116
115
  >
117
116
  <View
118
117
  id="J_shopContainerFloorList"
119
118
  className={
120
119
  isHasMarginBottom
121
120
  ? shopContainerListStyle['d-container-list-with-margin-bottom']
122
121
  : shopContainerListStyle['d-container-list-no-margin-bottom']
123
122
  }
124
123
  >
125
124
  {containerFloorListDataLen > 0 ? (
126
125
  containerFloorListData.map((item, index) => {
127
126
  const containerLayoutLeftRightMargin = (item.marginLeft || 0) + (item.marginRight || 0);
128
127
  const getContainerId = `J_container_${item.containerId}`;
129
128
  const borderStyle = getBorderStyle(
130
129
  item,
131
130
  index,
132
131
  containerFloorListData,
133
132
  containerFloorListDataLen,
134
133
  );
135
134
  return (
136
135
  <React.Fragment key={item.containerId + index}>
137
136
  {item.addLuxuryStyle ? (
138
137
  <View className={shopContainerListStyle['d-luxury-header']} />
139
138
  ) : null}
140
139
  {item.addLuxuryBackupStyle ? (
141
140
  <View
142
141
  style={{
143
142
  height: taroJdBaseInfo?.info?.sysInfo?.jdNativeHeaderHeight + 'px',
144
143
  }}
145
144
  className={shopContainerListStyle['d-luxury-header-black']}
146
145
  />
147
146
  ) : null}
148
147
  {typeof item?.renderExtendComponent === 'function'
149
148
  ? item?.renderExtendComponent(item?.floorExtendData)
150
149
  : null}
151
150
  <View
152
151
  className={classNames(
153
152
  shopContainerListStyle['d-container-item'],
154
153
  containerItemClass,
155
154
  )}
156
155
  id={getContainerId}
157
156
  key={item.containerId}
158
157
  data-container-id={item?.containerId}
159
158
  data-container-type={item?.typeCode}
160
159
  style={{
161
160
  marginBottom: item.marginBottom ? `${item.marginBottom}px` : 0,
162
161
  marginTop: item.marginTop ? `${item.marginTop}px` : 0,
163
162
  marginLeft: item.marginLeft ? `${item.marginLeft}px` : 0,
164
163
  marginRight: item.marginRight ? `${item.marginRight}px` : 0,
165
164
  borderTopLeftRadius: borderStyle?.borderTopLeftRadius || `0px`,
166
165
  borderTopRightRadius: borderStyle?.borderTopRightRadiu || `0px`,
167
166
  borderBottomLeftRadius: borderStyle?.borderBottomLeftRadius || `0px`,
168
167
  borderBottomRightRadius: borderStyle?.borderBottomRightRadius || `0px`,
169
168
  '--container-layout-left-right-margin': `${containerLayoutLeftRightMargin}px`,
170
169
  }}
171
170
  >
172
171
  {typeof item?.insertContainerStartComponent === 'function'
173
172
  ? item?.insertContainerStartComponent(item)
174
173
  : null}
175
174
  {item.floors &&
176
175
  item.floors.length > 0 &&
177
176
  item.floors?.map((floorItem, floorIndex) => {
178
177
  return index > lazyLoadStartIndex ? (
179
178
  <LazyLayoutLoad
180
179
  key={item.containerId}
181
180
  sectionType={sectionType}
182
181
  containerId={getContainerId}
183
182
  height={getFloorSetHeight(floorItem)}
184
183
  floorData={floorItem}
185
184
  >
186
185
  {renderFloorItem(
187
186
  item,
188
187
  floorItem,
189
188
  floorIndex,
190
189
  containerLayoutLeftRightMargin,
191
190
  true,
192
191
  index,
193
192
  borderStyle,
194
193
  )}
195
194
  </LazyLayoutLoad>
196
195
  ) : (
197
196
  renderFloorItem(
198
197
  item,
199
198
  floorItem,
200
199
  floorIndex,
201
200
  containerLayoutLeftRightMargin,
202
201
  false,
203
202
  index,
204
203
  borderStyle,
205
204
  )
206
205
  );
207
206
  })}
208
207
  </View>
209
208
  </React.Fragment>
210
209
  );
211
210
  })
212
211
  ) : !emptyFloorListHidden ? (
213
212
  <View
214
213
  className={classNames(shopContainerListStyle['d-container-list-no-data'], {
215
214
  [shopContainerListStyle['d-sage-shop-no-data']]: hasLiveForSageShop,
216
215
  })}
217
216
  style={getNoDataContainerHeight()}
218
217
  >
219
218
  <NetworkDataError
220
219
  netWorkShowType={NetWorkShowType.PART}
221
220
  netWorkDataType={NETWORK_DATA_TYPE.DATA_ERROR}
222
221
  backgroundColorWhite={hasLiveForSageShop}
223
222
  refreshCallBackFn={refreshFloorListDataFn ? refreshFloorListDataFn : null}
224
223
  btnLabel={refreshFloorListDataBtnLabel || ''}
225
224
  />
226
225
  </View>
227
226
  ) : null}
228
227
  </View>
229
228
  </View>
230
229
  );
231
230
  updateShopDataFn: null,
231
+ import React, { useEffect, useState } from 'react';
232
232
  NETWORK_DATA_TYPE,
233
233
  M_SHOP_DOWNLOAD_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT,
234
234
  APP_SHOP_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT,
235
235
  (window.navigator.userAgent.includes('jdappPuppeteer') && window?.loadPuppeteerPageLocalData) ||
236
236
  window.location.href.includes('loadMasterJsType=xingyun');
237
237
  memberBaseInfo?: {
238
238
  shopId?: string;
239
239
  venderId?: string;
240
240
  channel?: string;
241
241
  venderType?: string;
242
242
  showDefaultModule?: boolean;
243
243
  customerLevel?: string;
244
244
  isUserForMember?: boolean;
245
245
  isLv0?: boolean;
246
246
  levelZeroMenuUrl?: string;
247
247
  totalRefresh?: functionType;
248
248
  callOpenCardPopPage?: functionType;
249
249
  };
250
250
  source?: string;
251
251
  containerFloorListData: ComponentInterFace.ContainerItemData[];
252
252
  extendInfoData?: object;
253
253
  className?: string;
254
254
  containerItemClass?: object;
255
255
  style?: object;
256
256
  hasGoodsFeeds?: boolean;
257
257
  builtInComponents?: object;
258
258
  loadingEndComponentFn?: functionType;
259
259
  sectionType?: string;
260
260
  updateShopFloorDataFn?: functionType;
261
261
  updateContainerFloorListDataFn?: functionType;
262
262
  refreshFloorListDataFn?: functionType;
263
263
  refreshFloorListDataBtnLabel?: string;
264
264
  customErrorIsvFloorModule?: React.ReactElement;
265
265
  componentExtend?: React.ReactElement;
266
266
  luxuryFixedIndex?: number;
267
267
  isContainerListHasMarginBottom?: boolean;
268
268
  switchConfig?: {
269
269
  [key: string]: any;
270
270
  };
271
271
  containerFloorListPageInfo?: {
272
272
  hasNextPage: boolean;
273
273
  isByPage: boolean;
274
274
  };
275
275
  const { windowHeight, screenHeight } = taroJdBaseInfo.info.sysInfo;
276
276
  const {
277
277
  source,
278
278
  className,
279
279
  style,
280
280
  memberBaseInfo,
281
281
  containerItemClass = null,
282
282
  containerFloorListData,
283
283
  extendInfoData,
284
284
  builtInComponents,
285
285
  loadingEndComponentFn,
286
286
  sectionType,
287
287
  updateShopFloorDataFn,
288
288
  updateContainerFloorListDataFn,
289
289
  refreshFloorListDataFn,
290
290
  refreshFloorListDataBtnLabel,
291
291
  customErrorIsvFloorModule,
292
292
  luxuryFixedIndex = -1,
293
293
  isContainerListHasMarginBottom,
294
294
  switchConfig,
295
295
  containerFloorListPageInfo = {
296
296
  hasNextPage: false,
297
297
  isByPage: false,
298
298
  },
299
299
  } = props;
300
300
  const [rootMargin, setRootMargin] = useState(
301
301
  source === 'appView' ? '0px 0px 0px 0px' : `0px 0px ${window.innerHeight}px 0px`,
302
302
  );
303
303
  const { hasNextPage, isByPage } = containerFloorListPageInfo;
304
304
  const isContainerListHasMore = isCheckFloorListByPage && hasNextPage && isByPage;
305
305
  const emptyFloorListHidden = switchConfig?.emptyFloorListHidden || false;
306
306
  const isSageShop = taroJdBaseInfo.info?.pageInfo?.isSageShop;
307
307
  const isHasMarginBottom = isContainerListHasMarginBottom ?? !isSageShop;
308
308
 
309
309
  const hasLiveForSageShop =
310
310
  isSageShop && taroJdBaseInfo.info?.pageInfo?.isJdShowNativeImmersivePlayer;
311
311
  useEffect(() => {
312
312
  if (source === 'appView') {
313
313
  setTimeout(() => {
314
314
  setRootMargin(`0px 0px ${window.innerHeight}px 0px`);
315
315
  }, window?.PAGE_DATA?.businessData?.secondScreenLazyloadTimeout || 1500);
316
316
  }
317
317
  }, []);
318
318
 
319
319
  const renderFloorItem = (
320
320
  item,
321
321
  floorItem,
322
322
  floorIndex,
323
323
  containerLayoutLeftRightMargin,
324
324
  lazyLoadState = false,
325
325
  index,
326
326
  borderStyle,
327
327
  ) => {
328
328
  return (
329
329
  <View
330
330
  className={classNames(shopContainerListStyle['d-floor-item'])}
331
331
  data-floor-uid={floorItem?.uid}
332
332
  data-floor-type={floorItem?.floorExtInfo?.moduleFlag || ''}
333
333
  data-lazy-load={lazyLoadState}
334
334
  key={floorItem.uid}
335
335
  id={`J_floor_${floorItem.uid}`}
336
336
  style={borderStyle}
337
337
  >
338
338
  {isChartH5 && (
339
339
  <View
340
340
  className={shopContainerListStyle['d-floor-chart-item']}
341
341
  id={`J_chart_floor_${floorItem?.uid}`}
342
342
  data-floor-uid={floorItem?.uid}
343
343
  data-floor-type={floorItem?.floorExtInfo?.moduleFlag || ''}
344
344
  />
345
345
  )}
346
346
  <FloorListItem
347
347
  memberBaseInfo={memberBaseInfo}
348
348
  source={source}
349
349
  floorIndex={floorIndex}
350
350
  floorData={floorItem}
351
351
  containerIndex={index}
352
352
  layoutLeftRightMargin={containerLayoutLeftRightMargin}
353
353
  containerBorderRadius={borderStyle}
354
354
  updateShopFloorDataFn={updateShopFloorDataFn}
355
355
  loadingEndComponentFn={loadingEndComponentFn}
356
356
  extendInfoData={
357
357
  passExtendInfoModuleWhiteList.includes(floorItem?.floorExtInfo?.moduleFlag)
358
358
  ? extendInfoData
359
359
  : undefined
360
360
  }
361
361
  key={floorItem.uid}
362
362
  builtInComponents={builtInComponents}
363
363
  updateContainerFloorListDataFn={updateContainerFloorListDataFn}
364
364
  customErrorIsvFloorModule={customErrorIsvFloorModule}
365
365
  />
366
366
  {index === luxuryFixedIndex ? props.children : null}
367
367
  {floorItem?.inspectResult === '1' && (
368
368
  <View className={shopContainerListStyle['d-floor-inspect-mask']} />
369
369
  )}
370
370
  </View>
371
371
  );
372
372
  };
373
373
 
374
374
  const getFloorSetHeight = (item) => {
375
375
  const getHeight = item?.floorExtInfo?.floorHeight
376
376
  ? Number(item?.floorExtInfo?.floorHeight)
377
377
  : 200;
378
378
  return getHeight > 0 ? getHeight : 200;
379
379
  };
380
380
  const containerFloorListDataLen = containerFloorListData.length;
381
381
 
382
382
  const getNoDataContainerHeight = () => {
383
383
  const getWindowHeight = windowHeight > 10 ? windowHeight : screenHeight;
384
384
  const changeHeight = hasLiveForSageShop
385
385
  ? getWindowHeight
386
386
  : getWindowHeight -
387
387
  (isJdApp
388
388
  ? APP_SHOP_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT
389
389
  : M_SHOP_DOWNLOAD_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT);
390
390
  return {
391
391
  height: `${changeHeight}px`,
392
392
  };
393
393
  };
394
394
  return (
395
395
  <View
396
396
  id="J_shopContainerFloorList"
397
397
  className={classNames(
398
398
  className,
399
399
  shopContainerListStyle['d-shop-container-list'],
400
400
  isHasMarginBottom
401
401
  ? shopContainerListStyle['d-container-list-with-margin-bottom']
402
402
  : shopContainerListStyle['d-container-list-no-margin-bottom'],
403
403
  )}
404
404
  style={style}
405
405
  >
406
406
  {containerFloorListDataLen > 0 ? (
407
407
  <>
408
408
  {containerFloorListData.map((item, index) => {
409
409
  const containerLayoutLeftRightMargin = (item.marginLeft || 0) + (item.marginRight || 0);
410
410
  const getContainerId = `J_container_${item.containerId}`;
411
411
  const getDealContainerFloorListLen = isContainerListHasMore
412
412
  ? 1000
413
413
  : containerFloorListDataLen;
414
414
  const borderStyle = getBorderStyle(
415
415
  item,
416
416
  index,
417
417
  containerFloorListData,
418
418
  getDealContainerFloorListLen,
419
419
  );
420
420
  return (
421
421
  <React.Fragment key={item.containerId + index}>
422
422
  {item.addLuxuryStyle ? (
423
423
  <View className={shopContainerListStyle['d-luxury-header']} />
424
424
  ) : null}
425
425
  {item.addLuxuryBackupStyle ? (
426
426
  <View
427
427
  style={{
428
428
  height: taroJdBaseInfo?.info?.sysInfo?.jdNativeHeaderHeight + 'px',
429
429
  }}
430
430
  className={shopContainerListStyle['d-luxury-header-black']}
431
431
  />
432
432
  ) : null}
433
433
  {typeof item?.renderExtendComponent === 'function'
434
434
  ? item?.renderExtendComponent(item?.floorExtendData)
435
435
  : null}
436
436
  <View
437
437
  className={classNames(
438
438
  shopContainerListStyle['d-container-item'],
439
439
  containerItemClass,
440
440
  )}
441
441
  id={getContainerId}
442
442
  key={item.containerId}
443
443
  data-container-id={item?.containerId}
444
444
  data-container-type={item?.typeCode}
445
445
  data-container-index={index}
446
446
  style={{
447
447
  marginBottom: item.marginBottom ? `${item.marginBottom}px` : 0,
448
448
  marginTop: item.marginTop ? `${item.marginTop}px` : 0,
449
449
  marginLeft: item.marginLeft ? `${item.marginLeft}px` : 0,
450
450
  marginRight: item.marginRight ? `${item.marginRight}px` : 0,
451
451
  borderTopLeftRadius: borderStyle?.borderTopLeftRadius || `0px`,
452
452
  borderTopRightRadius: borderStyle?.borderTopRightRadiu || `0px`,
453
453
  borderBottomLeftRadius: borderStyle?.borderBottomLeftRadius || `0px`,
454
454
  borderBottomRightRadius: borderStyle?.borderBottomRightRadius || `0px`,
455
455
  '--container-layout-left-right-margin': `${containerLayoutLeftRightMargin}px`,
456
456
  }}
457
457
  >
458
458
  {typeof item?.insertContainerStartComponent === 'function'
459
459
  ? item?.insertContainerStartComponent(item)
460
460
  : null}
461
461
  {item.floors &&
462
462
  item.floors.length > 0 &&
463
463
  item.floors?.map((floorItem, floorIndex) => {
464
464
  return index > lazyLoadStartIndex ? (
465
465
  <LazyLayoutLoad
466
466
  key={item.containerId}
467
467
  sectionType={sectionType}
468
468
  containerId={getContainerId}
469
469
  height={getFloorSetHeight(floorItem)}
470
470
  floorData={floorItem}
471
471
  rootMargin={rootMargin}
472
472
  >
473
473
  {renderFloorItem(
474
474
  item,
475
475
  floorItem,
476
476
  floorIndex,
477
477
  containerLayoutLeftRightMargin,
478
478
  true,
479
479
  index,
480
480
  borderStyle,
481
481
  )}
482
482
  </LazyLayoutLoad>
483
483
  ) : (
484
484
  renderFloorItem(
485
485
  item,
486
486
  floorItem,
487
487
  floorIndex,
488
488
  containerLayoutLeftRightMargin,
489
489
  false,
490
490
  index,
491
491
  borderStyle,
492
492
  )
493
493
  );
494
494
  })}
495
495
  </View>
496
496
  </React.Fragment>
497
497
  );
498
498
  })}
499
499
  </>
500
500
  ) : !emptyFloorListHidden ? (
501
501
  <View
502
502
  className={classNames(shopContainerListStyle['d-container-list-no-data'], {
503
503
  [shopContainerListStyle['d-sage-shop-no-data']]: hasLiveForSageShop,
504
504
  })}
505
505
  style={getNoDataContainerHeight()}
506
506
  >
507
507
  <NetworkDataError
508
508
  netWorkShowType={NetWorkShowType.PART}
509
509
  netWorkDataType={NETWORK_DATA_TYPE.DATA_ERROR}
510
510
  backgroundColorWhite={hasLiveForSageShop}
511
511
  refreshCallBackFn={refreshFloorListDataFn ? refreshFloorListDataFn : null}
512
512
  btnLabel={refreshFloorListDataBtnLabel || ''}
513
513
  />
514
514
  </View>
515
515
  ) : null}
516
516
  </View>
517
517
  );
518
518
  updateShopDataFn: null,