@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 +1 @@
1
- import Taro from '@tarojs/taro'
2
1
  nativePageShowToast,
3
2
  ToastAndroidType,
4
3
  ToastIosType,
5
4
  getMPaasConfigByNative,
6
5
  getAppChannelType,
7
6
  isAndroidDevice,
8
7
  isH5AndJdShopView,
9
8
  isChartH5,
10
9
  isH5AndJdShopViewNativeScroll,
11
10
  isIosDevice,
12
11
  isJdAndAndroidDevice,
13
12
  isJdAndIosDevice,
14
13
  isJdApp,
15
14
  isWxApp,
16
15
  isWxMiniH5View,
17
16
  isJdAndHarmonyDevice,
18
17
  isH5AndJingGouMini,
19
18
  urlCookie,
20
19
  sgmCustomReport,
21
20
  isMemberPage,
22
21
  isH5AndJdShopViewH5Scroll,
23
22
  isH5AndJdShopH5CustomScrollView,
24
23
  isAppClassifyPage,
25
24
  isPc,
26
25
  ipLoc_djd,
27
26
  jdAppVersionCompare,
28
27
  isTjScence,
29
28
  isH5AdnJxMini,
30
29
  isTjM,
31
30
  isTjJxM,
32
31
  isTJApp,
33
32
  isH5AdnHaoWuJie,
34
33
  tjChannel,
35
34
  dealNativePixelToCssPixel,
36
35
  isAppStowShop,
37
36
  isJdAndroidX5Core,
38
37
  parseQueryUrlObj,
39
38
  addHttps,
40
39
  clearTaroStorageKey,
41
40
  countStringify,
42
41
  dateFormat,
43
42
  dealAddress,
44
43
  dealShopContentData as originDealShopContentData,
45
44
  debounce,
46
45
  filterUrlQueryData,
47
46
  formatTabActiveMenuType,
48
47
  getAvifSupport,
49
48
  getWebpSupport,
50
49
  getTaroStorageKeyValue,
51
50
  getWxAppCookieStr,
52
51
  isH5,
53
52
  isMin,
54
53
  isJdMin,
55
54
  isWxMin,
56
55
  isWxMinAndWxapp,
57
56
  isJdMinAndHarmony,
58
57
  lodashThrottle,
59
58
  objectToUrlEncode,
60
59
  parseQueryUrlString,
61
60
  removeTaroStorageKey,
62
61
  setLowSmallPicUrl,
63
62
  setTaroStorage,
64
63
  showFailToast,
65
64
  showNormalToast,
66
65
  showSuccessToast,
67
66
  sliceArrToChunkList,
68
67
  throttle,
69
68
  getQualityImageNew,
70
69
  getQualityImageOld,
71
70
  isOpenJdAppUrl,
72
71
  jdOpenAppParams,
73
72
  createJdOpenAppUrl,
74
73
  isEmpty,
75
74
  getJdAppReportPageSource,
76
75
  dealJdOpenAppData,
77
76
  const getNum = Number(num)
78
77
  let _changeLayoutWidth = layoutWidth
79
78
  if (!_changeLayoutWidth) {
80
79
  _changeLayoutWidth =
81
80
  _ShopSystemInfo && _ShopSystemInfo?.windowWidth
82
81
  ? _ShopSystemInfo.windowWidth
83
82
  : Taro.getSystemInfoSync()?.windowWidth
84
83
  }
85
84
  return Math.round((getNum / widthSize) * _changeLayoutWidth)
86
85
  changeSize,
87
86
  designWidth = 750,
88
87
  systemInfo,
89
88
  const getRootFontSize =
90
89
  (40 * (systemInfo?.windowWidth ?? _ShopSystemInfo.windowWidth)) / 750
91
90
  const getRealRootFontSize =
92
91
  getRootFontSize > 40 ? 40 : getRootFontSize < 20 ? 20 : getRootFontSize
93
92
  return Math.ceil(
94
93
  (((parseInt(String(changeSize), 10) / 40) * 750) / designWidth) *
95
94
  getRealRootFontSize,
96
95
  )
97
96
  console.log(
98
97
  '获取系统宽度systemInfo?.windowWidth',
99
98
  systemInfo?.windowWidth,
100
99
  'taroToTransformRoutimePXNumber(changeWidth)',
101
100
  taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo),
102
101
  )
103
102
  return buildType === BUILD_TYPE.CLASSIFY && systemInfo?.windowWidth
104
103
  ? systemInfo?.windowWidth -
105
104
  taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo)
106
105
  : systemInfo?.windowWidth ?? 0
107
106
  const systemInfo = Taro.getSystemInfoSync()
108
107
  if (params && params?.pageWidth && params?.pageHeight) {
109
108
  systemInfo.windowWidth = params?.pageWidth
110
109
  systemInfo.windowHeight = params?.pageHeight
111
110
  }
112
111
  systemInfo['containerWidth'] = getContainerWidth(buildType, systemInfo)
113
112
  console.warn('====获取系统信息=====', systemInfo)
114
113
  return systemInfo
115
114
  const appVersionCheckPass = jdAppVersionCompare(MPAAS_CONFIG_APP_VERSION) >= 0
116
115
  const supportBuildType = /app-view|app-member|app-classify|member-home/
117
116
  const scopeCheckPass = supportBuildType.test(buildType || '')
118
117
  const enableAvifOptimize = appVersionCheckPass && scopeCheckPass
