@conecli/cone-render 0.10.1-isv2.1 → 0.10.1-isv2.4

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 (111) hide show
  1. package/dist/api/index.ts +1 -1
  2. package/dist/common/const.ts +1 -1
  3. package/dist/common/environmentType.ts +1 -1
  4. package/dist/common/index.h5.ts +1 -1
  5. package/dist/common/index.jd.ts +1 -1
  6. package/dist/common/index.ts +1 -1
  7. package/dist/common/index.weapp.ts +1 -1
  8. package/dist/common/jssdk.ts +1 -1
  9. package/dist/common/pageType.ts +1 -1
  10. package/dist/common/sgmCustomCode.ts +1 -1
  11. package/dist/common/token/index.h5.ts +1 -1
  12. package/dist/common/token/token.jd.ts +1 -1
  13. package/dist/common/wxappApi.ts +1 -1
  14. package/dist/components/ErrorBoundary.tsx +1 -1
  15. package/dist/components/base/CommonFloorHead/index.module.scss +126 -111
  16. package/dist/components/base/CommonFloorHead/index.tsx +1 -1
  17. package/dist/components/base/CountDown/index.module.scss +49 -44
  18. package/dist/components/base/CountDown/index.tsx +1 -1
  19. package/dist/components/base/CustomScrollView/index-back.tsx +1 -0
  20. package/dist/components/base/CustomScrollView/index.tsx +1 -1
  21. package/dist/components/base/CustomVideo/common.ts +1 -0
  22. package/dist/components/base/CustomVideo/index.tsx +1 -1
  23. package/dist/components/base/Dialog/index.module.scss +11 -0
  24. package/dist/components/base/ExposureSmart/index.h5.module.scss +12 -2
  25. package/dist/components/base/ExposureSmart/index.h5.tsx +1 -1
  26. package/dist/components/base/ExposureSmart/reporter.tsx +1 -1
  27. package/dist/components/base/InOrOutViewObserver/index.tsx +1 -1
  28. package/dist/components/base/InViewRender/index.tsx +1 -1
  29. package/dist/components/base/InViewRender/index.weapp.tsx +1 -1
  30. package/dist/components/base/ItemViewExposureSmart/index.module.scss +2 -2
  31. package/dist/components/base/ItemViewExposureSmart/index.tsx +1 -1
  32. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
  33. package/dist/components/base/LazyLayoutLoad/index.weapp.tsx +1 -1
  34. package/dist/components/base/LazyLoadImage/index.h5.module.scss +11 -3
  35. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
  36. package/dist/components/base/LazyLoadImage/index.tsx +1 -1
  37. package/dist/components/base/MobileCommonHeader/index.tsx +1 -1
  38. package/dist/components/base/NetworkDataError/index.module.scss +3 -0
  39. package/dist/components/base/NetworkDataError/index.tsx +1 -1
  40. package/dist/components/base/Price/Base/index.tsx +1 -1
  41. package/dist/components/base/Price/Double/index.module.scss +8 -0
  42. package/dist/components/base/Price/Double/index.tsx +1 -1
  43. package/dist/components/debug/DebugLayout/index.module.scss +2 -2
  44. package/dist/components/decorate/DecorateFloorModule/index.module.scss +11 -0
  45. package/dist/components/decorate/DecorateFloorModule/index.tsx +1 -1
  46. package/dist/components/decorate/EmptyFloorModule/index.tsx +1 -1
  47. package/dist/components/decorate/PlaceHolder/index.tsx +1 -1
  48. package/dist/components/floorItem.jd.tsx +1 -1
  49. package/dist/components/floorItem.tsx +1 -1
  50. package/dist/components/floorItem.weapp.tsx +1 -1
  51. package/dist/components/isv/Floor/index.tsx +1 -1
  52. package/dist/components/remoteFloorItem.tsx +1 -1
  53. package/dist/interface/common.ts +1 -1
  54. package/dist/interface/component.ts +1 -1
  55. package/dist/interface/jumpEventReport.ts +1 -1
  56. package/dist/interface/service.ts +1 -1
  57. package/dist/jumpEventReport/base.ts +1 -1
  58. package/dist/jumpEventReport/const.ts +1 -1
  59. package/dist/jumpEventReport/index.jd.ts +1 -1
  60. package/dist/jumpEventReport/index.weapp.ts +1 -1
  61. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  62. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  63. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  64. package/dist/jumpEventReport/web/report.ts +1 -1
  65. package/dist/jumpEventReport/web.base.ts +1 -1
  66. package/dist/jumpEventReport/web.jd.ts +1 -1
  67. package/dist/jumpEventReport/web.jdb.ts +1 -1
  68. package/dist/jumpEventReport/web.jdjch.ts +1 -1
  69. package/dist/jumpEventReport/web.jxwxapp.ts +1 -1
  70. package/dist/jumpEventReport/web.pc.ts +1 -1
  71. package/dist/jumpEventReport/web.tjapp.ts +1 -1
  72. package/dist/jumpEventReport/web.tjm.ts +1 -1
  73. package/dist/jumpEventReport/web.wxapp.ts +1 -1
  74. package/dist/libs/taroAppReport.js +2 -2
  75. package/dist/modules/ContainerFloorList/index.h5.module.scss +66 -52
  76. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  77. package/dist/modules/ContainerFloorList/index.tsx +1 -1
  78. package/dist/open/api/device.ts +1 -1
  79. package/dist/open/api/environment.ts +1 -1
  80. package/dist/open/api/request.ts +1 -1
  81. package/dist/open/api/shopMember.ts +1 -1
  82. package/dist/open/api/util.ts +1 -1
  83. package/dist/open/components/index.ts +1 -1
  84. package/dist/sass/app.h5.scss +275 -221
  85. package/dist/sass/base.scss +183 -137
  86. package/dist/service/fetchGateway.ts +1 -1
  87. package/dist/service/fetchGateway.weapp.ts +1 -0
  88. package/dist/service/http/colorSign.ts +1 -1
  89. package/dist/service/http/const.ts +1 -1
  90. package/dist/service/http/h5Http.ts +1 -0
  91. package/dist/service/http/index.h5.ts +1 -0
  92. package/dist/service/requestServer.h5.ts +1 -0
  93. package/dist/service/requestServer.ts +1 -1
  94. package/dist/service/requestServer.weapp.ts +1 -0
  95. package/dist/utils/connectNativeJsBridge.ts +1 -1
  96. package/dist/utils/connectNativeJsBridge.weapp.ts +1 -1
  97. package/dist/utils/h5Utils.ts +1 -1
  98. package/dist/utils/index.h5.ts +1 -1
  99. package/dist/utils/index.ts +1 -1
  100. package/dist/utils/index.weapp.ts +1 -1
  101. package/dist/utils/jumpExtMapUtil.h5.ts +1 -0
  102. package/dist/utils/jumpExtMapUtil.ts +1 -0
  103. package/dist/utils/log.ts +1 -0
  104. package/dist/utils/sColor.js +1 -0
  105. package/dist/utils/sgmCodeUtils.ts +1 -1
  106. package/dist/utils/taroRenderUtil.ts +1 -1
  107. package/dist/utils/utils.ts +1 -1
  108. package/dist/wxapp/common/address_api/address_api_v2.js +1 -0
  109. package/dist/wxapp/common/user_info.js +1 -1
  110. package/package.json +158 -135
  111. package/dist/utils/memberFormatUtils.js +0 -1
