@conecli/cone-render 0.9.1-shop2.4 → 0.9.1-shop2.40

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 (117) 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 -0
  5. package/dist/common/index.h5.ts +1 -1
  6. package/dist/common/index.jd.ts +1 -1
  7. package/dist/common/index.ts +1 -1
  8. package/dist/common/index.weapp.ts +1 -1
  9. package/dist/common/jdplayerSdk.ts +1 -0
  10. package/dist/common/pageType.ts +1 -1
  11. package/dist/common/sgmCustomCode.ts +1 -0
  12. package/dist/common/token/token.jd.ts +1 -1
  13. package/dist/common/token/token.ts +1 -1
  14. package/dist/common/wxappApi.jd.ts +1 -0
  15. package/dist/components/ErrorBoundary.tsx +1 -1
  16. package/dist/components/base/CommonFloorHead/index.module.scss +126 -111
  17. package/dist/components/base/CommonFloorHead/index.tsx +1 -1
  18. package/dist/components/base/CountDown/index.module.scss +49 -44
  19. package/dist/components/base/CountDown/index.tsx +1 -1
  20. package/dist/components/base/CustomScrollView/index.jd.tsx +1 -0
  21. package/dist/components/base/CustomScrollView/index.module.scss +7 -0
  22. package/dist/components/base/CustomScrollView/index.tsx +1 -1
  23. package/dist/components/base/CustomVideo/common.ts +1 -0
  24. package/dist/components/base/CustomVideo/index.tsx +1 -1
  25. package/dist/components/base/Dialog/index.module.scss +16 -0
  26. package/dist/components/base/Dialog/index.tsx +1 -1
  27. package/dist/components/base/ExposureSmart/index.h5.module.scss +12 -2
  28. package/dist/components/base/ExposureSmart/index.h5.tsx +1 -1
  29. package/dist/components/base/ExposureSmart/index.tsx +1 -1
  30. package/dist/components/base/ExposureSmart/reporter.tsx +1 -1
  31. package/dist/components/base/InOrOutViewObserver/index.tsx +1 -1
  32. package/dist/components/base/InViewRender/index.tsx +1 -1
  33. package/dist/components/base/ItemViewExposureSmart/index.module.scss +2 -2
  34. package/dist/components/base/ItemViewExposureSmart/index.tsx +1 -1
  35. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
  36. package/dist/components/base/LazyLoadImage/index.h5.module.scss +23 -20
  37. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
  38. package/dist/components/base/MobileCommonHeader/index.module.scss +8 -0
  39. package/dist/components/base/MobileCommonHeader/index.tsx +1 -1
  40. package/dist/components/base/NetworkDataError/index.module.scss +3 -0
  41. package/dist/components/base/NetworkDataError/index.tsx +1 -1
  42. package/dist/components/base/Price/Base/index.tsx +1 -1
  43. package/dist/components/base/Price/Double/index.module.scss +8 -0
  44. package/dist/components/base/Price/Double/index.tsx +1 -1
  45. package/dist/components/debug/DebugLayout/index.module.scss +67 -0
  46. package/dist/components/debug/DebugLayout/index.tsx +1 -0
  47. package/dist/components/debug/DebugLayout/utils.ts +1 -0
  48. package/dist/components/decorate/DecorateFloorModule/index.module.scss +11 -0
  49. package/dist/components/decorate/DecorateFloorModule/index.tsx +1 -1
  50. package/dist/components/decorate/EmptyFloorModule/index.tsx +1 -1
  51. package/dist/components/decorate/PlaceHolder/index.tsx +1 -1
  52. package/dist/components/floorItem.jd.tsx +1 -1
  53. package/dist/components/floorItem.tsx +1 -1
  54. package/dist/components/floorItem.weapp.tsx +1 -1
  55. package/dist/components/isv/Floor/index.tsx +1 -1
  56. package/dist/components/remoteFloorItem.tsx +1 -1
  57. package/dist/interface/common.ts +1 -1
  58. package/dist/interface/component.ts +1 -1
  59. package/dist/interface/jumpEventReport.ts +1 -1
  60. package/dist/interface/service.ts +1 -1
  61. package/dist/interface/utils.ts +1 -1
  62. package/dist/jumpEventReport/base.ts +1 -1
  63. package/dist/jumpEventReport/const.ts +1 -1
  64. package/dist/jumpEventReport/createReportFloorData.ts +1 -1
  65. package/dist/jumpEventReport/index.h5.ts +1 -1
  66. package/dist/jumpEventReport/index.jd.ts +1 -1
  67. package/dist/jumpEventReport/index.weapp.ts +1 -1
  68. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  69. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  70. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  71. package/dist/jumpEventReport/web/report.ts +1 -1
  72. package/dist/jumpEventReport/web.base.ts +1 -1
  73. package/dist/jumpEventReport/web.jd.ts +1 -1
  74. package/dist/jumpEventReport/web.jdb.ts +1 -1
  75. package/dist/jumpEventReport/web.jdjch.ts +1 -1
  76. package/dist/jumpEventReport/web.jxwxapp.ts +1 -0
  77. package/dist/jumpEventReport/web.pc.ts +1 -1
  78. package/dist/jumpEventReport/web.tjapp.ts +1 -0
  79. package/dist/jumpEventReport/web.tjm.ts +1 -0
  80. package/dist/jumpEventReport/web.wxapp.ts +1 -1
  81. package/dist/modules/ContainerFloorList/index.h5.module.scss +30 -1
  82. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  83. package/dist/modules/ContainerFloorList/index.tsx +1 -1
  84. package/dist/open/api/device.ts +1 -1
  85. package/dist/open/api/environment.ts +1 -1
  86. package/dist/open/api/index.ts +1 -1
  87. package/dist/open/api/jump copy.ts +1 -1
  88. package/dist/open/api/request.ts +1 -1
  89. package/dist/open/api/shopMember.ts +1 -1
  90. package/dist/open/api/track.ts +1 -1
  91. package/dist/open/api/util.ts +1 -1
  92. package/dist/open/components/index.ts +1 -1
  93. package/dist/sass/app.h5.scss +274 -212
  94. package/dist/sass/base.scss +195 -137
  95. package/dist/service/fetchGateway.ts +1 -1
  96. package/dist/service/http/colorSign.ts +1 -1
  97. package/dist/service/http/const.ts +1 -1
  98. package/dist/service/http/h5Http.ts +1 -0
  99. package/dist/service/http/index.h5.ts +1 -0
  100. package/dist/service/requestServer.h5.ts +1 -0
  101. package/dist/service/requestServer.ts +1 -1
  102. package/dist/utils/connectNativeJsBridge.ts +1 -1
  103. package/dist/utils/connectNativeJsBridge.weapp.ts +1 -1
  104. package/dist/utils/draExceptionAndProfile.ts +1 -1
  105. package/dist/utils/h5Utils.ts +1 -1
  106. package/dist/utils/index.h5.ts +1 -1
  107. package/dist/utils/index.ts +1 -1
  108. package/dist/utils/index.weapp.ts +1 -1
  109. package/dist/utils/jm-common.js +1 -1
  110. package/dist/utils/jumpExtMapUtil.js +1 -0
  111. package/dist/utils/sColor.js +1 -0
  112. package/dist/utils/sgmCodeUtils.ts +1 -0
  113. package/dist/utils/taroRenderUtil.ts +1 -1
  114. package/dist/utils/utils.ts +1 -1
  115. package/package.json +26 -3
  116. package/dist/customHooks/useDocumentVisibilitychange.ts +0 -1
  117. package/dist/utils/memberFormatUtils.js +0 -1