119
118
  if (enableAvifOptimize) {
120
119
  const configData = global.getDynamicConfig('avifSwitch')
121
120
  if (!hasOutputLog) {
122
121
  console.warn(
123
122
  '� ~~ file: utils.ts:187 ~~ isImageOptimizeEnable ~~ enableAvifOptimize:',
124
123
  enableAvifOptimize,
125
124
  ' appVersionCheckPass:',
126
125
  appVersionCheckPass,
127
126
  ' scopeCheckPass:',
128
127
  scopeCheckPass,
129
128
  )
130
129
  console.warn(
131
130
  '� ~~ file: utils.ts:188 ~~ global.getDynamicConfig ~~ configData:',
132
131
  configData,
133
132
  )
134
133
  }
135
134
  const {
136
135
  globalOn = true,
137
136
  ignoreOptimizeFromServer = false,
138
137
  page = {},
139
138
  whiteList = [],
140
139
  blackList = [],
141
140
  } = configData || {}
142
141
  const { shopId = '0', venderId = '0' } = parseQueryUrlObj
143
142
  let imageEnableResult = true
144
143
  isIgnoreOptimizeFromServer = ignoreOptimizeFromServer
145
144
  if (
146
145
  blackList.find(
147
146
  (item) => item.sId === Number(shopId) || item.vId === Number(venderId),
148
147
  )
149
148
  ) {
150
149
  imageEnableResult = false
151
150
  if (!hasOutputLog) {
152
151
  console.warn('� ~~ file: utils.ts:198 命中黑名单!')
153
152
  }
154
153
  } else if (
155
154
  whiteList.find(
156
155
  (item) => item.sId === Number(shopId) || item.vId === Number(venderId),
157
156
  )
158
157
  ) {
159
158
  imageEnableResult = true
160
159
  if (!hasOutputLog) {
161
160
  console.warn('� ~~ file: utils.ts:205 命中白名单!')
162
161
  }
163
162
  } else {
164
163
  imageEnableResult = globalOn === true || page[buildType] === true
165
164
  if (!hasOutputLog) {
166
165
  console.warn(
167
166
  '� ~~ file: utils.ts:211 走全局开关+页面开关控制逻辑,开关结果:',
168
167
  imageEnableResult,
169
168
  )
170
169
  }
171
170
  }
172
171
  if (!hasOutputLog) {
173
172
  hasOutputLog = true
174
173
  }
175
174
  return imageEnableResult
176
175
  } else {
177
176
  return false
178
177
  }
179
178
  if (typeof options === 'object' && isImageOptimizeEnable()) {
180
179
  return getQualityImageNew(imgUrl, options, isIgnoreOptimizeFromServer)
181
180
  } else {
182
181
  return getQualityImageOld(imgUrl, options)
183
182
  }
184
183
  const getSystemInfo = getSystemAndContainerWidthInfo(params) || {
185
184
  windowWidth: window.innerWidth,
186
185
  containerWidth: getContainerWidth(buildType, {
187
186
  windowWidth: window.innerWidth,
188
187
  }),
189
188
  screenWidth: window.innerWidth,
190
189
  platform: '',
191
190
  model: '',
192
191
  system: '',
193
192
  }
194
193
  if (isJdApp && isAndroidDevice && getSystemInfo.windowWidth <= 0) {
195
194
  getSystemInfo.windowWidth = getSystemInfo.screenWidth
196
195
  getSystemInfo['containerWidth'] = getContainerWidth(
197
196
  buildType,
198
197
  getSystemInfo,
199
198
  )
200
199
  }
201
200
  return getSystemInfo
202
201
  const params = Object.assign(
203
202
  {},
204
203
  {
205
204
  title: '',
206
205
  duration: 1500,
207
206
  },
208
207
  options,
209
208
  )
210
209
  params.duration = params.duration / 1000
211
210
  if (isJdApp) {
212
211
  const showSuccessType = isIosDevice
213
212
  ? ToastIosType.SUCCESS
214
213
  : ToastAndroidType.SUCCESS
215
214
  const duration = isAndroidDevice ? 0 : params.duration
216
215
  nativePageShowToast(options.title, showSuccessType, duration)
217
216
  console.log('执行原生toast success')
218
217
  } else {
219
218
  showSuccessToast(options)
220
219
  }
221
220
  const params = Object.assign(
222
221
  {},
223
222
  {
224
223
  title: '',
225
224
  duration: 1500,
226
225
  },
227
226
  options,
228
227
  )
229
228
  params.duration = params.duration / 1000
230
229
  if (isJdApp) {
231
230
  const showSuccessType = isIosDevice
232
231
  ? ToastIosType.FAIL
233
232
  : ToastAndroidType.FAIL
234
233
  const duration = isAndroidDevice ? 0 : params.duration
235
234
  nativePageShowToast(options.title, showSuccessType, duration)
236
235
  console.log('执行原生toast fail')
237
236
  } else {
238
237
  console.log('执行H5 toast fail')
239
238
  showFailToast(options)
240
239
  }
241
240
  const params = Object.assign(
242
241
  {},
243
242
  {
244
243
  title: '',
245
244
  duration: 1500,
246
245
  },
247
246
  options,
248
247
  )
249
248
  params.duration = params.duration / 1000
250
249
  if (isJdApp) {
251
250
  const showSuccessType = isIosDevice
252
251
  ? ToastIosType.NORMAL
253
252
  : ToastAndroidType.NORMAL
254
253
  const duration = isAndroidDevice ? 0 : params.duration
255
254
  nativePageShowToast(options.title, showSuccessType, duration)
256
255
  } else {
257
256
  showNormalToast(options)
258
257
  }
259
258
  const createLoadingEle = document.createElement('div')
260
259
  createLoadingEle.id = 'J_shopLoading'
261
260
  createLoadingEle.className = `d-shop-loading flexible-center-box ${customClassName}`
262
261
  createLoadingEle.innerHTML = `<div class='d-loading-content'>
263
262
  <span class='d-shop-loading-icon'></span>
264
263
  <p class='d-shop-text'>${text}</p>
265
264
  </div>`