@@ -1,62 +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;
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;
45
+ }
55
46
  }
56
- .d-container-list-no-data {
57
- min-height: 400px;
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;
58
70
  }
71
+ }
59
72
  }
73
+
60
74
  //@keyframes containerShowToOpacity {
61
75
  // from {
62
76
  // opacity: 0;
@@ -1 +1 @@
1
- import React from 'react'
2
1
  isJdApp,
3
2
  isChartH5,
4
3
  NETWORK_DATA_TYPE,
5
4
  M_SHOP_DOWNLOAD_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT,
6
5
  APP_SHOP_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT,
7
6
  containerFloorListData: ComponentInterFace.ContainerItemData[]
8
7
  className?: string
9
8
  containerItemClass?: object
10
9
  style?: object
11
10
  hasGoodsFeeds?: boolean
12
11
  builtInComponents?: Object
13
12
  loadingEndComponentFn?: Function
14
13
  sectionType?: string
15
14
  updateShopFloorDataFn?: Function
16
15
  updateContainerFloorListDataFn?: Function
17
16
  customErrorIsvFloorModule?: React.ReactElement
18
17
  componentExtend?: React.ReactElement
19
18
  const { windowHeight } = taroJdBaseInfo.info.sysInfo
20
19
  const {
21
20
  className,
22
21
  style,
23
22
  containerItemClass = null,
24
23
  containerFloorListData,
25
24
  builtInComponents,
26
25
  loadingEndComponentFn,
27
26
  sectionType,
28
27
  updateShopFloorDataFn,
29
28
  updateContainerFloorListDataFn,
30
29
  customErrorIsvFloorModule,
31
30
  } = props