@@ -1 +1 @@
1
- import Taro from '@tarojs/taro'
2
1
  nativePageShowToast, ToastAndroidType,
3
2
  ToastIosType,
4
3
  getAppChannelType,
5
4
  isAndroidDevice,
6
5
  isH5AndJdShopView,
7
6
  isChartH5,
8
7
  isH5AndJdShopViewNativeScroll,
9
8
  isIosDevice,
10
9
  isJdAndAndroidDevice,
11
10
  isJdAndIosDevice,
12
11
  isJdAndHarmonyDevice,
13
12
  isJdApp,
14
13
  isWxApp,
15
14
  isWxMiniH5View,
16
15
  isH5AndJingGouMini,
17
16
  urlCookie,
18
17
  sgmCustomReport,
19
18
  isMemberPage,
20
19
  isH5AndJdShopViewH5Scroll,
21
20
  isH5AndJdShopH5CustomScrollView,
22
21
  isAppClassifyPage,
23
22
  isPc,
24
23
  ipLoc_djd,
25
24
  jdAppVersionCompare,
26
25
  addHttps,
27
26
  clearTaroStorageKey,
28
27
  countStringify,
29
28
  dateFormat,
30
29
  dealAddress,
31
30
  dealShopContentData as originDealShopContentData,
32
31
  debounce,
33
32
  filterUrlQueryData,
34
33
  formatTabActiveMenuType,
35
34
  getQualityImage,
36
35
  getTaroStorageKeyValue,
37
36
  getWxAppCookieStr,
38
37
  isH5,
39
38
  isJdMin,
40
39
  isWxMin,
41
40
  isWxMinAndWxapp,
42
41
  lodashThrottle,
43
42
  objectToUrlEncode,
44
43
  parseQueryUrlString,
45
44
  removeTaroStorageKey,
46
45
  setLowSmallPicUrl,
47
46
  setTaroStorage,
48
47
  showFailToast,
49
48
  showNormalToast,
50
49
  showSuccessToast,
51
50
  sliceArrToChunkList,
52
51
  throttle,
53
52
  dealJdOpenAppData,
54
53
  num,
55
54
  widthSize = 375,
56
55
  layoutWidth,
57
56
  const getNum = Number(num)
58
57
  let _changeLayoutWidth = layoutWidth
59
58
  if (!_changeLayoutWidth) {
60
59
  _changeLayoutWidth = _ShopSystemInfo && _ShopSystemInfo?.windowWidth ? _ShopSystemInfo.windowWidth : Taro.getSystemInfoSync()?.windowWidth
61
60
  }
62
61
  return Math.round((getNum / widthSize) * _changeLayoutWidth)
63
62
  const getRootFontSize = 40 * (systemInfo?.windowWidth ?? _ShopSystemInfo.windowWidth) / 750
64
63
  const getRealRootFontSize = getRootFontSize > 40 ? 40 : getRootFontSize < 20 ? 20 : getRootFontSize
65
64
  return (
66
65
  Math.ceil(((parseInt(String(changeSize), 10) / 40) * 750) / designWidth * getRealRootFontSize)
67
66
  )
68
67
  console.log('获取系统宽度systemInfo?.windowWidth', systemInfo?.windowWidth, 'taroToTransformRoutimePXNumber(changeWidth)', taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo))