266
265
  const getEle = document.body
267
266
  ? document.body
268
267
  : document.getElementsByTagName('body')[0]
269
268
  getEle.appendChild(createLoadingEle)
270
269
  const getEle = document.getElementById('J_shopLoading')
271
270
  getEle && getEle.remove()
272
271
  const systemInfo: UtilsInterFace.taroGetSystemInfoSyncRes =
273
272
  getReviseSystemInfo(params)
274
273
  if (!systemInfo.system && window) {
275
274
  systemInfo.system = window.navigator.userAgent
276
275
  systemInfo.isChrome = !!systemInfo?.system.match(/chrome/i)
277
276
  }
278
277
  const isIOS = !!systemInfo?.system.match(/ios/i)
279
278
  const isAndroid = !!systemInfo?.system.match(/android/i)
280
279
  systemInfo.navBarHeight = 0
281
280
  systemInfo.statusBarHeight = 0
282
281
  systemInfo.capsulePosition = null
283
282
  systemInfo.isIOS = isIOS
284
283
  systemInfo.isAndroid = isAndroid
285
284
  _ShopSystemInfo = systemInfo
286
285
  return systemInfo
287
286
  return originDealShopContentData(pageData, sgmCustomReport, isvdev)
288
287
  isJdApp,
289
288
  isWxApp,
290
289
  isIosDevice,
291
290
  isAndroidDevice,
292
291
  isJdAndIosDevice,
293
292
  isJdAndAndroidDevice,
294
293
  isJdAndHarmonyDevice,
295
294
  isJdAndroidX5Core,
296
295
  isMin,
297
296
  isWxMin,
298
297
  isWxMinAndWxapp,
299
298
  isJdMinAndHarmony,
300
299
  isJdMin,
301
300
  isH5,
302
301
  isH5AndJdShopView,
303
302
  isChartH5,
304
303
  isH5AndJdShopViewNativeScroll,
305
304
  isH5AndJdShopViewH5Scroll,
306
305
  isH5AndJdShopH5CustomScrollView,
307
306
  isH5AndJingGouMini,
308
307
  isWxMiniH5View,
309
308
  urlCookie,
310
309
  sliceArrToChunkList,
311
310
  dealAddress,
312
311
  objectToUrlEncode,
313
312
  parseQueryUrlString,
314
313
  setLowSmallPicUrl,
315
314
  setTaroStorage,
316
315
  getTaroStorageKeyValue,
317
316
  removeTaroStorageKey,
318
317
  clearTaroStorageKey,
319
318
  getAvifSupport,
320
319
  getWebpSupport,
321
320
  getQualityImage,
322
321
  countStringify,
323
322
  getWxAppCookieStr,
324
323
  getSystemInfos,
325
324
  pxTransformFromData,
326
325
  dealShopContentDataAndReport as dealShopContentData,
327
326
  dateFormat,
328
327
  throttle,
329
328
  lodashThrottle,
330
329
  debounce,
331
330
  addHttps,
332
331
  commonShowSuccessToast as showSuccessToast,
333
332
  commonShowFailToast as showFailToast,
334
333
  commonShowNormalToast as showNormalToast,
335
334
  showShopLoading,
336
335
  hideShopLoading,
337
336
  getAppChannelType,
338
337
  formatTabActiveMenuType,
339
338
  filterUrlQueryData,
340
339
  sgmCustomReport,
341
340
  isMemberPage,
342
341
  getFloorDataToDataDefines,
343
342
  isOpenJdAppUrl,
344
343
  jdOpenAppParams,
345
344
  createJdOpenAppUrl,
346
345
  isEmpty,
347
346
  getJdAppReportPageSource,
348
347
  isAppClassifyPage,
349
348
  isImageOptimizeEnable,
350
349
  isPc,
351
350
  ipLoc_djd,
352
351
  isTjScence,
353
352
  isH5AdnJxMini,
354
353
  isTjM,
355
354
  isTjJxM,
356
355
  isTJApp,
357
356
  isH5AdnHaoWuJie,
358
357
  tjChannel,
359
358
  dealJdOpenAppData,
360
359
  jdAppVersionCompare,
361
360
  dealNativePixelToCssPixel,
362
361
  isAppStowShop,
363
362
  getSgmCustomCode,
363
+ import Taro from '@tarojs/taro';
364
364
  stopNativeScrollEvent,
365
365
  getAppChannelType,
366
366
  isAndroidDevice,
367
367
  isHarmonyDevice,
368
368
  isH5AndJdShopView,
369
369
  isChartH5,
370
370
  isH5AndJdShopViewNativeScroll,
371
371
  isIosDevice,
372
372
  isJdAndAndroidDevice,
373
373
  isJdAndIosDevice,
374
374
  isJdApp,
375
375
  isWxApp,
376
376
  isWxMiniH5View,
377
377
  isJdAndHarmonyDevice,
378
378
  isH5AndJingGouMini,
379
379
  urlCookie,
380
380
  sgmCustomReport,
381
381
  draCustomReport,
382
382
  remoteCustomReport,
383
383
  draInterfaceCustomReport,
384
384
  draBusinessCustomReport,
385
385
  isMemberPage,
386
386
  isH5AndJdShopViewH5Scroll,
387
387
  isH5AndJdShopH5CustomScrollView,
388
388
  isAppClassifyPage,
389
389
  isAppHomeForMarketPage,
390
390
  isPc,
391
391
  ipLoc_djd,
392
392
  jdAppVersionCompare,
393
393
  isTjScence,
394
394
  isH5AdnJxMini,
395
395
  isTjM,
396
396
  isTjJxM,
397
397
  isTJApp,
398
398
  isH5AdnHaoWuJie,
399
399
  tjChannel,