32
31
 
33
32
  const renderFloorItem = (
34
33
  item,
35
34
  floorItem,
36
35
  floorIndex,
37
36
  containerLayoutLeftRightMargin,
38
37
  lazyLoadState = false,
39
38
  ) => {
40
39
  return (
41
40
  <View
42
41
  className={classNames(shopContainerListStyle['d-floor-item'])}
43
42
  data-floor-uid={floorItem?.uid}
44
43
  data-floor-type={floorItem?.floorExtInfo?.moduleFlag || ''}
45
44
  data-lazy-load={lazyLoadState}
46
45
  key={floorItem.uid}
47
46
  id={`J_floor_${floorItem.uid}`}
48
47
  style={{
49
48
  borderRadius: `${item?.borderRadius || 0}px`,
50
49
  }}
51
50
  >
52
51
  {isChartH5 && (
53
52
  <View
54
53
  className={shopContainerListStyle['d-floor-chart-item']}
55
54
  id={`J_chart_floor_${floorItem?.uid}`}
56
55
  data-floor-uid={floorItem?.uid}
57
56
  data-floor-type={floorItem?.floorExtInfo?.moduleFlag || ''}
58
57
  />
59
58
  )}
60
59
  <FloorListItem
61
60
  floorIndex={floorIndex}
62
61
  floorData={floorItem}
63
62
  layoutLeftRightMargin={containerLayoutLeftRightMargin}
64
63
  containerBorderRadius={item?.borderRadius || 0}
65
64
  updateShopFloorDataFn={updateShopFloorDataFn}
66
65
  loadingEndComponentFn={loadingEndComponentFn}
67
66
  key={floorItem.uid}
68
67
  builtInComponents={builtInComponents}
69
68
  updateContainerFloorListDataFn={updateContainerFloorListDataFn}
70
69
  customErrorIsvFloorModule={customErrorIsvFloorModule}
71
70
  />
72
71
  </View>
73
72
  )
74
73
  }
75
74
 
76
75
  const getFloorSetHeight = (item) => {
77
76
  const getHeight = item?.floorExtInfo?.floorHeight
78
77
  ? Number(item?.floorExtInfo?.floorHeight)
79
78
  : 200
80
79
  return getHeight > 0 ? getHeight : 200
81
80
  }