69
68
  return buildType === BUILD_TYPE.CLASSIFY && systemInfo?.windowWidth ? systemInfo?.windowWidth - taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo) : systemInfo?.windowWidth ?? 0
70
69
  const systemInfo = Taro.getSystemInfoSync()
71
70
  if (params && params?.pageWidth && params?.pageHeight) {
72
71
  systemInfo.windowWidth = params?.pageWidth
73
72
  systemInfo.windowHeight = params?.pageHeight
74
73
  }
75
74
  systemInfo['containerWidth'] = getContainerWidth(buildType, systemInfo)
76
75
  console.warn('====获取系统信息=====', systemInfo)
77
76
  return systemInfo
78
77
  const getSystemInfo = getSystemAndContainerWidthInfo(params) || {
79
78
  windowWidth: window.innerWidth,
80
79
  containerWidth: getContainerWidth(buildType, {
81
80
  windowWidth: window.innerWidth,
82
81
  }),
83
82
  screenWidth: window.innerWidth,
84
83
  platform: '',
85
84
  model: '',
86
85
  system: '',
87
86
  }
88
87
  if (isJdApp && isAndroidDevice && getSystemInfo.windowWidth <= 0) {
89
88
  getSystemInfo.windowWidth = getSystemInfo.screenWidth
90
89
  getSystemInfo['containerWidth'] = getContainerWidth(buildType, getSystemInfo)
91
90
  }
92
91
  return getSystemInfo
93
92
  const params = Object.assign(
94
93
  {},
95
94
  {
96
95
  title: '',
97
96
  duration: 1500,
98
97
  },
99
98
  options,
100
99
  )
101
100
  params.duration = params.duration / 1000
102
101
  if (isJdApp && isH5AndJdShopView) {
103
102
  const showSuccessType = isIosDevice
104
103
  ? ToastIosType.SUCCESS
105
104
  : ToastAndroidType.SUCCESS
106
105
  const duration = isAndroidDevice ? 0 : params.duration
107
106
  nativePageShowToast(options.title, showSuccessType, duration)
108
107
  console.log('执行原生toast success')
109
108
  } else {
110
109
  showSuccessToast(options)
111
110
  }
112
111
  const params = Object.assign(
113
112
  {},
114
113
  {
115
114
  title: '',
116
115
  duration: 1500,
117
116
  },
118
117
  options,
119
118
  )
120
119
  params.duration = params.duration / 1000
121
120
  console.log(`isJdApp${isJdApp}`)
122
121
  if (isJdApp && isH5AndJdShopView) {
123
122
  const showSuccessType = isIosDevice
124
123
  ? ToastIosType.FAIL
125
124
  : ToastAndroidType.FAIL
126
125
  const duration = isAndroidDevice ? 0 : params.duration
127
126
  nativePageShowToast(options.title, showSuccessType, duration)
128
127
  console.log('执行原生toast fail')
129
128
  } else {
130
129
  console.log('执行H5 toast fail')
131
130
  showFailToast(options)
132
131
  }
133
132
  const params = Object.assign(
134
133
  {},
135
134
  {
136
135
  title: '',
137
136
  duration: 1500,
138
137
  },
139
138
  options,
140
139
  )
141
140
  params.duration = params.duration / 1000
142
141
  if (isJdApp) {
143
142
  const showSuccessType = isIosDevice
144
143
  ? ToastIosType.NORMAL
145
144
  : ToastAndroidType.NORMAL
146
145
  const duration = isAndroidDevice ? 0 : params.duration
147
146
  nativePageShowToast(options.title, showSuccessType, duration)
148
147
  } else {
149
148
  showNormalToast(options)
150
149
  }
151
150
  const createLoadingEle = document.createElement('div')
152
151
  createLoadingEle.id = 'J_shopLoading'
153
152
  createLoadingEle.className = `d-shop-loading flexible-center-box ${customClassName}`
154
153
  createLoadingEle.innerHTML = `<div class='d-loading-content'>
155
154
  <span class='d-shop-loading-icon'></span>
156
155
  <p class='d-shop-text'>${text}</p>
157
156
  </div>`
158
157
  const getEle = document.body ? document.body : document.getElementsByTagName('body')[0]
159
158
  getEle.appendChild(createLoadingEle)
160
159
  const getEle = document.getElementById('J_shopLoading')
161
160
  getEle && getEle.remove()
162
161
  const systemInfo: UtilsInterFace.taroGetSystemInfoSyncRes = getReviseSystemInfo(params)
163
162
  if (!systemInfo.system && window) {
164
163
  systemInfo.system = window.navigator.userAgent
165
164
  systemInfo.isChrome = !!systemInfo?.system.match(/chrome/i)
166
165
  }
167
166
  const isIOS = !!systemInfo?.system.match(/ios/i)
168
167
  const isAndroid = !!systemInfo?.system.match(/android/i)
169
168
  systemInfo.navBarHeight = 0
170
169
  systemInfo.statusBarHeight = 0
171
170
  systemInfo.capsulePosition = null
172
171
  systemInfo.isIOS = isIOS
173
172
  systemInfo.isAndroid = isAndroid
174
173
  _ShopSystemInfo = systemInfo
175
174
  return systemInfo
176
175
  return originDealShopContentData(pageData, sgmCustomReport, isvdev)
177
176
  isJdApp,
178
177
  isWxApp,
179
178
  isIosDevice,
180
179
  isAndroidDevice,