400
400
  dealNativePixelToCssPixel,
401
401
  isAppStowShop,
402
402
  isJdAndroidX5Core,
403
403
  parseQueryUrlObj,
404
404
  isIpadDevice,
405
405
  isTabletDevice,
406
406
  checkPadScreenOrientationIsLandscape,
407
407
  isSupportHybridHttpRequest,
408
408
  isLanguageForEn,
409
409
  sColor,
410
410
  draInterfaceDSMCustomReport,
411
411
  addHttps,
412
412
  clearTaroStorageKey,
413
413
  countStringify as h5CountStringify,
414
414
  dateFormat,
415
415
  dealAddress,
416
416
  dealShopContentData as originDealShopContentData,
417
417
  debounce,
418
418
  filterUrlQueryData,
419
419
  formatTabActiveMenuType,
420
420
  getAvifSupport,
421
421
  getWebpSupport,
422
422
  getTaroStorageKeyValue,
423
423
  getWxAppCookieStr,
424
424
  isH5,
425
425
  isMin,
426
426
  isJdMin,
427
427
  isWxMin,
428
428
  isWxMinAndWxapp,
429
429
  isJdMinAndHarmony,
430
430
  lodashThrottle,
431
431
  objectToUrlEncode,
432
432
  parseQueryUrlString,
433
433
  removeTaroStorageKey,
434
434
  setLowSmallPicUrl,
435
435
  setTaroStorage,
436
436
  showFailToast,
437
437
  showNormalToast,
438
438
  showSuccessToast,
439
439
  sliceArrToChunkList,
440
440
  throttle,
441
441
  getQualityImageNew,
442
442
  getQualityImageOld,
443
443
  isOpenJdAppUrl,
444
444
  jdOpenAppParams,
445
445
  createJdOpenAppUrl,
446
446
  isEmpty,
447
447
  getJdAppReportPageSource,
448
448
  dealJdOpenAppData,
449
449
  getBorderStyle,
450
450
  const getNum = Number(num);
451
451
  let _changeLayoutWidth = layoutWidth;
452
452
  if (!_changeLayoutWidth) {
453
453
  _changeLayoutWidth =
454
454
  _ShopSystemInfo && _ShopSystemInfo?.windowWidth
455
455
  ? _ShopSystemInfo.windowWidth
456
456
  : Taro.getSystemInfoSync()?.windowWidth;
457
457
  }
458
458
  return _ShopSystemInfo?.isJdTabletDevice && !layoutWidth
459
459
  ? Math.floor(getNum * 1.2 * (_changeLayoutWidth / 720))
460
460
  : Math.round((getNum / widthSize) * _changeLayoutWidth);
461
461
  const getRootFontSize = (40 * (systemInfo?.windowWidth ?? _ShopSystemInfo.windowWidth)) / 750;
462
462
  let getRealRootFontSize = getRootFontSize > 40 ? 40 : getRootFontSize < 20 ? 20 : getRootFontSize;
463
463
  if (_ShopSystemInfo?.isJdTabletDevice) {
464
464
  getRealRootFontSize = Math.floor(
465
465
  24 * ((systemInfo?.windowWidth ?? _ShopSystemInfo.windowWidth) / 720),
466
466
  );
467
467
  }
468
468
  return Math.ceil(
469
469
  (((parseInt(String(changeSize), 10) / 40) * 750) / designWidth) * getRealRootFontSize,
470
470
  );
471
471
  console.log(
472
472
  '获取系统宽度systemInfo?.windowWidth',
473
473
  systemInfo?.windowWidth,
474
474
  'taroToTransformRoutimePXNumber(changeWidth)',
475
475
  taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo),
476
476
  );
477
477
  return buildType === BUILD_TYPE.CLASSIFY && systemInfo?.windowWidth
478
478
  ? systemInfo?.windowWidth - taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo)
479
479
  : (systemInfo?.windowWidth ?? 0);
480
480
  const systemInfo = _ShopSystemInfo || Taro.getSystemInfoSync()
481
481
  console.log(
482
482
  '获取系统宽度systemInfo?.windowWidth',
483
483
  systemInfo?.windowWidth,
484
484
  'taroToTransformRoutimePXNumber(changeWidth)',
485
485
  taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo),
486
486
  );
487
487
  const containerWidth = isClassify && systemInfo?.windowWidth
488
488
  ? systemInfo?.windowWidth - taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo)
489
489
  : (systemInfo?.windowWidth ?? 0);
490
490
  if(global?.info?.sysInfo){
491
491
  global.info.sysInfo['containerWidth'] = containerWidth;
492
492
  }
493
493
  return (
494
494
  isJdApp &&
495
495
  (parseQueryUrlObj['device'] === 'tablet' || Math.min(rootEleWidth, window.screen.height) >= 720)
496
496
  );
497
497
  const systemInfo = Taro.getSystemInfoSync();