82
81
  return (
83
82
  <View
84
83
  className={classNames(
85
84
  className,
86
85
  shopContainerListStyle['d-shop-container-list'],
87
86
  )}
88
87
  style={style}
89
88
  >
90
89
  <View id='J_shopContainerFloorList'>
91
90
  {containerFloorListData.length > 0 ? (
92
91
  containerFloorListData.map((item, index) => {
93
92
  const containerLayoutLeftRightMargin =
94
93
  (item.marginLeft || 0) + (item.marginRight || 0)
95
94
  const getContainerId = `J_container_${item.containerId}`
96
95
  return (
97
96
  <React.Fragment key={item.containerId + index}>
98
97
  {
99
98
  item.addLuxuryStyle ?
100
99
  <View
101
100
  className={
102
101
  shopContainerListStyle['d-luxury-header']
103
102
  }
104
103
  />
105
104
  : null
106
105
  }
107
106
  {
108
107
  item.addLuxuryBackupStyle ?
109
108
  <View
110
109
  style={{ height: taroJdBaseInfo?.info?.sysInfo?.jdNativeHeaderHeight + 'px' }}
111
110
  className={
112
111
  shopContainerListStyle['d-luxury-header-black']
113
112
  }
114
113
  />
115
114
  : null
116
115
  }
117
116
  {typeof item?.renderExtendComponent === 'function' ? item?.renderExtendComponent(item?.floorExtendData) : null}
118
117
  <View
119
118
  className={classNames(
120
119
  shopContainerListStyle['d-container-item'],
121
120
  containerItemClass,
122
121
  )}
123
122
  id={getContainerId}
124
123
  key={item.containerId}
125
124
  data-container-id={item?.containerId}
126
125
  data-container-type={item?.typeCode}
127
126
  style={{
128
127
  marginBottom: item.marginBottom
129
128
  ? `${item.marginBottom}px`
130
129
  : 0,
131
130
  marginTop: item.marginTop
132
131
  ? `${item.marginTop}px`
133
132
  : 0,
134
133
  marginLeft: item.marginLeft
135
134
  ? `${item.marginLeft}px`
136
135
  : 0,
137
136
  marginRight: item.marginRight
138
137
  ? `${item.marginRight}px`
139
138
  : 0,
140
139
  borderRadius: item.borderRadius
141
140
  ? `${item.borderRadius}px`
142
141
  : 0,
143
142
  }}
144
143
  >
145
144
  {item.floors &&
146
145
  item.floors.length > 0 &&
147
146
  item.floors?.map(
148
147
  (floorItem, floorIndex) => {
149
148
  return index > lazyLoadStartIndex ? (
150
149
  <LazyLayoutLoad
151
150
  key={item.containerId}
152
151
  sectionType={sectionType}
153
152
  containerId={getContainerId}
154
153
  height={getFloorSetHeight(
155
154
  floorItem,
156
155
  )}
157
156
  floorData={floorItem}
158
157
  >
159
158
  {renderFloorItem(
160
159
  item,
161
160
  floorItem,
162
161
  floorIndex,
163
162
  containerLayoutLeftRightMargin,
164
163
  true,
165
164
  )}
166
165
  </LazyLayoutLoad>
167
166
  ) : (
168
167
  renderFloorItem(
169
168
  item,
170
169
  floorItem,
171
170
  floorIndex,
172
171
  containerLayoutLeftRightMargin,
173
172
  )
174
173
  )
175
174
  },
176
175
  )}
177
176
  </View>
178
177
  </React.Fragment>
179
178
  )
180
179
  })
181
180
  ) : (
182
181
  <View
183
182
  className={
184
183
  shopContainerListStyle['d-container-list-no-data']
185
184
  }
186
185
  style={{
187
186
  height: `${
188
187
  windowHeight -
189
188
  (isJdApp
190
189
  ? APP_SHOP_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT
191
190
  : M_SHOP_DOWNLOAD_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT)
192
191
  }px`,
193
192
  }}
194
193
  >
195
194
  <NetworkDataError
196
195
  netWorkShowType={NetWorkShowType.PART}
197
196
  netWorkDataType={NETWORK_DATA_TYPE.DATA_ERROR}
198
197
  />
199
198
  </View>
200
199
  )}
201
200
  </View>
202
201
  </View>
203
202
  )
204
203
  updateShopDataFn: null,
204
+ import React from 'react';
205
205
  NETWORK_DATA_TYPE,
206
206
  M_SHOP_DOWNLOAD_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT,
207
207
  APP_SHOP_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT,
208
208
  containerFloorListData: ComponentInterFace.ContainerItemData[];
209
209
  className?: string;
210
210
  containerItemClass?: object;
211
211
  style?: object;
212
212
  hasGoodsFeeds?: boolean;
213
213
  builtInComponents?: object;
214
214
  loadingEndComponentFn?: functionType;
215
215
  sectionType?: string;
216
216
  updateShopFloorDataFn?: functionType;
217
217
  updateContainerFloorListDataFn?: functionType;
218
218
  refreshFloorListDataFn?: functionType;
219
219
  refreshFloorListDataBtnLabel?: string;
220
220
  customErrorIsvFloorModule?: React.ReactElement;
221
221
  componentExtend?: React.ReactElement;
222
222
  luxuryFixedIndex?: number;
223
223
  isContainerListHasMarginBottom?: boolean;
224
224
  switchConfig?: {
225
225
  [key: string]: any;
226
226
  };
227
227
  const { windowHeight } = taroJdBaseInfo.info.sysInfo;
228
228
  const {
229
229
  className,
230
230
  style,
231
231
  containerItemClass = null,
232
232
  containerFloorListData,
233
233
  builtInComponents,
234
234
  loadingEndComponentFn,
235
235
  sectionType,
236
236
  updateShopFloorDataFn,
237
237
  updateContainerFloorListDataFn,
238
238
  refreshFloorListDataFn,
239
239
  refreshFloorListDataBtnLabel,
240
240
  customErrorIsvFloorModule,
241
241
  luxuryFixedIndex = -1,
242
242
  isContainerListHasMarginBottom,
243
243
  switchConfig,
244
244
  } = props;