181
180
  isJdAndIosDevice,
182
181
  isJdAndAndroidDevice,
183
182
  isJdAndHarmonyDevice,
184
183
  isWxMin,
185
184
  isWxMinAndWxapp,
186
185
  isJdMin,
187
186
  isH5,
188
187
  isH5AndJdShopView,
189
188
  isChartH5,
190
189
  isH5AndJdShopViewNativeScroll,
191
190
  isH5AndJdShopViewH5Scroll,
192
191
  isH5AndJdShopH5CustomScrollView,
193
192
  isH5AndJingGouMini,
194
193
  isWxMiniH5View,
195
194
  urlCookie,
196
195
  sliceArrToChunkList,
197
196
  dealAddress,
198
197
  objectToUrlEncode,
199
198
  parseQueryUrlString,
200
199
  setLowSmallPicUrl,
201
200
  setTaroStorage,
202
201
  getTaroStorageKeyValue,
203
202
  removeTaroStorageKey,
204
203
  clearTaroStorageKey,
205
204
  getQualityImage,
206
205
  countStringify,
207
206
  getWxAppCookieStr,
208
207
  getSystemInfos,
209
208
  pxTransformFromData,
210
209
  dealShopContentDataAndReport as dealShopContentData,
211
210
  dateFormat,
212
211
  throttle,
213
212
  lodashThrottle,
214
213
  debounce,
215
214
  addHttps,
216
215
  commonShowSuccessToast as showSuccessToast,
217
216
  commonShowFailToast as showFailToast,
218
217
  commonShowNormalToast as showNormalToast,
219
218
  showShopLoading,
220
219
  hideShopLoading,
221
220
  getAppChannelType,
222
221
  formatTabActiveMenuType,
223
222
  filterUrlQueryData,
224
223
  sgmCustomReport,
225
224
  isMemberPage,
226
225
  memberFormatUtils,
227
226
  getFloorDataToDataDefines,
228
227
  isAppClassifyPage,
229
228
  isPc,
230
229
  ipLoc_djd,
231
230
  jdAppVersionCompare,
232
231
  dealJdOpenAppData,
232
+ import Taro from '@tarojs/taro';
233
233
  stopNativeScrollEvent,
234
234
  getAppChannelType,
235
235
  isAndroidDevice,
236
236
  isH5AndJdShopView,
237
237
  isChartH5,
238
238
  isH5AndJdShopViewNativeScroll,
239
239
  isIosDevice,
240
240
  isJdAndAndroidDevice,
241
241
  isJdAndIosDevice,
242
242
  isJdApp,
243
243
  isWxApp,
244
244
  isWxMiniH5View,
245
245
  isJdAndHarmonyDevice,
246
246
  isH5AndJingGouMini,
247
247
  urlCookie,
248
248
  sgmCustomReport,
249
249
  draCustomReport,
250
250
  remoteCustomReport,
251
251
  draInterfaceCustomReport,
252
252
  draBusinessCustomReport,
253
253
  isMemberPage,
254
254
  isH5AndJdShopViewH5Scroll,
255
255
  isH5AndJdShopH5CustomScrollView,
256
256
  isAppClassifyPage,
257
257
  isAppHomeForMarketPage,
258
258
  isPc,
259
259
  ipLoc_djd,
260
260
  jdAppVersionCompare,
261
261
  isTjScence,
262
262
  isH5AdnJxMini,
263
263
  isTjM,
264
264
  isTjJxM,
265
265
  isTJApp,
266
266
  isH5AdnHaoWuJie,
267
267
  tjChannel,
268
268
  dealNativePixelToCssPixel,
269
269
  isAppStowShop,
270
270
  isJdAndroidX5Core,
271
271
  parseQueryUrlObj,
272
272
  isIpadDevice,
273
273
  isTabletDevice,
274
274
  isJdTabletDevice,
275
275
  jdTabletDeviceInfo,
276
276
  isSupportHybridHttpRequest,
277
277
  isLanguageForEn,
278
278
  sColor,
279
279
  draInterfaceDSMCustomReport,
280
280
  addHttps,
281
281
  clearTaroStorageKey,
282
282
  countStringify,
283
283
  dateFormat,
284
284
  dealAddress,
285
285
  dealShopContentData as originDealShopContentData,
286
286
  debounce,
287
287
  filterUrlQueryData,
288
288
  formatTabActiveMenuType,
289
289
  getAvifSupport,
290
290
  getWebpSupport,
291
291
  getTaroStorageKeyValue,
292
292
  getWxAppCookieStr,
293
293
  isH5,
294
294
  isMin,
295
295
  isJdMin,
296
296
  isWxMin,
297
297
  isWxMinAndWxapp,
298
298
  isJdMinAndHarmony,
299
299
  lodashThrottle,
300
300
  objectToUrlEncode,
301
301
  parseQueryUrlString,
302
302
  removeTaroStorageKey,
303
303
  setLowSmallPicUrl,
304
304
  setTaroStorage,
305
305
  showFailToast,
306
306
  showNormalToast,
307
307
  showSuccessToast,
308
308
  sliceArrToChunkList,
309
309
  throttle,
310
310
  getQualityImageNew,
311
311
  getQualityImageOld,
312
312
  isOpenJdAppUrl,
313
313
  jdOpenAppParams,
314
314
  createJdOpenAppUrl,
315
315
  isEmpty,
316
316
  getJdAppReportPageSource,
317
317
  dealJdOpenAppData,
318
318
  getBorderStyle,