498
498
  if (params && params?.pageWidth && params?.pageHeight) {
499
499
  systemInfo.windowWidth = params?.pageWidth;
500
500
  systemInfo.windowHeight = params?.pageHeight;
501
501
  console.warn('松果app内获取重置系统信息宽度值', params, ',systemInfo信息集合为', systemInfo);
502
502
  } else {
503
503
  if (isPc) {
504
504
  systemInfo.windowWidth = 375;
505
505
  } else {
506
506
  const getWinWidth = window.innerWidth;
507
507
  const getWinHeight = window.innerHeight;
508
508
  const getScreenWidth = window.screen.width;
509
509
  const getScreenHeight = window.screen.height;
510
510
  const getRootEleInitWidth = params?.rootEleInitWidth || 0;
511
511
  const isReplaceSystemWidth = params?.replaceSystemWidth || false;
512
512
  systemInfo.isJdTabletDevice = checkIsJdTabletDevice(getRootEleInitWidth);
513
513
  systemInfo.isJdTabletLandscape =
514
514
  systemInfo.isJdTabletDevice && checkPadScreenOrientationIsLandscape();
515
515
  if (!systemInfo.isJdTabletDevice && isReplaceSystemWidth) {
516
516
  if (systemInfo?.windowWidth <= 0) {
517
517
  systemInfo.windowWidth = Math.min(getRootEleInitWidth, getScreenWidth);
518
518
  systemInfo.windowHeight = getScreenHeight;
519
519
  console.warn(
520
520
  '====初始化获取当前设备不是pad,但是触发屏幕宽高最小值600,系统获取宽度为0,进行重置系统宽度为根元素宽度与屏幕宽度最小值====',
521
521
  systemInfo.windowWidth,
522
522
  'getRootEleInitWidth',
523
523
  getRootEleInitWidth,
524
524
  'getScreenWidth',
525
525
  getScreenWidth,
526
526
  'getScreenHeight',
527
527
  getScreenHeight,
528
528
  );
529
529
  draBusinessCustomReport({
530
530
  type: 'jdapp_pad_width_error_info',
531
531
  errMsg: `松果app内获取当前设备不是pad,触发屏幕宽高最小值600,系统信息宽度为0,进行重置,通过window获取的结果,getWinWidth:${getWinWidth},getScreenWidth: ${getScreenWidth},getWinHeight:${getWinHeight},getScreenHeight: ${getScreenHeight},根元素宽度值:${getRootEleInitWidth}`,
532
532
  originReqDataStr: JSON.stringify({
533
533
  isJdApp,
534
534
  isAndroidDevice,
535
535
  getScreenWidth,
536
536
  getScreenHeight,
537
537
  getWinWidth,
538
538
  getWinHeight,
539
539
  getRootEleInitWidth,
540
540
  }),
541
541
  });
542
542
  }
543
543
  } else {
544
544
  if (isJdApp && isAndroidDevice && !systemInfo.isJdTabletDevice && systemInfo) {
545
545
  const isLandscape = getScreenWidth >= getScreenHeight;
546
546
  const { windowWidth, windowHeight, screenWidth, screenHeight } = systemInfo;
547
547
  if (windowWidth <= 0) {
548
548
  systemInfo.initWindowWidth = windowWidth;
549
549
  if (isLandscape) {
550
550
  systemInfo.windowWidth = getScreenHeight;
551
551
  systemInfo.windowHeight = getScreenWidth;
552
552
  systemInfo.screenWidth = getScreenHeight;
553
553
  systemInfo.screenHeight = getScreenWidth;
554
554
  } else {
555
555
  systemInfo.windowWidth = getScreenWidth;
556
556
  systemInfo.windowHeight = getScreenHeight;
557
557
  systemInfo.screenWidth = getScreenWidth;
558
558
  systemInfo.screenHeight = getScreenHeight;
559
559
  }
560
560
  console.warn(
561
561
  `松果安卓app内获取系统信息宽度异常为小于等于0,是否为横屏${isLandscape},进行重置,taro获取窗口宽度值${windowWidth},重置后的宽度值${systemInfo.windowWidth},taro获取窗口高度值${windowHeight},重置后的高度值${systemInfo.windowHeight},根元素宽度值${getRootEleInitWidth}`,
562
562
  );
563
563
  draBusinessCustomReport({
564
564
  type: 'android_jdapp_width_error_info',
565
565
  errMsg: `松果安卓app内获取系统信息宽度为小于等于0,是否为横屏${isLandscape},进行重置,通过window获取的结果,getWinWidth:${getWinWidth},getScreenWidth: ${getScreenWidth},getWinHeight:${getWinHeight},getScreenHeight: ${getScreenHeight},根元素宽度值:${getRootEleInitWidth}`,
566
566
  originReqDataStr: JSON.stringify({
567
567
  isJdApp,
568
568
  initData: `Taro.getSystemInfo获取窗口宽度值${windowWidth},高度值${windowHeight},获取屏幕宽度值${screenWidth},高度值${screenHeight}`,
569
569
  getScreenWidth,
570
570
  getScreenHeight,
571
571
  getWinWidth,
572
572
  getWinHeight,
573
573
  getRootEleInitWidth,
574
574
  }),
575
575
  });
576
576
  sgmCustomReport({
577
577
  type: 2,
578
578
  code: 'android_jdapp_width_error_info',
579
579
  msg: {
580
580
  title: `松果安卓app内获取系统信息宽度为小于等于0,是否为横屏${isLandscape},进行重置,通过window获取的结果,getWinWidth:${getWinWidth},getScreenWidth: ${getScreenWidth},getWinHeight:${getWinHeight},getScreenHeight: ${getScreenHeight},根元素宽度值:${getRootEleInitWidth}`,
581
581
  initData: `Taro.getSystemInfo获取窗口宽度值${windowWidth},高度值${windowHeight},获取屏幕宽度值${screenWidth},高度值${screenHeight}`,
582
582
  taroSysInfo: systemInfo,
583
583
  },
584
584
  });
585
585
  } else {
586
586
  let _getChangeWinWidthState = false;
587
587
  if (getWinWidth > 0 && windowWidth > 0 && windowWidth > getWinWidth) {
588
588
  if (isLandscape) {
589
589
  systemInfo.windowWidth = getScreenHeight;
590
590
  systemInfo.windowHeight = getScreenWidth;
591
591
  systemInfo.screenWidth = getScreenHeight;
592
592
  systemInfo.screenHeight = getScreenWidth;
593
593
  } else {
594
594
  systemInfo.windowWidth = getScreenWidth;
595
595
  systemInfo.windowHeight = getScreenHeight;
596
596
  systemInfo.screenWidth = getScreenWidth;
597
597
  systemInfo.screenHeight = getScreenHeight;
598
598
  }
599
599
  _getChangeWinWidthState = true;
600
600
  }
601
601
  _getChangeWinWidthState &&
602
602
  console.warn(
603
603
  `松果安卓app内获取系统信息宽度异常,是否为横屏${isLandscape},进行重置,taro获取窗口宽度值${windowWidth},重置后的宽度值${systemInfo.windowWidth},taro获取屏幕宽度值${screenWidth},重置后的宽度值${systemInfo.screenWidth}`,
604
604
  );
605
605
  if (_getChangeWinWidthState) {
606
606
  draBusinessCustomReport({
607
607
  type: 'android_jdapp_width_error_info_2',
608
608
  title: `松果安卓app内获取系统信息宽度异常,是否为横屏${isLandscape},进行重置,通过window获取的结果,getWinWidth:${getWinWidth},getScreenWidth: ${getScreenWidth},getWinHeight:${getWinHeight},getScreenHeight: ${getScreenHeight},根元素宽度值:${getRootEleInitWidth}`,
609
609
  originReqDataStr: JSON.stringify({
610
610
  isJdApp,
611
611
  initData: `Taro.getSystemInfo获取窗口宽度值${windowWidth},高度值${windowHeight},获取屏幕宽度值${screenWidth},高度值${screenHeight}`,
612
612
  getScreenWidth,
613
613
  getScreenHeight,
614
614
  getWinWidth,
615
615
  getWinHeight,
616
616
  getRootEleInitWidth,
617
617
  }),
618
618
  });
619
619
  sgmCustomReport({
620
620
  type: 2,
621
621
  code: 'android_jdapp_width_error_info_2',
622
622
  msg: {
623
623
  title: `松果安卓app内获取系统信息宽度异常,是否为横屏${isLandscape},进行重置,通过window获取的结果,getWinWidth:${getWinWidth},getScreenWidth: ${getScreenWidth},getWinHeight:${getWinHeight},getScreenHeight: ${getScreenHeight},根元素宽度值:${getRootEleInitWidth}`,
624
624
  initData: `Taro.getSystemInfo获取窗口宽度值${windowWidth},高度值${windowHeight},获取屏幕宽度值${screenWidth},高度值${screenHeight}`,
625
625
  taroSysInfo: systemInfo,
626
626
  },
627
627
  });
628
628
  }
629
629
  }
630
630
  }
631
631
  }
632
632
 
633
633
  if (systemInfo.isJdTabletDevice) {
634
634
  systemInfo.windowWidth = Math.min(getRootEleInitWidth, getScreenWidth);
635
635
  systemInfo.windowHeight = getScreenHeight;
636
636
  if (systemInfo.isJdTabletLandscape) {
637
637
  if (window?.PAGE_DATA?.isFitJdPadRenderCenter) {
638
638
  systemInfo.windowWidth = Math.min(getRootEleInitWidth, getScreenWidth, getScreenHeight);
639
639
  systemInfo.windowHeight = Math.max(
640
640
  getRootEleInitWidth,
641
641
  getScreenWidth,
642
642
  getScreenHeight,
643
643
  );
644
644
  }
645
645
  }
646
646
  console.warn(
647
647
  '====初始化获取当前设备是否是平板设备,是否横屏====',
648
648
  systemInfo.isJdTabletDevice,
649
649
  systemInfo.isJdTabletLandscape,
650
650
  '屏幕信息',
651
651
  window.screen,
652
652
  '当前是否要求居中展示,居中展示那么宽高值要对调',
653
653
  window?.PAGE_DATA?.isFitJdPadRenderCenter,
654
654
  '当前pad最终展示的窗口宽度',
655
655
  systemInfo.windowWidth,
656
656
  );
657
657
  }
658
658
  }
659
659
  }
