@conecli/cone-render 0.8.44 → 0.8.46-beta.0

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