319
319
  const getNum = Number(num);
320
320
  let _changeLayoutWidth = layoutWidth;
321
321
  if (!_changeLayoutWidth) {
322
322
  _changeLayoutWidth =
323
323
  _ShopSystemInfo && _ShopSystemInfo?.windowWidth
324
324
  ? _ShopSystemInfo.windowWidth
325
325
  : Taro.getSystemInfoSync()?.windowWidth;
326
326
  }
327
327
  return isJdTabletDevice && !layoutWidth
328
328
  ? Math.floor(getNum * 1.2 * (_changeLayoutWidth / 720))
329
329
  : Math.round((getNum / widthSize) * _changeLayoutWidth);
330
330
  const getRootFontSize = (40 * (systemInfo?.windowWidth ?? _ShopSystemInfo.windowWidth)) / 750;
331
331
  let getRealRootFontSize = getRootFontSize > 40 ? 40 : getRootFontSize < 20 ? 20 : getRootFontSize;
332
332
  if (isJdTabletDevice) {
333
333
  getRealRootFontSize = Math.floor(
334
334
  24 * ((systemInfo?.windowWidth ?? _ShopSystemInfo.windowWidth) / 720),
335
335
  );
336
336
  }
337
337
  return Math.ceil(
338
338
  (((parseInt(String(changeSize), 10) / 40) * 750) / designWidth) * getRealRootFontSize,
339
339
  );
340
340
  console.log(
341
341
  '获取系统宽度systemInfo?.windowWidth',
342
342
  systemInfo?.windowWidth,
343
343
  'taroToTransformRoutimePXNumber(changeWidth)',
344
344
  taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo),
345
345
  );
346
346
  return buildType === BUILD_TYPE.CLASSIFY && systemInfo?.windowWidth
347
347
  ? systemInfo?.windowWidth - taroToTransformRoutimePXNumber(changeWidth, 750, systemInfo)
348
348
  : (systemInfo?.windowWidth ?? 0);
349
349
  const systemInfo = Taro.getSystemInfoSync();
350
350
  if (params && params?.pageWidth && params?.pageHeight) {
351
351
  systemInfo.windowWidth = params?.pageWidth;
352
352
  systemInfo.windowHeight = params?.pageHeight;
353
353
  console.warn('松果app内获取重置系统信息宽度值', params, ',systemInfo信息集合为', systemInfo);
354
354
  } else {
355
355
  if (isPc) {
356
356
  systemInfo.windowWidth = 375;
357
357
  } else {
358
358
  const getWinWidth = window.innerWidth;
359
359
  const getWinHeight = window.innerHeight;
360
360
  const getScreenWidth = window.screen.width;
361
361
  const getScreenHeight = window.screen.height;
362
362
  systemInfo.isJdTabletDevice = jdTabletDeviceInfo.isTablet;
363
363
  systemInfo.isJdTabletLandscape = jdTabletDeviceInfo.isLandscape;
364
364
  if (isJdApp && isAndroidDevice && !jdTabletDeviceInfo.isTablet && systemInfo) {
365
365
  const isLandscape = getScreenWidth >= getScreenHeight;
366
366
  const { windowWidth, windowHeight, screenWidth, screenHeight } = systemInfo;
367
367
  if (windowWidth <= 0) {
368
368
  systemInfo.initWindowWidth = windowWidth;
369
369
  if (isLandscape) {
370
370
  systemInfo.windowWidth = getScreenHeight;
371
371
  systemInfo.windowHeight = getScreenWidth;
372
372
  systemInfo.screenWidth = getScreenHeight;
373
373
  systemInfo.screenHeight = getScreenWidth;
374
374
  } else {
375
375
  systemInfo.windowWidth = getScreenWidth;
376
376
  systemInfo.windowHeight = getScreenHeight;
377
377
  systemInfo.screenWidth = getScreenWidth;
378
378
  systemInfo.screenHeight = getScreenHeight;
379
379
  }
380
380
  console.warn(
381
381
  `松果安卓app内获取系统信息宽度异常为小于等于0,是否为横屏${isLandscape},进行重置,taro获取窗口宽度值${windowWidth},重置后的宽度值${systemInfo.windowWidth},taro获取窗口高度值${windowHeight},重置后的高度值${systemInfo.windowHeight}`,
382
382
  );
383
383
  sgmCustomReport({
384
384
  type: 2,
385
385
  code: 'android_jdapp_width_error_info',
386
386
  msg: {
387
387
  title: `松果安卓app内获取系统信息宽度为小于等于0,是否为横屏${isLandscape},进行重置,通过window获取的结果,getWinWidth:${getWinWidth},getScreenWidth: ${getScreenWidth},getWinHeight:${getWinHeight},getScreenHeight: ${getScreenHeight}`,
388
388
  initData: `Taro.getSystemInfo获取窗口宽度值${windowWidth},高度值${windowHeight},获取屏幕宽度值${screenWidth},高度值${screenHeight}`,
389
389
  taroSysInfo: systemInfo,
390
390
  },
391
391
  });
392
392
  } else {
393
393
  let _getChangeWinWidthState = false;
394
394
  if (getWinWidth > 0 && windowWidth > 0 && windowWidth > getWinWidth) {
395
395
  if (isLandscape) {
396
396
  systemInfo.windowWidth = getScreenHeight;
397
397
  systemInfo.windowHeight = getScreenWidth;
398
398
  systemInfo.screenWidth = getScreenHeight;
399
399
  systemInfo.screenHeight = getScreenWidth;
400
400
  } else {
401
401
  systemInfo.windowWidth = getScreenWidth;
402
402
  systemInfo.windowHeight = getScreenHeight;
403
403
  systemInfo.screenWidth = getScreenWidth;
404
404
  systemInfo.screenHeight = getScreenHeight;
405
405
  }
406
406
  _getChangeWinWidthState = true;
407
407
  }
408
408
  _getChangeWinWidthState &&
409
409
  console.warn(
410
410
  `松果安卓app内获取系统信息宽度异常,是否为横屏${isLandscape},进行重置,taro获取窗口宽度值${windowWidth},重置后的宽度值${systemInfo.windowWidth},taro获取屏幕宽度值${screenWidth},重置后的宽度值${systemInfo.screenWidth}`,
411
411
  );
412
412
  _getChangeWinWidthState &&
413
413
  sgmCustomReport({
414
414
  type: 2,
415
415
  code: 'android_jdapp_width_error_info',
416
416
  msg: {
417
417
  title: `松果安卓app内获取系统信息宽度异常,是否为横屏${isLandscape},进行重置,通过window获取的结果,getWinWidth:${getWinWidth},getScreenWidth: ${getScreenWidth},getWinHeight:${getWinHeight},getScreenHeight: ${getScreenHeight}`,
418
418
  initData: `Taro.getSystemInfo获取窗口宽度值${windowWidth},高度值${windowHeight},获取屏幕宽度值${screenWidth},高度值${screenHeight}`,
419
419
  taroSysInfo: systemInfo,
420
420
  },
421
421
  });
422
422
  }
423
423
  }
424
424
 
425
425
  if (jdTabletDeviceInfo.isTablet) {
426
426
  systemInfo.windowWidth = getScreenWidth;
427
427
  systemInfo.windowHeight = getScreenHeight;
428
428
  if (jdTabletDeviceInfo.isLandscape) {
429
429
  if (window?.PAGE_DATA?.isFitJdPadRenderCenter) {
430
430
  systemInfo.windowWidth = Math.min(getScreenWidth, getScreenHeight);
431
431
  systemInfo.windowHeight = Math.max(getScreenWidth, getScreenHeight);
432
432
  }
433
433
  }
434
434
  console.warn(
435
435
  '====初始化获取当前设备是否是平板设备,是否是横屏=====',
436
436
  jdTabletDeviceInfo,
437
437
  '屏幕信息',
438
438
  window.screen,
439
439
  '当前是否要求居中展示,居中展示那么宽高值要对调',
440
440
  window?.PAGE_DATA?.isFitJdPadRenderCenter,
441
441
  );
442
442
  }
443
443
  }
444
444
  }