660
660
  systemInfo['containerWidth'] = getContainerWidth(buildType, systemInfo);
661
661
  console.warn('====获取系统信息=====', systemInfo);
662
662
  return systemInfo;
663
663
  let result: boolean | null = null;
664
664
  return function () {
665
665
  if (result === null) {
666
666
  const appVersionCheckPass = jdAppVersionCompare(MPAAS_CONFIG_APP_VERSION) >= 0;
667
667
  if (!isJdApp) {
668
668
  console.warn('🚗 ~~ file: utils.ts:191 站外H5默认打开图片优化~');
669
669
  isIgnoreOptimizeFromServer = true;
670
670
  result = true;
671
671
  return true;
672
672
  }
673
673
  const enableAvifOptimize = appVersionCheckPass;
674
674
  if (enableAvifOptimize) {
675
675
  const configData = global?.getDynamicConfig('avifSwitch');
676
676
  const {
677
677
  globalOn = true,
678
678
  ignoreOptimizeFromServer = false,
679
679
  page = {},
680
680
  grayscale = {},
681
681
  whiteList = [],
682
682
  blackList = [],
683
683
  } = configData || {};
684
684
  const { shopId = '0', venderId = '0' } = parseQueryUrlObj;
685
685
  let imageEnableResult = true;
686
686
  isIgnoreOptimizeFromServer = ignoreOptimizeFromServer;
687
687
  if (
688
688
  blackList.find((item) => item.sId === Number(shopId) || item.vId === Number(venderId))
689
689
  ) {
690
690
  imageEnableResult = false;
691
691
  } else if (
692
692
  whiteList.find((item) => item.sId === Number(shopId) || item.vId === Number(venderId))
693
693
  ) {
694
694
  isIgnoreOptimizeFromServer = true;
695
695
  imageEnableResult = true;
696
696
  } else if (grayscale[buildType] && isInGrayscale(grayscale[buildType])) {
697
697
  isIgnoreOptimizeFromServer = true;
698
698
  imageEnableResult = true;
699
699
  } else {
700
700
  imageEnableResult = globalOn === true || page[buildType] === true;
701
701
  if (globalOn === true) {
702
702
  isIgnoreOptimizeFromServer = true;
703
703
  } else if (page[buildType] === true) {
704
704
  } else {
705
705
  }
706
706
  }
707
707
  result = imageEnableResult;
708
708
  return imageEnableResult;
709
709
  } else {
710
710
  result = false;
711
711
  return false;
712
712
  }
713
713
  } else {
714
714
  return result;
715
715
  }
716
716
  };