245
245
  const emptyFloorListHidden = switchConfig?.emptyFloorListHidden || false;
246
246
  const isSageShop = taroJdBaseInfo.info?.pageInfo?.isSageShop;
247
247
  const isHasMarginBottom = isContainerListHasMarginBottom ?? !isSageShop;
248
248
 
249
249
  const hasLiveForSageShop =
250
250
  isSageShop && taroJdBaseInfo.info?.pageInfo?.isJdShowNativeImmersivePlayer;
251
251
 
252
252
  const renderFloorItem = (
253
253
  item,
254
254
  floorItem,
255
255
  floorIndex,
256
256
  containerLayoutLeftRightMargin,
257
257
  lazyLoadState = false,
258
258
  index,
259
259
  borderStyle,
260
260
  ) => {
261
261
  return (
262
262
  <View
263
263
  className={classNames(shopContainerListStyle['d-floor-item'])}
264
264
  data-floor-uid={floorItem?.uid}
265
265
  data-floor-type={floorItem?.floorExtInfo?.moduleFlag || ''}
266
266
  data-lazy-load={lazyLoadState}
267
267
  key={floorItem.uid}
268
268
  id={`J_floor_${floorItem.uid}`}
269
269
  style={borderStyle}
270
270
  >
271
271
  {isChartH5 && (
272
272
  <View
273
273
  className={shopContainerListStyle['d-floor-chart-item']}
274
274
  id={`J_chart_floor_${floorItem?.uid}`}
275
275
  data-floor-uid={floorItem?.uid}
276
276
  data-floor-type={floorItem?.floorExtInfo?.moduleFlag || ''}
277
277
  />
278
278
  )}
279
279
  <FloorListItem
280
280
  floorIndex={floorIndex}
281
281
  floorData={floorItem}
282
282
  layoutLeftRightMargin={containerLayoutLeftRightMargin}
283
283
  containerBorderRadius={borderStyle}
284
284
  updateShopFloorDataFn={updateShopFloorDataFn}
285
285
  loadingEndComponentFn={loadingEndComponentFn}
286
286
  key={floorItem.uid}
287
287
  builtInComponents={builtInComponents}
288
288
  updateContainerFloorListDataFn={updateContainerFloorListDataFn}
289
289
  customErrorIsvFloorModule={customErrorIsvFloorModule}
290
290
  />
291
291
  {index === luxuryFixedIndex ? props.children : null}
292
292
  </View>
293
293
  );
294
294
  };
295
295
 
296
296
  const getFloorSetHeight = (item) => {
297
297
  const getHeight = item?.floorExtInfo?.floorHeight
298
298
  ? Number(item?.floorExtInfo?.floorHeight)
299
299
  : 200;
300
300
  return getHeight > 0 ? getHeight : 200;
301
301
  };
302
302
  const containerFloorListDataLen = containerFloorListData.length;
303
303
 
304
304
  const getNoDataContainerHeight = () => {
305
305
  const changeHeight = hasLiveForSageShop
306
306
  ? windowHeight
307
307
  : windowHeight -
308
308
  (isJdApp
309
309
  ? APP_SHOP_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT
310
310
  : M_SHOP_DOWNLOAD_HEADER_NAV_BAR_BOTTOM_MENU_HEIGHT);
311
311
  return {
312
312
  height: `${changeHeight}px`,
313
313
  };
314
314
  };