445
445
  systemInfo['containerWidth'] = getContainerWidth(buildType, systemInfo);
446
446
  console.warn('====获取系统信息=====', systemInfo);
447
447
  return systemInfo;
448
448
  let result: boolean | null = null;
449
449
  return function () {
450
450
  if (result === null) {
451
451
  const appVersionCheckPass = jdAppVersionCompare(MPAAS_CONFIG_APP_VERSION) >= 0;
452
452
  if (!isJdApp) {
453
453
  console.warn('🚗 ~~ file: utils.ts:191 站外H5默认打开图片优化~');
454
454
  isIgnoreOptimizeFromServer = true;
455
455
  result = true;
456
456
  return true;
457
457
  }
458
458
  const enableAvifOptimize = appVersionCheckPass;
459
459
  if (enableAvifOptimize) {
460
460
  const configData = global.getDynamicConfig('avifSwitch');
461
461
  console.warn(
462
462
  '🚗 ~~ file: utils.ts:196 ~~ global.getDynamicConfig ~~ buildType:',
463
463
  buildType,
464
464
  );
465
465
  console.warn(
466
466
  '🚗 ~~ file: utils.ts:197 ~~ global.getDynamicConfig ~~ configData:',
467
467
  configData,
468
468
  );
469
469
  const {
470
470
  globalOn = true,
471
471
  ignoreOptimizeFromServer = false,
472
472
  page = {},
473
473
  grayscale = {},
474
474
  whiteList = [],
475
475
  blackList = [],
476
476
  } = configData || {};
477
477
  const { shopId = '0', venderId = '0' } = parseQueryUrlObj;
478
478
  let imageEnableResult = true;
479
479
  isIgnoreOptimizeFromServer = ignoreOptimizeFromServer;
480
480
  console.warn(
481
481
  '🚗 ~~ file: index.h5.ts:213 ~~ returnfunction ~~ grayscale[buildType]:',
482
482
  grayscale[buildType],
483
483
  );
484
484
  if (
485
485
  blackList.find((item) => item.sId === Number(shopId) || item.vId === Number(venderId))
486
486
  ) {
487
487
  imageEnableResult = false;
488
488
  console.warn('🚗 ~~ file: utils.ts:198 命中黑名单~');
489
489
  } else if (
490
490
  whiteList.find((item) => item.sId === Number(shopId) || item.vId === Number(venderId))
491
491
  ) {
492
492
  isIgnoreOptimizeFromServer = true;
493
493
  imageEnableResult = true;
494
494
  console.warn('🚗 ~~ file: utils.ts:205 命中白名单~');
495
495
  } else if (grayscale[buildType] && isInGrayscale(grayscale[buildType])) {
496
496
  isIgnoreOptimizeFromServer = true;
497
497
  imageEnableResult = true;
498
498
  console.warn('🚗 ~~ file: utils.ts:214 命中灰度~');
499
499
  } else {
500
500
  imageEnableResult = globalOn === true || page[buildType] === true;
501
501
  if (globalOn === true) {
502
502
  isIgnoreOptimizeFromServer = true;
503
503
  console.warn('🚗 ~~ file: utils.ts:220 走全局开关控制逻辑,开关已打开~');
504
504
  } else if (page[buildType] === true) {
505
505
  console.warn('🚗 ~~ file: utils.ts:220 走页面开关控制逻辑,开关已打开~');
506
506
  } else {
507
507
  console.warn('🚗 ~~ file: utils.ts:220 走全局或页面开关控制逻辑,开关未打开!');
508
508
  }
509
509
  }
510
510
  result = imageEnableResult;
511
511
  return imageEnableResult;
512
512
  } else {
513
513
  result = false;
514
514
  return false;
515
515
  }
516
516
  } else {
517
517
  return result;
518
518
  }
519
519
  };