717
717
  if (typeof options === 'object' && isImageOptimizeEnable()) {
718
718
  return getQualityImageNew(imgUrl, options, isIgnoreOptimizeFromServer);
719
719
  } else {
720
720
  return getQualityImageOld(imgUrl, options);
721
721
  }
722
722
  const getSystemInfo = getSystemAndContainerWidthInfo(params) || {
723
723
  windowWidth: window.innerWidth,
724
724
  containerWidth: getContainerWidth(buildType, {
725
725
  windowWidth: window.innerWidth,
726
726
  }),
727
727
  screenWidth: window.innerWidth,
728
728
  platform: '',
729
729
  model: '',
730
730
  system: '',
731
731
  };
732
732
  return getSystemInfo;
733
733
  const params = Object.assign(
734
734
  {},
735
735
  {
736
736
  title: '',
737
737
  duration: 1500,
738
738
  },
739
739
  options,
740
740
  );
741
741
  params.duration = params.duration / 1000;
742
742
  if (isJdApp && !isJdAndHarmonyDevice && !window?.PAGE_DATA?.businessData?.hideNativeToast) {
743
743
  const showSuccessType = isIosDevice ? ToastIosType.SUCCESS : ToastAndroidType.SUCCESS;
744
744
  const duration = isAndroidDevice ? 0 : params.duration;
745
745
  nativePageShowToast(options.title, showSuccessType, duration);
746
746
  console.log('执行原生toast success');
747
747
  } else {
748
748
  showSuccessToast(options);
749
749
  }
750
750
  const params = Object.assign(
751
751
  {},
752
752
  {
753
753
  title: '',
754
754
  duration: 1500,
755
755
  },
756
756
  options,
757
757
  );
758
758
  params.duration = params.duration / 1000;
759
759
  if (isJdApp && !isJdAndHarmonyDevice && !window?.PAGE_DATA?.businessData?.hideNativeToast) {
760
760
  const showSuccessType = isIosDevice ? ToastIosType.FAIL : ToastAndroidType.FAIL;
761
761
  const duration = isAndroidDevice ? 0 : params.duration;
762
762
  nativePageShowToast(options.title, showSuccessType, duration);
763
763
  console.log('执行原生toast fail');
764
764
  } else {
765
765
  console.log('执行H5 toast fail');
766
766
  showFailToast(options);
767
767
  }
768
768
  const params = Object.assign(
769
769
  {},
770
770
  {
771
771
  title: '',
772
772
  duration: 1500,
773
773
  },
774
774
  options,
775
775
  );
776
776
  params.duration = params.duration / 1000;
777
777
  if (isJdApp && !isJdAndHarmonyDevice && !window?.PAGE_DATA?.businessData?.hideNativeToast) {
778
778
  const showSuccessType = isIosDevice ? ToastIosType.NORMAL : ToastAndroidType.NORMAL;
779
779
  const duration = isAndroidDevice ? 0 : params.duration;
780
780
  nativePageShowToast(options.title, showSuccessType, duration);
781
781
  } else {
782
782
  showNormalToast(options);
783
783
  }
784
784
  if (isLanguageForEn) {
785
785
  count = Number(count);
786
786
  if (count >= 1000000000) {
787
787
  return (count / 1000000000).toFixed(fixedNum) + 'B';
788
788
  } else if (count >= 1000000) {
789
789
  return (count / 1000000).toFixed(fixedNum) + 'M';
790
790
  } else if (count >= 1000) {
791
791
  return (count / 1000).toFixed(fixedNum) + 'K';
792
792
  } else {
793
793
  return count;
794
794
  }
795
795
  } else {
796
796
  return h5CountStringify(count, fixedNum, unit, maxNum);
797
797
  }
798
798
  const createLoadingEle = document.createElement('div');
799
799
  createLoadingEle.id = 'J_shopLoading';
800
800
  createLoadingEle.className = `d-shop-loading flexible-center-box ${customClassName}`;
801
801
  createLoadingEle.innerHTML = `<div class='d-loading-content'>
802
802
  <span class='d-shop-loading-icon'></span>
803
803
  <p class='d-shop-text'>${text}</p>
804
804
  </div>`;
805
805
  const getEle = document.body ? document.body : document.getElementsByTagName('body')[0];
806
806
  getEle.appendChild(createLoadingEle);
807
807
  const getEle = document.getElementById('J_shopLoading');
808
808
  getEle && getEle.remove();
809
809
  const systemInfo: UtilsInterFace.taroGetSystemInfoSyncRes = getReviseSystemInfo(params);
810
810
  if (!systemInfo.system && window) {
811
811
  systemInfo.system = window.navigator.userAgent;
812
812
  systemInfo.isChrome = !!systemInfo?.system.match(/chrome/i);
813
813
  }
814
814
  const isIOS = !!systemInfo?.system.match(/ios/i);
815
815
  const isAndroid = !!systemInfo?.system.match(/android/i);
816
816
  systemInfo.navBarHeight = 0;
817
817
  systemInfo.statusBarHeight = 0;
818
818
  systemInfo.capsulePosition = null;
819
819
  systemInfo.isIOS = isIOS;
