@conecli/cone-render 0.10.1-shop3.5 → 0.10.1-shop3.50

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 (99) hide show
  1. package/README.md +1 -1
  2. package/dist/common/accessibility.h5.ts +1 -0
  3. package/dist/common/accessibility.ts +0 -0
  4. package/dist/common/const.ts +1 -1
  5. package/dist/common/index.h5.ts +1 -1
  6. package/dist/common/index.jd.ts +1 -1
  7. package/dist/common/index.ts +1 -1
  8. package/dist/common/index.weapp.ts +1 -1
  9. package/dist/common/jdplayerSdk.weapp.tsx +1 -0
  10. package/dist/common/jssdk.ts +1 -1
  11. package/dist/common/jssdk.weapp.ts +1 -0
  12. package/dist/common/pageType.ts +1 -1
  13. package/dist/common/token/index.h5.ts +1 -1
  14. package/dist/common/token/token.jd.ts +1 -1
  15. package/dist/common/wxappApi.ts +1 -1
  16. package/dist/components/ErrorBoundary.tsx +1 -1
  17. package/dist/components/base/CommonFloorHead/index.module.scss +126 -111
  18. package/dist/components/base/CommonFloorHead/index.tsx +1 -1
  19. package/dist/components/base/CountDown/index.tsx +1 -1
  20. package/dist/components/base/CustomScrollView/index-back.tsx +1 -0
  21. package/dist/components/base/CustomScrollView/index.tsx +1 -1
  22. package/dist/components/base/CustomVideo/index.tsx +1 -1
  23. package/dist/components/base/CustomVideo/index.weapp.tsx +1 -0
  24. package/dist/components/base/Dialog/index.module.scss +11 -0
  25. package/dist/components/base/InOrOutViewObserver/index.weapp.tsx +1 -0
  26. package/dist/components/base/InViewRender/index.tsx +1 -1
  27. package/dist/components/base/ItemViewExposureSmart/index.tsx +1 -1
  28. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
  29. package/dist/components/base/MobileCommonHeader/index.weapp.tsx +1 -0
  30. package/dist/components/base/NetworkDataError/const.ts +1 -1
  31. package/dist/components/base/NetworkDataError/index.module.scss +118 -72
  32. package/dist/components/base/NetworkDataError/index.tsx +1 -1
  33. package/dist/components/base/Price/Base/index.module.scss +12 -0
  34. package/dist/components/base/Price/Base/index.tsx +1 -1
  35. package/dist/components/base/Price/Double/index.module.scss +24 -0
  36. package/dist/components/base/Price/Double/index.tsx +1 -1
  37. package/dist/components/debug/DebugLayout/index.module.scss +2 -2
  38. package/dist/components/floorItem.weapp.tsx +1 -1
  39. package/dist/interface/common.ts +1 -1
  40. package/dist/interface/component.ts +1 -1
  41. package/dist/interface/jumpEventReport.ts +1 -1
  42. package/dist/jumpEventReport/base.ts +1 -1
  43. package/dist/jumpEventReport/const.ts +1 -1
  44. package/dist/jumpEventReport/createReportFloorData.ts +1 -1
  45. package/dist/jumpEventReport/index.h5.ts +1 -1
  46. package/dist/jumpEventReport/index.jd.ts +1 -1
  47. package/dist/jumpEventReport/index.weapp.ts +1 -1
  48. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  49. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  50. package/dist/jumpEventReport/logEventConfig.h5.ts +1 -0
  51. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  52. package/dist/jumpEventReport/web/report.ts +1 -1
  53. package/dist/jumpEventReport/web.base.ts +1 -1
  54. package/dist/jumpEventReport/web.jd.ts +1 -1
  55. package/dist/jumpEventReport/web.pc.ts +1 -1
  56. package/dist/jumpEventReport/web.tjm.ts +1 -1
  57. package/dist/jumpEventReport/web.wxapp.ts +1 -1
  58. package/dist/language/en_US.json +231 -0
  59. package/dist/language/zh_CN.json +231 -0
  60. package/dist/language/zh_HK.json +231 -0
  61. package/dist/libs/taroAppReport.js +2 -2
  62. package/dist/modules/ContainerFloorList/index.h5.module.scss +66 -56
  63. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  64. package/dist/modules/ContainerFloorList/index.tsx +1 -1
  65. package/dist/modules/DecorateContainerFloorList/index.weapp.tsx +1 -0
  66. package/dist/open/api/environment.ts +1 -1
  67. package/dist/open/api/shopMember.ts +1 -1
  68. package/dist/open/api/shopMember.weapp.ts +1 -0
  69. package/dist/open/api/util.ts +1 -1
  70. package/dist/open/index.ts +1 -1
  71. package/dist/sass/app.h5.scss +278 -224
  72. package/dist/service/fetchGateway.ts +1 -1
  73. package/dist/service/fetchGateway.weapp.ts +1 -0
  74. package/dist/service/fetchJsonp.weapp.ts +1 -0
  75. package/dist/service/http/colorSign.ts +1 -1
  76. package/dist/service/http/const.ts +1 -1
  77. package/dist/service/http/h5Http.ts +1 -1
  78. package/dist/service/http/httpInterceptors.weapp.ts +1 -0
  79. package/dist/service/requestServer.h5.ts +1 -1
  80. package/dist/service/requestServer.ts +1 -1
  81. package/dist/service/requestServer.weapp.ts +1 -0
  82. package/dist/utils/connectNativeJsBridge.ts +1 -1
  83. package/dist/utils/h5Utils.ts +1 -1
  84. package/dist/utils/harmonyCallRouter.h5.ts +1 -0
  85. package/dist/utils/harmonyCallRouter.ts +0 -0
  86. package/dist/utils/index.h5.ts +1 -1
  87. package/dist/utils/index.ts +1 -1
  88. package/dist/utils/index.weapp.ts +1 -1
  89. package/dist/utils/jumpExtMapUtil.h5.ts +1 -0
  90. package/dist/utils/jumpExtMapUtil.ts +1 -0
  91. package/dist/utils/log.ts +1 -0
  92. package/dist/utils/{sColor.js → sColor.ts} +1 -1
  93. package/dist/utils/sColor.weapp.ts +1 -0
  94. package/dist/utils/utils.ts +1 -1
  95. package/dist/wxapp/common/address_api/address_api_v2.js +1 -0
  96. package/dist/wxapp/common/user_info.js +1 -1
  97. package/package.json +160 -141
  98. package/dist/jumpEventReport/web/wqshop.report.ts +0 -1
  99. package/dist/utils/priceUtils.js +0 -1