520
520
  if (typeof options === 'object' && isImageOptimizeEnable()) {
521
521
  return getQualityImageNew(imgUrl, options, isIgnoreOptimizeFromServer);
522
522
  } else {
523
523
  return getQualityImageOld(imgUrl, options);
524
524
  }
525
525
  const getSystemInfo = getSystemAndContainerWidthInfo(params) || {
526
526
  windowWidth: window.innerWidth,
527
527
  containerWidth: getContainerWidth(buildType, {
528
528
  windowWidth: window.innerWidth,
529
529
  }),
530
530
  screenWidth: window.innerWidth,
531
531
  platform: '',
532
532
  model: '',
533
533
  system: '',
534
534
  };
535
535
  return getSystemInfo;
536
536
  const params = Object.assign(
537
537
  {},
538
538
  {
539
539
  title: '',
540
540
  duration: 1500,
541
541
  },
542
542
  options,
543
543
  );
544
544
  params.duration = params.duration / 1000;
545
545
  if (isJdApp && !isJdAndHarmonyDevice) {
546
546
  const showSuccessType = isIosDevice ? ToastIosType.SUCCESS : ToastAndroidType.SUCCESS;
547
547
  const duration = isAndroidDevice ? 0 : params.duration;
548
548
  nativePageShowToast(options.title, showSuccessType, duration);
549
549
  console.log('执行原生toast success');
550
550
  } else {
551
551
  showSuccessToast(options);
552
552
  }
553
553
  const params = Object.assign(
554
554
  {},
555
555
  {
556
556
  title: '',
557
557
  duration: 1500,
558
558
  },
559
559
  options,
560
560
  );
561
561
  params.duration = params.duration / 1000;
562
562
  if (isJdApp) {
563
563
  const showSuccessType = isIosDevice ? ToastIosType.FAIL : ToastAndroidType.FAIL;
564
564
  const duration = isAndroidDevice ? 0 : params.duration;
565
565
  nativePageShowToast(options.title, showSuccessType, duration);
566
566
  console.log('执行原生toast fail');
567
567
  } else {
568
568
  console.log('执行H5 toast fail');
569
569
  showFailToast(options);
570
570
  }
571
571
  const params = Object.assign(
572
572
  {},
573
573
  {
574
574
  title: '',
575
575
  duration: 1500,
576
576
  },
577
577
  options,
578
578
  );
579
579
  params.duration = params.duration / 1000;
580
580
  if (isJdApp) {
581
581
  const showSuccessType = isIosDevice ? ToastIosType.NORMAL : ToastAndroidType.NORMAL;
582
582
  const duration = isAndroidDevice ? 0 : params.duration;
583
583
  nativePageShowToast(options.title, showSuccessType, duration);
584
584
  } else {
585
585
  showNormalToast(options);
586
586
  }
587
587
  const createLoadingEle = document.createElement('div');
588
588
  createLoadingEle.id = 'J_shopLoading';
589
589
  createLoadingEle.className = `d-shop-loading flexible-center-box ${customClassName}`;
590
590
  createLoadingEle.innerHTML = `<div class='d-loading-content'>
591
591
  <span class='d-shop-loading-icon'></span>
592
592
  <p class='d-shop-text'>${text}</p>
593
593
  </div>`;
594
594
  const getEle = document.body ? document.body : document.getElementsByTagName('body')[0];
595
595
  getEle.appendChild(createLoadingEle);
596
596
  const getEle = document.getElementById('J_shopLoading');
597
597
  getEle && getEle.remove();
598
598
  const systemInfo: UtilsInterFace.taroGetSystemInfoSyncRes = getReviseSystemInfo(params);
599
599
  if (!systemInfo.system && window) {
600
600
  systemInfo.system = window.navigator.userAgent;
601
601
  systemInfo.isChrome = !!systemInfo?.system.match(/chrome/i);
602
602
  }
603
603
  const isIOS = !!systemInfo?.system.match(/ios/i);
604
604
  const isAndroid = !!systemInfo?.system.match(/android/i);
605
605
  systemInfo.navBarHeight = 0;
606
606
  systemInfo.statusBarHeight = 0;
607
607
  systemInfo.capsulePosition = null;
608
608
  systemInfo.isIOS = isIOS;
609
609
  systemInfo.isAndroid = isAndroid;
610
610
  _ShopSystemInfo = systemInfo;
611
611
  return systemInfo;
612
612
  return originDealShopContentData(pageData, sgmCustomReport, isvdev);