820
820
  systemInfo.isAndroid = isAndroid;
821
821
  _ShopSystemInfo = systemInfo;
822
822
  return systemInfo;
823
823
  return originDealShopContentData(pageData, sgmCustomReport, isvdev);
824
824
  const numScale = Number(scale);
825
825
  if (isNaN(numScale)) {
826
826
  console.warn(
827
827
  `The 'scale' parameter of the 'isInGrayscale' function is invalid! Expected a number, but received ${scale}`,
828
828
  );
829
829
  return false;
830
830
  }
831
831
  const { venderId } = global.info.queryInfo || {};
832
832
  const id = venderId;
833
833
  if (!id && numScale !== 1) {
834
834
  return false;
835
835
  }
836
836
  const useScale = Math.max(0, Math.min(1, numScale));
837
837
  const isMatch = numScale === 1 || Math.floor(Number(id) % (1 / useScale)) === 0;
838
838
  if (reportKey) {
839
839
  sgmCustomReport({
840
840
  code: getSgmCustomCode(`${SgmCustomCode.GRAYSCALE}_${reportKey}_invoke`),
841
841
  msg: '灰度调用',
842
842
  });
843
843
  console.log(
844
844
  `基于KEY[${reportKey}]的灰度调用1次~`,
845
845
  getSgmCustomCode(`${SgmCustomCode.GRAYSCALE}_${reportKey}_invoke`),
846
846
  );
847
847
  if (isMatch) {
848
848
  sgmCustomReport({
849
849
  code: getSgmCustomCode(`${SgmCustomCode.GRAYSCALE}_${reportKey}_hit`),
850
850
  msg: '灰度命中',
851
851
  });
852
852
  console.log(
853
853
  `基于KEY[${reportKey}]的命中1次灰度!`,
854
854
  getSgmCustomCode(`${SgmCustomCode.GRAYSCALE}_${reportKey}_hit`),
855
855
  );
856
856
  }
857
857
  }
858
858
  return isMatch;
859
859
  isJdApp,
860
860
  isWxApp,
861
861
  isIosDevice,
862
862
  isAndroidDevice,
863
863
  isHarmonyDevice,
864
864
  isJdAndIosDevice,
865
865
  isJdAndAndroidDevice,
866
866
  isJdAndHarmonyDevice,
867
867
  isJdAndroidX5Core,
868
868
  isMin,
869
869
  isWxMin,
870
870
  isWxMinAndWxapp,
871
871
  isJdMinAndHarmony,
872
872
  isJdMin,
873
873
  isH5,
874
874
  isH5AndJdShopView,
875
875
  isChartH5,
876
876
  isH5AndJdShopViewNativeScroll,
877
877
  isH5AndJdShopViewH5Scroll,
878
878
  isH5AndJdShopH5CustomScrollView,
879
879
  isH5AndJingGouMini,
880
880
  isWxMiniH5View,
881
881
  urlCookie,
882
882
  sliceArrToChunkList,
883
883
  dealAddress,
884
884
  objectToUrlEncode,
885
885
  parseQueryUrlString,
886
886
  setLowSmallPicUrl,
887
887
  setTaroStorage,
888
888
  getTaroStorageKeyValue,
889
889
  removeTaroStorageKey,
890
890
  clearTaroStorageKey,
891
891
  getAvifSupport,
892
892
  getWebpSupport,
893
893
  getQualityImage,
894
894
  formatCountForUnit as countStringify,
895
895
  getWxAppCookieStr,
896
896
  getSystemInfos,
897
897
  pxTransformFromData,
898
898
  dealShopContentDataAndReport as dealShopContentData,
899
899
  dateFormat,
900
900
  throttle,
901
901
  lodashThrottle,
902
902
  debounce,
903
903
  addHttps,
904
904
  commonShowSuccessToast as showSuccessToast,
905
905
  commonShowFailToast as showFailToast,
906
906
  commonShowNormalToast as showNormalToast,
907
907
  showShopLoading,
908
908
  hideShopLoading,
909
909
  stopNativeScrollEvent,
910
910
  getAppChannelType,
911
911
  formatTabActiveMenuType,
912
912
  filterUrlQueryData,
913
913
  sgmCustomReport,
914
914
  draCustomReport,
915
915
  remoteCustomReport,
916
916
  draInterfaceCustomReport,
917
917
  draBusinessCustomReport,
918
918
  isMemberPage,
919
919
  getFloorDataToDataDefines,
920
920
  isOpenJdAppUrl,
921
921
  jdOpenAppParams,
922
922
  createJdOpenAppUrl,
923
923
  isEmpty,
924
924
  getJdAppReportPageSource,
925
925
  isAppClassifyPage,
926
926
  isAppHomeForMarketPage,
927
927
  isImageOptimizeEnable,
928
928
  isPc,
929
929
  ipLoc_djd,
930
930
  isTjScence,
931
931
  isH5AdnJxMini,
932
932
  isTjM,
933
933
  isTjJxM,
934
934
  isTJApp,
935
935
  isH5AdnHaoWuJie,
936
936
  tjChannel,
937
937
  dealJdOpenAppData,
938
938
  jdAppVersionCompare,
939
939
  dealNativePixelToCssPixel,
940
940
  isAppStowShop,
941
941
  getSgmCustomCode,
942
942
  handleSgmCodeTaroVersion,
943
943
  isInGrayscale,
944
944
  isIpadDevice,
945
945
  getBorderStyle,
946
946
  isSupportHybridHttpRequest,
947
947
  isLanguageForEn,
948
948
  sColor,
949
949
  draInterfaceDSMCustomReport,
950
950
  isTabletDevice,
951
951
  taroToTransformRoutimePXNumber,
952
952
  updateContainerWidth,