@@ -1,66 +1,76 @@
1
1
 
2
2
  .d-shop-container-list {
3
- position: relative;
4
- overflow: hidden;
5
- z-index: 2;
3
+ position: relative;
4
+ overflow: hidden;
5
+ z-index: 2;
6
6
 
7
- .d-container-item,
8
- .d-floor-item {
9
- position: relative;
10
- // 不能加overflow 防止IntersectionObserver监听异常
11
- //overflow: hidden;
12
- }
7
+ // 容器列表底部间距,不做适配转换,固定8px
8
+ .d-container-list-with-margin-bottom {
9
+ margin-bottom: 8px;
10
+ }
13
11
 
14
-
15
- .d-floor-item {
16
- overflow: hidden;
17
- display: block; // 由于taro的View属于一种自定义标签,虽然taro自己会给View设置display为block,但是这个是一个异步过程,而自定义标签的默认display是inline,inline状态下即使设置了overflow:hidden,也会由于内容过大导致宽度被撑大而超出容器实际宽度。所以为了保证楼层容器节点在加载过程中不被撑大,需要显示设置display:block
18
- }
19
- .d-floor-chart-item{
20
- position: absolute;
21
- top: 0;
22
- left: 0;
23
- right: 0;
24
- bottom: 0;
25
- pointer-events: auto;
26
- z-index: 99;
27
- }
28
- .d-container-item {
29
- //opacity: 0;
30
- //animation: containerShowToOpacity 500ms;
31
- //animation-fill-mode: forwards;
32
- :global {
33
- .lazyload-placeholder {
34
- background: url('https://img13.360buyimg.com/imagetools/jfs/t1/151010/32/14284/30214/5ff66791Ea1bc6cc6/698c0772b377aef5.png')
35
- center center / 40px 40px no-repeat;
36
- }
37
- }
38
- }
39
- .d-luxury-header {
40
- border-top-left-radius: 40px;
41
- border-top-right-radius: 40px;
42
- width: 100%;
43
- height: 8PX;
44
- margin-top: -8PX;
45
- background-clip: padding-box;
46
- position: relative;
47
- z-index: 999;
48
- background: #F2F2F2;
49
- box-shadow: 0 0 1px rgba(0, 0, 0, 0);
50
- }
51
- .d-luxury-header-black {
52
- width: 100%;
53
- z-index: 999;
54
- background: black;
55
- margin-bottom: 16px;
56
- }
57
- .d-container-list-no-data {
58
- min-height: 400px;
59
- &.d-sage-shop-no-data{
60
- background: #fff;
12
+ .d-container-list-no-margin-bottom {
13
+ margin-bottom: 0;
14
+ }
15
+
16
+ .d-container-item,
17
+ .d-floor-item {
18
+ position: relative;
19
+ // 不能加overflow 防止IntersectionObserver监听异常
20
+ //overflow: hidden;
21
+ }
22
+
23
+
24
+ .d-floor-item {
25
+ overflow: hidden;
26
+ display: block; // 由于taro的View属于一种自定义标签,虽然taro自己会给View设置display为block,但是这个是一个异步过程,而自定义标签的默认display是inline,inline状态下即使设置了overflow:hidden,也会由于内容过大导致宽度被撑大而超出容器实际宽度。所以为了保证楼层容器节点在加载过程中不被撑大,需要显示设置display:block
27
+ }
28
+ .d-floor-chart-item {
29
+ position: absolute;
30
+ top: 0;
31
+ left: 0;
32
+ right: 0;
33
+ bottom: 0;
34
+ pointer-events: auto;
35
+ z-index: 99;
36
+ }
37
+ .d-container-item {
38
+ //opacity: 0;
39
+ //animation: containerShowToOpacity 500ms;
40
+ //animation-fill-mode: forwards;
41
+ :global {
42
+ .lazyload-placeholder {
43
+ background: url('https://img13.360buyimg.com/imagetools/jfs/t1/151010/32/14284/30214/5ff66791Ea1bc6cc6/698c0772b377aef5.png')
44
+ center center / 40px 40px no-repeat;
61
45
  }
62
46
  }
47
+ }
48
+ .d-luxury-header {
49
+ border-top-left-radius: 40px;
50
+ border-top-right-radius: 40px;
51
+ width: 100%;
52
+ height: 8px;
53
+ margin-top: -8px;
54
+ background-clip: padding-box;
55
+ position: relative;
56
+ z-index: 999;
57
+ background: #f2f2f2;
58
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0);
59
+ }
60
+ .d-luxury-header-black {
61
+ width: 100%;
62
+ z-index: 999;
63
+ background: black;
64
+ margin-bottom: 16px;
65
+ }
66
+ .d-container-list-no-data {
67
+ min-height: 400px;
68
+ &.d-sage-shop-no-data {
69
+ background: #fff;
70
+ }
71
+ }
63
72
  }
73
+
64
74
  //@keyframes containerShowToOpacity {
65
75
  // from {
66
76
  // opacity: 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
  const { windowHeight } = taroJdBaseInfo.info.sysInfo;
21
20
  const {
22
21
  className,
23
22
  style,
24
23
  containerItemClass = null,
25
24
  containerFloorListData,
26
25
  builtInComponents,
27
26
  loadingEndComponentFn,
28
27
  sectionType,
29
28
  updateShopFloorDataFn,
30
29
  updateContainerFloorListDataFn,
31
30
  refreshFloorListDataFn,
32
31
  refreshFloorListDataBtnLabel,
33
32
  customErrorIsvFloorModule,
34
33
  luxuryFixedIndex = -1,
35
34
  } = props;
36
35
  const isSageShop = taroJdBaseInfo.info?.pageInfo?.isSageShop
37
36
 
38
37
  const hasLiveForSageShop =
39
38
  isSageShop &&
40
39
  taroJdBaseInfo.info?.pageInfo?.isJdShowNativeImmersivePlayer;
41
40
 
42
41
  const renderFloorItem = (
43
42
  item,
44
43
  floorItem,
45
44
  floorIndex,
46
45
  containerLayoutLeftRightMargin,
47
46
  lazyLoadState = false,
48
47
  index,
49
48
  borderStyle,
50
49
  ) => {
51
50
  return (
52
51
  <View
53
52
  className={classNames(shopContainerListStyle['d-floor-item'])}
54
53
  data-floor-uid={floorItem?.uid}
55
54
  data-floor-type={floorItem?.floorExtInfo?.moduleFlag || ''}
56
55
  data-lazy-load={lazyLoadState}
57
56
  key={floorItem.uid}
58
57
  id={`J_floor_${floorItem.uid}`}
59
58
  style={borderStyle}
60
59
  >
61
60
  {isChartH5 && (
62
61
  <View
63
62
  className={shopContainerListStyle['d-floor-chart-item']}
64
63
  id={`J_chart_floor_${floorItem?.uid}`}
65
64
  data-floor-uid={floorItem?.uid}
66
65
  data-floor-type={floorItem?.floorExtInfo?.moduleFlag || ''}
67
66
  />
68
67
  )}
69
68
  <FloorListItem
70
69
  floorIndex={floorIndex}
71
70
  floorData={floorItem}
72
71
  layoutLeftRightMargin={containerLayoutLeftRightMargin}
73
72
  containerBorderRadius={borderStyle}
74
73
  updateShopFloorDataFn={updateShopFloorDataFn}
75
74
  loadingEndComponentFn={loadingEndComponentFn}
76
75
  key={floorItem.uid}
77
76
  builtInComponents={builtInComponents}
78
77
  updateContainerFloorListDataFn={updateContainerFloorListDataFn}
79
78
  customErrorIsvFloorModule={customErrorIsvFloorModule}
80
79
  />
81
80
  {index === luxuryFixedIndex ? props.children : null}
82
81
  </View>
83
82
  );
84
83
  };
85
84
 
86
85
  const getFloorSetHeight = (item) => {
87
86
  const getHeight = item?.floorExtInfo?.floorHeight
88
87
  ? Number(item?.floorExtInfo?.floorHeight)
89
88
  : 200;
90
89
  return getHeight > 0 ? getHeight : 200;
91
90
  };
92
91
  const containerFloorListDataLen = containerFloorListData.length;
93
92
 
94
93
  const getNoDataContainerHeight = () => {
95
94
  const changeHeight = hasLiveForSageShop
96
95
  ? windowHeight
97
96
  : windowHeight -
98
97
  (isJdApp
99
98
  ? APP_SHOP_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT
100
99
  : M_SHOP_DOWNLOAD_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT);
101
100
  return {
102
101
  height: `${changeHeight}px`,
103
102
  };
104
103
  };
105
104
  return (
106
105
  <View
107
106
  className={classNames(className, shopContainerListStyle['d-shop-container-list'])}
108
107
  style={style}
109
108
  >
110
109
  <View id="J_shopContainerFloorList">
111
110
  {containerFloorListDataLen > 0 ? (
112
111
  containerFloorListData.map((item, index) => {
113
112
  const containerLayoutLeftRightMargin = (item.marginLeft || 0) + (item.marginRight || 0);
114
113
  const getContainerId = `J_container_${item.containerId}`;
115
114
  const borderStyle = getBorderStyle(
116
115
  item,
117
116
  index,
118
117
  containerFloorListData,
119
118
  containerFloorListDataLen,
120
119
  );
121
120
  if (!isSageShop && index === containerFloorListDataLen - 1) item.marginBottom = 8;
122
121
  return (
123
122
  <React.Fragment key={item.containerId + index}>
124
123
  {item.addLuxuryStyle ? (
125
124
  <View className={shopContainerListStyle['d-luxury-header']} />
126
125
  ) : null}
127
126
  {item.addLuxuryBackupStyle ? (
128
127
  <View
129
128
  style={{
130
129
  height: taroJdBaseInfo?.info?.sysInfo?.jdNativeHeaderHeight + 'px',
131
130
  }}
132
131
  className={shopContainerListStyle['d-luxury-header-black']}
133
132
  />
134
133
  ) : null}
135
134
  {typeof item?.renderExtendComponent === 'function'
136
135
  ? item?.renderExtendComponent(item?.floorExtendData)
137
136
  : null}
138
137
  <View
139
138
  className={classNames(
140
139
  shopContainerListStyle['d-container-item'],
141
140
  containerItemClass,
142
141
  )}
143
142
  id={getContainerId}
144
143
  key={item.containerId}
145
144
  data-container-id={item?.containerId}
146
145
  data-container-type={item?.typeCode}
147
146
  style={{
148
147
  marginBottom: item.marginBottom ? `${item.marginBottom}px` : 0,
149
148
  marginTop: item.marginTop ? `${item.marginTop}px` : 0,
150
149
  marginLeft: item.marginLeft ? `${item.marginLeft}px` : 0,
151
150
  marginRight: item.marginRight ? `${item.marginRight}px` : 0,
152
151
  borderTopLeftRadius: borderStyle?.borderTopLeftRadius || `0px`,
153
152
  borderTopRightRadius: borderStyle?.borderTopRightRadiu || `0px`,
154
153
  borderBottomLeftRadius: borderStyle?.borderBottomLeftRadius || `0px`,
155
154
  borderBottomRightRadius: borderStyle?.borderBottomRightRadius || `0px`,
156
155
  }}
157
156
  >
158
157
  {typeof item?.insertContainerStartComponent === 'function'
159
158
  ? item?.insertContainerStartComponent(item)
160
159
  : null}
161
160
  {item.floors &&
162
161
  item.floors.length > 0 &&
163
162
  item.floors?.map((floorItem, floorIndex) => {
164
163
  return index > lazyLoadStartIndex ? (
165
164
  <LazyLayoutLoad
166
165
  key={item.containerId}
167
166
  sectionType={sectionType}
168
167
  containerId={getContainerId}
169
168
  height={getFloorSetHeight(floorItem)}
170
169
  floorData={floorItem}
171
170
  >
172
171
  {renderFloorItem(
173
172
  item,
174
173
  floorItem,
175
174
  floorIndex,
176
175
  containerLayoutLeftRightMargin,
177
176
  true,
178
177
  index,
179
178
  borderStyle,
180
179
  )}
181
180
  </LazyLayoutLoad>
182
181
  ) : (
183
182
  renderFloorItem(
184
183
  item,
185
184
  floorItem,
186
185
  floorIndex,
187
186
  containerLayoutLeftRightMargin,
188
187
  false,
189
188
  index,
190
189
  borderStyle,
191
190
  )
192
191
  );
193
192
  })}
194
193
  </View>
195
194
  </React.Fragment>
196
195
  );
197
196
  })
198
197
  ) : (
199
198
  <View
200
199
  className={classNames(shopContainerListStyle['d-container-list-no-data'], {
201
200
  [shopContainerListStyle['d-sage-shop-no-data']]: hasLiveForSageShop,
202
201
  })}
203
202
  style={getNoDataContainerHeight()}
204
203
  >
205
204
  <NetworkDataError
206
205
  netWorkShowType={NetWorkShowType.PART}
207
206
  netWorkDataType={NETWORK_DATA_TYPE.DATA_ERROR}
208
207
  backgroundColorWhite={hasLiveForSageShop}
209
208
  refreshCallBackFn={refreshFloorListDataFn ? refreshFloorListDataFn : null}
210
209
  btnLabel={refreshFloorListDataBtnLabel || ''}
211
210
  />
212
211
  </View>
213
212
  )}
214
213
  </View>
215
214
  </View>
216
215
  );
217
216
  updateShopDataFn: null,
217
+ import React from 'react';
218
218
  NETWORK_DATA_TYPE,
219
219
  M_SHOP_DOWNLOAD_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT,
220
220
  APP_SHOP_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT,
221
221
  containerFloorListData: ComponentInterFace.ContainerItemData[];
222
222
  extendInfoData?: object;
223
223
  className?: string;
224
224
  containerItemClass?: object;
225
225
  style?: object;
226
226
  hasGoodsFeeds?: boolean;
227
227
  builtInComponents?: object;
228
228
  loadingEndComponentFn?: functionType;
229
229
  sectionType?: string;
230
230
  updateShopFloorDataFn?: functionType;
231
231
  updateContainerFloorListDataFn?: functionType;
232
232
  refreshFloorListDataFn?: functionType;
233
233
  refreshFloorListDataBtnLabel?: string;
234
234
  customErrorIsvFloorModule?: React.ReactElement;
235
235
  componentExtend?: React.ReactElement;
236
236
  luxuryFixedIndex?: number;
237
237
  isContainerListHasMarginBottom?: boolean;
238
238
  switchConfig?: {
239
239
  [key: string]: any;
240
240
  };
241
241
  const { windowHeight, screenHeight } = taroJdBaseInfo.info.sysInfo;
242
242
  const {
243
243
  className,
244
244
  style,
245
245
  containerItemClass = null,
246
246
  containerFloorListData,
247
247
  extendInfoData,
248
248
  builtInComponents,
249
249
  loadingEndComponentFn,
250
250
  sectionType,
251
251
  updateShopFloorDataFn,
252
252
  updateContainerFloorListDataFn,
253
253
  refreshFloorListDataFn,
254
254
  refreshFloorListDataBtnLabel,
255
255
  customErrorIsvFloorModule,
256
256
  luxuryFixedIndex = -1,
257
257
  isContainerListHasMarginBottom,
258
258
  switchConfig,
259
259
  } = props;
260
260
  const emptyFloorListHidden = switchConfig?.emptyFloorListHidden || false;
261
261
  const isSageShop = taroJdBaseInfo.info?.pageInfo?.isSageShop;
262
262
  const isHasMarginBottom = isContainerListHasMarginBottom ?? !isSageShop;
263
263
 
264
264
  const hasLiveForSageShop =
265
265
  isSageShop && taroJdBaseInfo.info?.pageInfo?.isJdShowNativeImmersivePlayer;
266
266
 
267
267
  const renderFloorItem = (
268
268
  item,
269
269
  floorItem,
270
270
  floorIndex,
271
271
  containerLayoutLeftRightMargin,
272
272
  lazyLoadState = false,
273
273
  index,
274
274
  borderStyle,
275
275
  ) => {
276
276
  return (
277
277
  <View
278
278
  className={classNames(shopContainerListStyle['d-floor-item'])}
279
279
  data-floor-uid={floorItem?.uid}
280
280
  data-floor-type={floorItem?.floorExtInfo?.moduleFlag || ''}
281
281
  data-lazy-load={lazyLoadState}
282
282
  key={floorItem.uid}
283
283
  id={`J_floor_${floorItem.uid}`}
284
284
  style={borderStyle}
285
285
  >
286
286
  {isChartH5 && (
287
287
  <View
288
288
  className={shopContainerListStyle['d-floor-chart-item']}
289
289
  id={`J_chart_floor_${floorItem?.uid}`}
290
290
  data-floor-uid={floorItem?.uid}
291
291
  data-floor-type={floorItem?.floorExtInfo?.moduleFlag || ''}
292
292
  />
293
293
  )}
294
294
  <FloorListItem
295
295
  floorIndex={floorIndex}
296
296
  floorData={floorItem}
297
297
  layoutLeftRightMargin={containerLayoutLeftRightMargin}
298
298
  containerBorderRadius={borderStyle}
299
299
  updateShopFloorDataFn={updateShopFloorDataFn}
300
300
  loadingEndComponentFn={loadingEndComponentFn}
301
301
  extendInfoData={
302
302
  passExtendInfoModuleWhiteList.includes(floorItem?.floorExtInfo?.moduleFlag)
303
303
  ? extendInfoData
304
304
  : undefined
305
305
  }
306
306
  key={floorItem.uid}
307
307
  builtInComponents={builtInComponents}
308
308
  updateContainerFloorListDataFn={updateContainerFloorListDataFn}
309
309
  customErrorIsvFloorModule={customErrorIsvFloorModule}
310
310
  />
311
311
  {index === luxuryFixedIndex ? props.children : null}
312
312
  </View>
313
313
  );
314
314
  };
315
315
 
316
316
  const getFloorSetHeight = (item) => {
317
317
  const getHeight = item?.floorExtInfo?.floorHeight
318
318
  ? Number(item?.floorExtInfo?.floorHeight)
319
319
  : 200;
320
320
  return getHeight > 0 ? getHeight : 200;
321
321
  };
322
322
  const containerFloorListDataLen = containerFloorListData.length;
323
323
 
324
324
  const getNoDataContainerHeight = () => {
325
325
  const getWindowHeight = windowHeight > 10 ? windowHeight : screenHeight;
326
326
  const changeHeight = hasLiveForSageShop
327
327
  ? getWindowHeight
328
328
  : getWindowHeight -
329
329
  (isJdApp
330
330
  ? APP_SHOP_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT
331
331
  : M_SHOP_DOWNLOAD_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT);
332
332
  return {
333
333
  height: `${changeHeight}px`,
334
334
  };
335
335
  };
336
336
  return (
337
337
  <View
338
338
  className={classNames(className, shopContainerListStyle['d-shop-container-list'])}
339
339
  style={style}
340
340
  >
341
341
  <View
342
342
  id="J_shopContainerFloorList"
343
343
  className={
344
344
  isHasMarginBottom
345
345
  ? shopContainerListStyle['d-container-list-with-margin-bottom']
346
346
  : shopContainerListStyle['d-container-list-no-margin-bottom']
347
347
  }
348
348
  >
349
349
  {containerFloorListDataLen > 0 ? (
350
350
  containerFloorListData.map((item, index) => {
351
351
  const containerLayoutLeftRightMargin = (item.marginLeft || 0) + (item.marginRight || 0);
352
352
  const getContainerId = `J_container_${item.containerId}`;
353
353
  const borderStyle = getBorderStyle(
354
354
  item,
355
355
  index,
356
356
  containerFloorListData,
357
357
  containerFloorListDataLen,
358
358
  );
359
359
  return (
360
360
  <React.Fragment key={item.containerId + index}>
361
361
  {item.addLuxuryStyle ? (
362
362
  <View className={shopContainerListStyle['d-luxury-header']} />
363
363
  ) : null}
364
364
  {item.addLuxuryBackupStyle ? (
365
365
  <View
366
366
  style={{
367
367
  height: taroJdBaseInfo?.info?.sysInfo?.jdNativeHeaderHeight + 'px',
368
368
  }}
369
369
  className={shopContainerListStyle['d-luxury-header-black']}
370
370
  />
371
371
  ) : null}
372
372
  {typeof item?.renderExtendComponent === 'function'
373
373
  ? item?.renderExtendComponent(item?.floorExtendData)
374
374
  : null}
375
375
  <View
376
376
  className={classNames(
377
377
  shopContainerListStyle['d-container-item'],
378
378
  containerItemClass,
379
379
  )}
380
380
  id={getContainerId}
381
381
  key={item.containerId}
382
382
  data-container-id={item?.containerId}
383
383
  data-container-type={item?.typeCode}
384
384
  data-container-index={index}
385
385
  style={{
386
386
  marginBottom: item.marginBottom ? `${item.marginBottom}px` : 0,
387
387
  marginTop: item.marginTop ? `${item.marginTop}px` : 0,
388
388
  marginLeft: item.marginLeft ? `${item.marginLeft}px` : 0,
389
389
  marginRight: item.marginRight ? `${item.marginRight}px` : 0,
390
390
  borderTopLeftRadius: borderStyle?.borderTopLeftRadius || `0px`,
391
391
  borderTopRightRadius: borderStyle?.borderTopRightRadiu || `0px`,
392
392
  borderBottomLeftRadius: borderStyle?.borderBottomLeftRadius || `0px`,
393
393
  borderBottomRightRadius: borderStyle?.borderBottomRightRadius || `0px`,
394
394
  '--container-layout-left-right-margin': `${containerLayoutLeftRightMargin}px`,
395
395
  }}
396
396
  >
397
397
  {typeof item?.insertContainerStartComponent === 'function'
398
398
  ? item?.insertContainerStartComponent(item)
399
399
  : null}
400
400
  {item.floors &&
401
401
  item.floors.length > 0 &&
402
402
  item.floors?.map((floorItem, floorIndex) => {
403
403
  return index > lazyLoadStartIndex ? (
404
404
  <LazyLayoutLoad
405
405
  key={item.containerId}
406
406
  sectionType={sectionType}
407
407
  containerId={getContainerId}
408
408
  height={getFloorSetHeight(floorItem)}
409
409
  floorData={floorItem}
410
410
  >
411
411
  {renderFloorItem(
412
412
  item,
413
413
  floorItem,
414
414
  floorIndex,
415
415
  containerLayoutLeftRightMargin,
416
416
  true,
417
417
  index,
418
418
  borderStyle,
419
419
  )}
420
420
  </LazyLayoutLoad>
421
421
  ) : (
422
422
  renderFloorItem(
423
423
  item,
424
424
  floorItem,
425
425
  floorIndex,
426
426
  containerLayoutLeftRightMargin,
427
427
  false,
428
428
  index,
429
429
  borderStyle,
430
430
  )
431
431
  );
432
432
  })}
433
433
  </View>
434
434
  </React.Fragment>
435
435
  );
436
436
  })
437
437
  ) : !emptyFloorListHidden ? (
438
438
  <View
439
439
  className={classNames(shopContainerListStyle['d-container-list-no-data'], {
440
440
  [shopContainerListStyle['d-sage-shop-no-data']]: hasLiveForSageShop,
441
441
  })}
442
442
  style={getNoDataContainerHeight()}
443
443
  >
444
444
  <NetworkDataError
445
445
  netWorkShowType={NetWorkShowType.PART}
446
446
  netWorkDataType={NETWORK_DATA_TYPE.DATA_ERROR}
447
447
  backgroundColorWhite={hasLiveForSageShop}
448
448
  refreshCallBackFn={refreshFloorListDataFn ? refreshFloorListDataFn : null}
449
449
  btnLabel={refreshFloorListDataBtnLabel || ''}
450
450
  />
451
451
  </View>
452
452
  ) : null}
453
453
  </View>
454
454
  </View>
455
455
  );
456
456
  updateShopDataFn: null,