613
613
  const numScale = Number(scale);
614
614
  if (isNaN(numScale)) {
615
615
  console.warn(
616
616
  `The 'scale' parameter of the 'isInGrayscale' function is invalid! Expected a number, but received ${scale}`,
617
617
  );
618
618
  return false;
619
619
  }
620
620
  const { venderId } = global.info.queryInfo || {};
621
621
  const id = venderId;
622
622
  if (!id && numScale !== 1) {
623
623
  return false;
624
624
  }
625
625
  const useScale = Math.max(0, Math.min(1, numScale));
626
626
  const isMatch = numScale === 1 || Math.floor(Number(id) % (1 / useScale)) === 0;
627
627
  if (reportKey) {
628
628
  sgmCustomReport({
629
629
  code: getSgmCustomCode(`${SgmCustomCode.GRAYSCALE}_${reportKey}_invoke`),
630
630
  msg: '灰度调用',
631
631
  });
632
632
  console.log(
633
633
  `基于KEY[${reportKey}]的灰度调用1次~`,
634
634
  getSgmCustomCode(`${SgmCustomCode.GRAYSCALE}_${reportKey}_invoke`),
635
635
  );
636
636
  if (isMatch) {
637
637
  sgmCustomReport({
638
638
  code: getSgmCustomCode(`${SgmCustomCode.GRAYSCALE}_${reportKey}_hit`),
639
639
  msg: '灰度命中',
640
640
  });
641
641
  console.log(
642
642
  `基于KEY[${reportKey}]的命中1次灰度!`,
643
643
  getSgmCustomCode(`${SgmCustomCode.GRAYSCALE}_${reportKey}_hit`),
644
644
  );
645
645
  }
646
646
  }
647
647
  return isMatch;
648
648
  isJdApp,
649
649
  isWxApp,
650
650
  isIosDevice,
651
651
  isAndroidDevice,
652
652
  isJdAndIosDevice,
653
653
  isJdAndAndroidDevice,
654
654
  isJdAndHarmonyDevice,
655
655
  isJdAndroidX5Core,
656
656
  isMin,
657
657
  isWxMin,
658
658
  isWxMinAndWxapp,
659
659
  isJdMinAndHarmony,
660
660
  isJdMin,
661
661
  isH5,
662
662
  isH5AndJdShopView,
663
663
  isChartH5,
664
664
  isH5AndJdShopViewNativeScroll,
665
665
  isH5AndJdShopViewH5Scroll,
666
666
  isH5AndJdShopH5CustomScrollView,
667
667
  isH5AndJingGouMini,
668
668
  isWxMiniH5View,
669
669
  urlCookie,
670
670
  sliceArrToChunkList,
671
671
  dealAddress,
672
672
  objectToUrlEncode,
673
673
  parseQueryUrlString,
674
674
  setLowSmallPicUrl,
675
675
  setTaroStorage,
676
676
  getTaroStorageKeyValue,
677
677
  removeTaroStorageKey,
678
678
  clearTaroStorageKey,
679
679
  getAvifSupport,
680
680
  getWebpSupport,
681
681
  getQualityImage,
682
682
  countStringify,
683
683
  getWxAppCookieStr,
684
684
  getSystemInfos,
685
685
  pxTransformFromData,
686
686
  dealShopContentDataAndReport as dealShopContentData,
687
687
  dateFormat,
688
688
  throttle,
689
689
  lodashThrottle,
690
690
  debounce,
691
691
  addHttps,
692
692
  commonShowSuccessToast as showSuccessToast,
693
693
  commonShowFailToast as showFailToast,
694
694
  commonShowNormalToast as showNormalToast,
695
695
  showShopLoading,
696
696
  hideShopLoading,
697
697
  stopNativeScrollEvent,
698
698
  getAppChannelType,
699
699
  formatTabActiveMenuType,
700
700
  filterUrlQueryData,
701
701
  sgmCustomReport,
702
702
  draCustomReport,
703
703
  remoteCustomReport,
704
704
  draInterfaceCustomReport,
705
705
  draBusinessCustomReport,
706
706
  isMemberPage,
707
707
  getFloorDataToDataDefines,
708
708
  isOpenJdAppUrl,
709
709
  jdOpenAppParams,
710
710
  createJdOpenAppUrl,
711
711
  isEmpty,
712
712
  getJdAppReportPageSource,
713
713
  isAppClassifyPage,
714
714
  isAppHomeForMarketPage,
715
715
  isImageOptimizeEnable,
716
716
  isPc,
717
717
  ipLoc_djd,
718
718
  isTjScence,
719
719
  isH5AdnJxMini,
720
720
  isTjM,
721
721
  isTjJxM,
722
722
  isTJApp,
723
723
  isH5AdnHaoWuJie,
724
724
  tjChannel,
725
725
  dealJdOpenAppData,
726
726
  jdAppVersionCompare,
727
727
  dealNativePixelToCssPixel,
728
728
  isAppStowShop,
729
729
  getSgmCustomCode,
730
730
  handleSgmCodeTaroVersion,
731
731
  isInGrayscale,
732
732
  isIpadDevice,
733
733
  getBorderStyle,
734
734
  isSupportHybridHttpRequest,
735
735
  isLanguageForEn,
736
736
  sColor,
737
737
  draInterfaceDSMCustomReport,
738
738
  isTabletDevice,
739
739
  isJdTabletDevice,
740
740
  jdTabletDeviceInfo,