315
315
  return (
316
316
  <View
317
317
  className={classNames(className, shopContainerListStyle['d-shop-container-list'])}
318
318
  style={style}
319
319
  >
320
320
  <View
321
321
  id="J_shopContainerFloorList"
322
322
  className={
323
323
  isHasMarginBottom
324
324
  ? shopContainerListStyle['d-container-list-with-margin-bottom']
325
325
  : shopContainerListStyle['d-container-list-no-margin-bottom']
326
326
  }
327
327
  >
328
328
  {containerFloorListDataLen > 0 ? (
329
329
  containerFloorListData.map((item, index) => {
330
330
  const containerLayoutLeftRightMargin = (item.marginLeft || 0) + (item.marginRight || 0);
331
331
  const getContainerId = `J_container_${item.containerId}`;
332
332
  const borderStyle = getBorderStyle(
333
333
  item,
334
334
  index,
335
335
  containerFloorListData,
336
336
  containerFloorListDataLen,
337
337
  );
338
338
  return (
339
339
  <React.Fragment key={item.containerId + index}>
340
340
  {item.addLuxuryStyle ? (
341
341
  <View className={shopContainerListStyle['d-luxury-header']} />
342
342
  ) : null}
343
343
  {item.addLuxuryBackupStyle ? (
344
344
  <View
345
345
  style={{
346
346
  height: taroJdBaseInfo?.info?.sysInfo?.jdNativeHeaderHeight + 'px',
347
347
  }}
348
348
  className={shopContainerListStyle['d-luxury-header-black']}
349
349
  />
350
350
  ) : null}
351
351
  {typeof item?.renderExtendComponent === 'function'
352
352
  ? item?.renderExtendComponent(item?.floorExtendData)
353
353
  : null}
354
354
  <View
355
355
  className={classNames(
356
356
  shopContainerListStyle['d-container-item'],
357
357
  containerItemClass,
358
358
  )}
359
359
  id={getContainerId}
360
360
  key={item.containerId}
361
361
  data-container-id={item?.containerId}
362
362
  data-container-type={item?.typeCode}
363
363
  style={{
364
364
  marginBottom: item.marginBottom ? `${item.marginBottom}px` : 0,
365
365
  marginTop: item.marginTop ? `${item.marginTop}px` : 0,
366
366
  marginLeft: item.marginLeft ? `${item.marginLeft}px` : 0,
367
367
  marginRight: item.marginRight ? `${item.marginRight}px` : 0,
368
368
  borderTopLeftRadius: borderStyle?.borderTopLeftRadius || `0px`,
369
369
  borderTopRightRadius: borderStyle?.borderTopRightRadiu || `0px`,
370
370
  borderBottomLeftRadius: borderStyle?.borderBottomLeftRadius || `0px`,
371
371
  borderBottomRightRadius: borderStyle?.borderBottomRightRadius || `0px`,
372
372
  '--container-layout-left-right-margin': `${containerLayoutLeftRightMargin}px`,
373
373
  }}
374
374
  >
375
375
  {typeof item?.insertContainerStartComponent === 'function'
376
376
  ? item?.insertContainerStartComponent(item)
377
377
  : null}
378
378
  {item.floors &&
379
379
  item.floors.length > 0 &&
380
380
  item.floors?.map((floorItem, floorIndex) => {
381
381
  return index > lazyLoadStartIndex ? (
382
382
  <LazyLayoutLoad
383
383
  key={item.containerId}
384
384
  sectionType={sectionType}
385
385
  containerId={getContainerId}
386
386
  height={getFloorSetHeight(floorItem)}
387
387
  floorData={floorItem}
388
388
  >
389
389
  {renderFloorItem(
390
390
  item,
391
391
  floorItem,
392
392
  floorIndex,
393
393
  containerLayoutLeftRightMargin,
394
394
  true,
395
395
  index,
396
396
  borderStyle,
397
397
  )}
398
398
  </LazyLayoutLoad>
399
399
  ) : (
400
400
  renderFloorItem(
401
401
  item,
402
402
  floorItem,
403
403
  floorIndex,
404
404
  containerLayoutLeftRightMargin,
405
405
  false,
406
406
  index,
407
407
  borderStyle,
408
408
  )
409
409
  );
410
410
  })}
411
411
  </View>
412
412
  </React.Fragment>
413
413
  );
414
414
  })
415
415
  ) : !emptyFloorListHidden ? (
416
416
  <View
417
417
  className={classNames(shopContainerListStyle['d-container-list-no-data'], {
418
418
  [shopContainerListStyle['d-sage-shop-no-data']]: hasLiveForSageShop,
419
419
  })}
420
420
  style={getNoDataContainerHeight()}
421
421
  >
422
422
  <NetworkDataError
423
423
  netWorkShowType={NetWorkShowType.PART}
424
424
  netWorkDataType={NETWORK_DATA_TYPE.DATA_ERROR}
425
425
  backgroundColorWhite={hasLiveForSageShop}
426
426
  refreshCallBackFn={refreshFloorListDataFn ? refreshFloorListDataFn : null}
427
427
  btnLabel={refreshFloorListDataBtnLabel || ''}
428
428
  />
429
429
  </View>
430
430
  ) : null}
431
431
  </View>
432
432
  </View>
433
433
  );
434
434
  updateShopDataFn: null,