@conecli/cone-render 0.10.1-shop3.1 → 0.10.1-shop3.100

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 (129) hide show
  1. package/README.md +1 -1
  2. package/dist/api/index.ts +1 -1
  3. package/dist/common/accessibility.h5.ts +1 -0
  4. package/dist/common/accessibility.ts +1 -0
  5. package/dist/common/const.ts +1 -1
  6. package/dist/common/index.h5.ts +1 -1
  7. package/dist/common/index.jd.ts +1 -1
  8. package/dist/common/index.ts +1 -1
  9. package/dist/common/index.weapp.ts +1 -1
  10. package/dist/common/jdplayerSdk.weapp.tsx +1 -0
  11. package/dist/common/jssdk.ts +1 -1
  12. package/dist/common/jssdk.weapp.ts +1 -0
  13. package/dist/common/pageType.ts +1 -1
  14. package/dist/common/token/index.h5.ts +1 -1
  15. package/dist/common/token/token.jd.ts +1 -1
  16. package/dist/common/wxappApi.ascf.ts +1 -0
  17. package/dist/common/wxappApi.ts +1 -1
  18. package/dist/components/ErrorBoundary.tsx +1 -1
  19. package/dist/components/base/CommonFloorHead/index.module.scss +126 -111
  20. package/dist/components/base/CommonFloorHead/index.tsx +1 -1
  21. package/dist/components/base/CountDown/index.module.scss +49 -44
  22. package/dist/components/base/CountDown/index.tsx +1 -1
  23. package/dist/components/base/CustomScrollView/index-back.tsx +1 -0
  24. package/dist/components/base/CustomScrollView/index.tsx +1 -1
  25. package/dist/components/base/CustomVideo/index.tsx +1 -1
  26. package/dist/components/base/CustomVideo/index.weapp.tsx +1 -0
  27. package/dist/components/base/Dialog/index.module.scss +11 -0
  28. package/dist/components/base/ExposureSmart/index.h5.module.scss +12 -2
  29. package/dist/components/base/ExposureSmart/index.h5.tsx +1 -1
  30. package/dist/components/base/ExposureSmart/index.tsx +1 -1
  31. package/dist/components/base/ExposureSmart/reporter.tsx +1 -1
  32. package/dist/components/base/InOrOutViewObserver/index.weapp.tsx +1 -0
  33. package/dist/components/base/InViewRender/index.tsx +1 -1
  34. package/dist/components/base/ItemViewExposureSmart/index.module.scss +2 -2
  35. package/dist/components/base/ItemViewExposureSmart/index.tsx +1 -1
  36. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
  37. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
  38. package/dist/components/base/MobileCommonHeader/index.tsx +1 -1
  39. package/dist/components/base/MobileCommonHeader/index.weapp.tsx +1 -0
  40. package/dist/components/base/NetworkDataError/const.ts +1 -1
  41. package/dist/components/base/NetworkDataError/index.module.scss +118 -72
  42. package/dist/components/base/NetworkDataError/index.tsx +1 -1
  43. package/dist/components/base/Price/Base/index.module.scss +12 -0
  44. package/dist/components/base/Price/Base/index.tsx +1 -1
  45. package/dist/components/base/Price/Double/index.module.scss +33 -1
  46. package/dist/components/base/Price/Double/index.tsx +1 -1
  47. package/dist/components/base/ShopLeGaoTag/index.h5.module.scss +35 -0
  48. package/dist/components/base/ShopLeGaoTag/index.h5.tsx +1 -0
  49. package/dist/components/base/ShopLeGaoTag/index.module.scss +33 -0
  50. package/dist/components/base/ShopLeGaoTag/index.tsx +1 -0
  51. package/dist/components/debug/DebugLayout/index.module.scss +2 -2
  52. package/dist/components/floorItem.tsx +1 -1
  53. package/dist/components/floorItem.weapp.tsx +1 -1
  54. package/dist/components/isv/Floor/index.tsx +1 -1
  55. package/dist/components/remoteFloorItem.tsx +1 -1
  56. package/dist/config/env.ts +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/jumpEventReport/base.ts +1 -1
  62. package/dist/jumpEventReport/const.ts +1 -1
  63. package/dist/jumpEventReport/createReportFloorData.ts +1 -1
  64. package/dist/jumpEventReport/index.h5.ts +1 -1
  65. package/dist/jumpEventReport/index.jd.ts +1 -1
  66. package/dist/jumpEventReport/index.weapp.ts +1 -1
  67. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  68. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  69. package/dist/jumpEventReport/logEventConfig.h5.ts +1 -0
  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 -1
  77. package/dist/jumpEventReport/web.pc.ts +1 -1
  78. package/dist/jumpEventReport/web.tjapp.ts +1 -1
  79. package/dist/jumpEventReport/web.tjm.ts +1 -1
  80. package/dist/jumpEventReport/web.wxapp.ts +1 -1
  81. package/dist/language/en_US.json +395 -0
  82. package/dist/language/zh_CN.json +395 -0
  83. package/dist/language/zh_HK.json +395 -0
  84. package/dist/libs/openShopBridge.js +161 -0
  85. package/dist/libs/openShopBridge.min.js +1 -0
  86. package/dist/libs/taroAppReport.js +2 -2
  87. package/dist/modules/ContainerFloorList/index.h5.module.scss +80 -53
  88. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  89. package/dist/modules/ContainerFloorList/index.tsx +1 -1
  90. package/dist/modules/DecorateContainerFloorList/index.weapp.tsx +1 -0
  91. package/dist/open/api/environment.ts +1 -1
  92. package/dist/open/api/shopMember.ts +1 -1
  93. package/dist/open/api/shopMember.weapp.ts +1 -0
  94. package/dist/open/api/track.ts +1 -1
  95. package/dist/open/api/util.ts +1 -1
  96. package/dist/open/components/index.ts +1 -1
  97. package/dist/open/index.ts +1 -1
  98. package/dist/sass/app.h5.scss +278 -224
  99. package/dist/sass/base.scss +150 -145
  100. package/dist/service/fetchGateway.ts +1 -1
  101. package/dist/service/fetchGateway.weapp.ts +1 -0
  102. package/dist/service/fetchJsonp.weapp.ts +1 -0
  103. package/dist/service/http/colorSign.ts +1 -1
  104. package/dist/service/http/const.ts +1 -1
  105. package/dist/service/http/h5Http.ts +1 -1
  106. package/dist/service/http/httpInterceptors.weapp.ts +1 -0
  107. package/dist/service/requestServer.h5.ts +1 -1
  108. package/dist/service/requestServer.ts +1 -1
  109. package/dist/service/requestServer.weapp.ts +1 -0
  110. package/dist/utils/connectNativeJsBridge.ts +1 -1
  111. package/dist/utils/h5Utils.ts +1 -1
  112. package/dist/utils/harmonyCallRouter.h5.ts +1 -0
  113. package/dist/utils/harmonyCallRouter.ts +0 -0
  114. package/dist/utils/index.h5.ts +1 -1
  115. package/dist/utils/index.ts +1 -1
  116. package/dist/utils/index.weapp.ts +1 -1
  117. package/dist/utils/jumpExtMapUtil.h5.ts +1 -0
  118. package/dist/utils/jumpExtMapUtil.ts +1 -0
  119. package/dist/utils/jumpExtMapUtil.weapp.ts +1 -0
  120. package/dist/utils/log.ts +1 -0
  121. package/dist/utils/sColor.ts +1 -0
  122. package/dist/utils/sColor.weapp.ts +1 -0
  123. package/dist/utils/utils.ts +1 -1
  124. package/dist/wxapp/common/address_api/address_api_v2.js +1 -0
  125. package/dist/wxapp/common/user_info.js +1 -1
  126. package/package.json +162 -141
  127. package/dist/jumpEventReport/web/wqshop.report.ts +0 -1
  128. package/dist/utils/memberFormatUtils.js +0 -1
  129. package/dist/utils/priceUtils.js +0 -1
@@ -1 +1 @@
1
- import {
2
1
  isApp,
3
2
  isIOS,
4
3
  getAppVersion,
5
4
  version,
6
5
  getUUID,
7
6
  getUrlQuery,
8
7
  assign,
9
8
  isString,
10
9
  isObject,
11
10
  serialize,
12
11
  isAndroid,
13
12
  versionCompare,
14
13
  isIPad,
15
14
  CHANNEL_TYPE,
16
15
  JDShopViewBusinessPathType,
17
16
  JDShopViewBusinessPathList,
18
17
  SECTION_HOME_TAB_NAME_TYPE,
19
18
  SECTION_HOME_TAB_TYPE,
20
19
  DraBuryPointFlags,
21
20
  MPAAS_CONFIG_APP_VERSION,
22
21
  window?.location?.href ?? '',
23
22
  new Promise((resolve, reject) => {
24
23
  if (window?.__sgm__) {
25
24
  resolve(true)
26
25
  } else {
27
26
  if (isSgmReadyError) {
28
27
  console.log('当前sgm初始化失败')
29
28
  reject(false)
30
29
  } else {
31
30
  ready('__sgm__', 2000)
32
31
  .then(() => {
33
32
  isSgmReadyError = false
34
33
  console.log('当前sgm初始化成功')
35
34
  resolve(true)
36
35
  })
37
36
  .catch(() => {
38
37
  isSgmReadyError = true
39
38
  console.log('当前sgm初始化失败')
40
39
  reject(false)
41
40
  })
42
41
  }
43
42
  }
44
43
  })
45
44
  console.log(message)
46
45
  reject(new Error(message))
47
46
  return ready('dra', 2000)
48
47
  .then(() => {
49
48
  isNewDraSdkReadyError = false
50
49
  console.log('当前新版烛龙sdk初始化成功')
51
50
  return true
52
51
  })
53
52
  .catch(() => {
54
53
  isNewDraSdkReadyError = true
55
54
  throw new Error('当前新版烛龙sdk初始化失败')
56
55
  })
57
56
  return new Promise((resolve, reject) => {
58
57
  if (window?.dra) {
59
58
  resolve(true)
60
59
  } else if (isNewDraSdkReadyError) {
61
60
  logAndReject('当前新版烛龙sdk初始化失败', reject)
62
61
  } else {
63
62
  initializeDraSdk()
64
63
  .then(resolve)
65
64
  .catch((error) => logAndReject(error.message, reject))
66
65
  }
67
66
  })
68
67
  try {
69
68
  return JSON.parse(decodeURIComponent(getUrlQuery('cookie')))
70
69
  } catch (e) {
71
70
  return {}
72
71
  }
73
72
  isWxMiniH5View && urlCookie['wxapp_type'] == '1'
74
73
  window.shopGlobalSwitch?.isH5AndJdShopViewH5ScrollVersion || ''
75
74
  !!document.getElementById('mallType') &&
76
75
  !!document.getElementById('pageInstance_id') &&
77
76
  !!document.getElementById('pageInstance_appId')
78
77
  isTjScence &&
79
78
  isWxMiniH5View &&
80
79
  (urlCookie['wxapp_type'] == '2' ||
81
80
  cookie.get('wxapp_type') == '2' ||
82
81
  parseQueryUrlObj['tjChannel'] === 'jxxcx')
83
82
  isTjScence && isWxMiniH5View && parseQueryUrlObj['sourceApp'] === 'haowujie'
84
83
  isTjScence &&
85
84
  (parseQueryUrlObj['appCode'] === 'ms27cba806' ||
86
85
  document.referrer?.match(/(?:https?:)?\/\/(?:kpl\.m|css|cs)\.jd\.com/i)
87
86
  ?.length ||
88
87
  (parseQueryUrlObj['sourceApp'] == 'jsb-m' &&
89
88
  parseQueryUrlObj['appCode'] === '') ||
90
89
  parseQueryUrlObj['tjChannel'] === 'tjm')
91
90
  if (isH5AdnJxMini) {
92
91
  return 'jxxcx'
93
92
  } else if (isTJApp) {
94
93
  return 'tjapp'
95
94
  } else if (isTjM) {
96
95
  return 'tjm'
97
96
  } else if (isTjJxM) {
98
97
  return 'jxh5'
99
98
  }
100
99
  return ''
101
100
  START: 'start',
102
101
  MOVE: 'move',
103
102
  END: 'end',
104
103
  x: 0,
105
104
  y: 0,
106
105
  const startX = startPos.x
107
106
  const startY = startPos.y
108
107
  const endX = touchEvent.clientX
109
108
  const endY = touchEvent.clientY
110
109
  const dy = startY - endY
111
110
  const dx = endX - startX
112
111
  let result = 0
113
112
  if (Math.abs(dx) < 2 && Math.abs(dy) < 2) {
114
113
  return result
115
114
  }
116
115
  const angle = (Math.atan2(dy, dx) * 180) / Math.PI
117
116
  if (angle >= -45 && angle < 45) {
118
117
  result = 4
119
118
  } else if (angle >= 45 && angle < 135) {
120
119
  result = 1
121
120
  } else if (angle >= -135 && angle < -45) {
122
121
  result = 2
123
122
  } else if (
124
123
  (angle >= 135 && angle <= 180) ||
125
124
  (angle >= -180 && angle < -135)
126
125
  ) {
127
126
  result = 3
128
127
  }
129
128
  return result
130
129
  e: Event,
131
130
  touchType = TouchType.START,
132
131
  stopTouchDocumentScrollState = false,
133
132
  if (isJdApp && e) {
134
133
  const touchEvent = e?.originalEvent?.targetTouches[0] || e?.targetTouches[0]
135
134
  let _touchState = touchType
136
135
  let _getDirectionState = false
137
136
  if (touchType === TouchType.START) {
138
137
  StopNativeScrollEventPos.x = touchEvent.clientX
139
138
  StopNativeScrollEventPos.y = touchEvent.clientY
140
139
  } else if (touchType === TouchType.MOVE) {
141
140
  _getDirectionState = [1, 2].includes(
142
141
  touchMoveGetSlideDirection(StopNativeScrollEventPos, touchEvent),
143
142
  )
144
143
  if (_getDirectionState) {
145
144
  _touchState = TouchType.END
146
145
  }
147
146
  console.log(
148
147
  '对外提供阻止横滑方法,当前touchType为move,设定1、2向上或向下方向,当前计算后的滑动是否为纵向',
149
148
  _getDirectionState,
150
149
  )
151
150
  } else if (touchType === TouchType.END) {
152
151
  StopNativeScrollEventPos.x = 0
153
152
  StopNativeScrollEventPos.y = 0
154
153
  }
155
154
  isIosDevice
156
155
  ? iosDeviceStopNativeScrollEvent(
157
156
  e,
158
157
  _touchState,
159
158
  stopTouchDocumentScrollState,
160
159
  )
161
160
  : androidDeviceStopNativeScrollEvent(
162
161
  _touchState,
163
162
  stopTouchDocumentScrollState,
164
163
  )
165
164
  if (
166
165
  !isAppHomeForMarketPage &&
167
166
  stopTouchDocumentScrollState &&
168
167
  _touchState === TouchType.START
169
168
  ) {
170
169
  rootEleNode && rootEleNode.classList.add('over-hidden')
171
170
  }
172
171
  if (_touchState === TouchType.MOVE && _getDirectionState) {
173
172
  rootEleNode &&
174
173
  rootEleNode.classList.contains('over-hidden') &&
175
174
  rootEleNode.classList.remove('over-hidden')
176
175
  } else if (_touchState === TouchType.END) {
177
176
  setTimeout(
178
177
  () => {
179
178
  rootEleNode &&
180
179
  rootEleNode.classList.contains('over-hidden') &&
181
180
  rootEleNode.classList.remove('over-hidden')
182
181
  },
183
182
  isAppHomeForMarketPage || _getDirectionState ? 0 : 200,
184
183
  )
185
184
  }
186
185
  }
187
186
  touchType = TouchType.START,
188
187
  stopTouchDocumentScrollState = false,
189
188
  isJdApp &&
190
189
  touchType !== TouchType.MOVE &&
191
190
  isAndroidDevice &&
192
191
  window?.JdAndroid &&
193
192
  window?.JdAndroid.requestEvent(touchType === TouchType.START)
194
193
  console.log(
195
194
  '对外提供阻止安卓横滑方法,true-禁止外部事件H5可滑动,false-外部拦截h5事件,当前touchType为',
196
195
  touchType,
197
196
  '当前非move触发requestEvent状态为',
198
197
  touchType === TouchType.START,
199
198
  '当前stopTouchDocumentScrollState为',
200
199
  stopTouchDocumentScrollState,
201
200
  )
202
201
  e,
203
202
  touchType = TouchType.START,
204
203
  stopTouchDocumentScrollState = false,
205
204
  e && e.stopPropagation()
206
205
  console.log(
207
206
  '对外提供阻止ios横滑方法,当前touchType为',
208
207
  touchType,
209
208
  '当前stopTouchDocumentScrollState为',
210
209
  stopTouchDocumentScrollState,
211
210
  )
212
211
  window?.webkit?.messageHandlers?.MobileNavi?.postMessage?.({
213
212
  method: 'callRouterModuleWithParams',
214
213
  params: {
215
214
  routerURL: 'router://JDShopModule/processShoph5SlideState',
216
215
  routerParam: {
217
216
  slideDirection: 'horizontal',
218
217
  state: touchType,
219
218
  },
220
219
  callBackId: new Date().getTime(),
221
220
  },
222
221
  })
223
222
  if (isH5AndJdShopView) {
224
223
  return (
225
224
  CHANNEL_TYPE[currentChannel] ||
226
225
  CHANNEL_TYPE[JDShopViewBusinessPathType.HOME]
227
226
  )
228
227
  }
229
228
  return null
230
229
  isH5 &&
231
230
  isJdApp &&
232
231
  [
233
232
  '/app/home',
234
233
  '/app/classify',
235
234
  '/member/shopcard',
236
235
  '/favorite/list',
237
236
  '/favorite/home',
238
237
  ].includes(urlPathname)
239
238
  isH5 && isJdApp && !['/app/home'].includes(urlPathname)
240
239
  ['/app/home'].includes(urlPathname) &&
241
240
  menuObj.tabActiveType != SECTION_HOME_TAB_TYPE.HOME_PROMOTION &&
242
241
  menuObj.tabActiveType != SECTION_HOME_TAB_TYPE.HOME_MEMBER
243
242
  isAppHomePage && parseQueryUrlObj['source'] === 'app-marketing'
244
243
  isH5 &&
245
244
  isAppHomePage &&
246
245
  versionCompare(
247
246
  jdAppVersion?.full ? jdAppVersion.full : '',
248
247
  isH5AndJdShopViewH5ScrollVersion,
249
248
  ) >= 0
250
249
  compareVersion,
251
250
  nowVersion = jdAppVersionStr,
252
251
  return isJdApp ? versionCompare(nowVersion, compareVersion) : -2
253
252
  getSgmReadyPromise()
254
253
  .then(() => {
255
254
  if (
256
255
  customObj.hasOwnProperty('code') &&
257
256
  customObj.code.indexOf(NO_ENVIRONMENT_AND_PAGE_TYPE_FLAG) !== -1
258
257
  ) {
259
258
  const originCode = customObj.code.substring(
260
259
  NO_ENVIRONMENT_AND_PAGE_TYPE_FLAG.length,
261
260
  customObj.code.length,
262
261
  )
263
262
  customObj['code'] = getSgmCustomCode(
264
263
  handleSgmCodeTaroVersion(originCode),
265
264
  )
266
265
  }
267
266
  const getCustomObj = {
268
267
  type: 1,
269
268
  code: 'all',
270
269
  cost1: 1,
271
270
  ...customObj,
272
271
  }
273
272
  try {
274
273
  window.__sgm__.custom(getCustomObj, '9HwAEg@fTtWBB3EnwA5VgLT')
275
274
  } catch (e) {
276
275
  console.log('当前sgm上报异常, 原始数据为', JSON.stringify(customObj))
277
276
  }
278
277
  })
279
278
  .catch(() => {
280
279
  console.error(
281
280
  '当前页面sgm加载异常,无法进行异常上报, 原始数据为',
282
281
  JSON.stringify(customObj),
283
282
  )
284
283
  })
285
284
  customContextObj = {},
286
285
  customMetricsObj = {},
287
286
  name?,
288
287
  try {
289
288
  await getNewDraSdkReadyPromise()
290
289
  const draBurypointFlag = name ?? DraBuryPointFlags.BUSINESS
291
290
  const commonObj = {
292
291
  shopId: `${global.info.queryInfo.shopId || ''}`,
293
292
  venderId: `${global.info.queryInfo.venderId || ''}`,
294
293
  taroRenderVersion: window?.taroRenderVersion,
295
294
  environmentType: getEnvironmentType(),
296
295
  pageType: getPageType(),
297
296
  }
298
297
  try {
299
298
  window.dra.sendCustomEvent(
300
299
  {
301
300
  name: draBurypointFlag,
302
301
  metrics: {
303
302
  timeStamp: Date.now(),
304
303
  ...customMetricsObj,
305
304
  },
306
305
  context: {
307
306
  ...commonObj,
308
307
  ...customContextObj,
309
308
  },
310
309
  },
311
310
  true,
312
311
  )
313
312
  } catch (e) {
314
313
  console.error(
315
314
  '当前新版烛龙sdk上报异常, 原始数据为',
316
315
  JSON.stringify({ ...customContextObj, ...customMetricsObj }),
317
316
  'e',
318
317
  e,
319
318
  )
320
319
  }
321
320
  } catch (e) {
322
321
  console.error(
323
322
  '当前页面新版烛龙sdk加载异常,无法进行异常上报, 原始数据为',
324
323
  JSON.stringify({ ...customContextObj, ...customMetricsObj }),
325
324
  'e',
326
325
  e,
327
326
  )
328
327
  }
329
328
  customContextObj = {},
330
329
  customMetricsObj = {},
331
330
  draCustomReport(customContextObj, customMetricsObj, DraBuryPointFlags.REMOTE)
332
331
  customContextObj = {},
333
332
  customMetricsObj = {},
334
333
  draCustomReport(
335
334
  customContextObj,
336
335
  customMetricsObj,
337
336
  DraBuryPointFlags.INTERFACE,
338
337
  )
339
338
  customContextObj = {},
340
339
  customMetricsObj = {},
341
340
  draCustomReport(
342
341
  customContextObj,
343
342
  customMetricsObj,
344
343
  DraBuryPointFlags.BUSINESS,
345
344
  )
346
345
  if (isJdAndAndroidDevice && typeof displayObj === 'object') {
347
346
  const deviceRatio = window?.devicePixelRatio
348
347
  Object.keys(displayObj).forEach((key) => {
349
348
  if (key === 'nativeHeaderHeight') {
350
349
  displayObj[key] = Math.ceil(
351
350
  displayObj[key] / (deviceRatio * deviceRatio) - 2,
352
351
  )
353
352
  } else {
354
353
  displayObj[key] = Math.ceil(displayObj[key] / deviceRatio)
355
354
  }
356
355
  })
357
356
  }
358
357
  return displayObj
359
358
  isJdAndAndroidDevice && /TBS\/\d+/.test(window?.navigator?.userAgent)
360
359
  jdAppVersionCompare(MPAAS_CONFIG_APP_VERSION) >= 0
360
+ import {
361
361
  isApp,
362
362
  isIOS,
363
363
  getAppVersion,
364
364
  version,
365
365
  getUrlQuery,
366
366
  assign,
367
367
  isString,
368
368
  isObject,
369
369
  serialize,
370
370
  isAndroid,
371
371
  versionCompare,
372
372
  isIPad,
373
373
  isTablet,
374
374
  CHANNEL_TYPE,
375
375
  JDShopViewBusinessPathType,
376
376
  SECTION_HOME_TAB_NAME_TYPE,
377
377
  SECTION_HOME_TAB_TYPE,
378
378
  DraBuryPointFlags,
379
379
  MPAAS_CONFIG_APP_VERSION,
380
380
  BUILD_TYPE,
381
381
  console.log(message);
382
382
  reject(new Error(message));
383
383
  return ready('dra', 2000)
384
384
  .then(() => {
385
385
  isNewDraSdkReadyError = false;
386
386
  console.log('当前新版烛龙sdk初始化成功');
387
387
  return true;
388
388
  })
389
389
  .catch(() => {
390
390
  isNewDraSdkReadyError = true;
391
391
  throw new Error('当前新版烛龙sdk初始化失败');
392
392
  });
393
393
  return new Promise((resolve, reject) => {
394
394
  if (window?.dra) {
395
395
  resolve(true);
396
396
  } else if (isNewDraSdkReadyError) {
397
397
  logAndReject('当前新版烛龙sdk初始化失败', reject);
398
398
  } else {
399
399
  initializeDraSdk()
400
400
  .then(resolve)
401
401
  .catch((error) => logAndReject(error.message, reject));
402
402
  }
403
403
  });
404
404
  rootEleInitWidth = 0,
405
405
  screenWidth = 0,
406
406
  screenHeight = 0,
407
407
  if (rootEleInitWidth > 0 && screenWidth > 0 && screenHeight > 0) {
408
408
  const isRootEleWidthEqScreenWidth = Math.abs(rootEleInitWidth - screenWidth) < 60;
409
409
  const getThisWinWidth = rootEleInitWidth;
410
410
  const getThisWinHeight = isRootEleWidthEqScreenWidth ? screenHeight : screenWidth;
411
411
  console.info(
412
412
  '通过rootEleInitWidth对比屏幕宽高确认横竖屏幕方式',
413
413
  'rootEleInitWidth',
414
414
  rootEleInitWidth,
415
415
  'screenWidth',
416
416
  screenWidth,
417
417
  'screenHeight',
418
418
  screenHeight,
419
419
  'isRootEleWidthEqScreenWidth(根元素宽度是否与屏幕本身宽度接近,主要是ios屏幕宽高不变)',
420
420
  isRootEleWidthEqScreenWidth,
421
421
  'getThisWinWidth',
422
422
  getThisWinWidth,
423
423
  'getThisWinHeight',
424
424
  getThisWinHeight,
425
425
  '是否是横屏',
426
426
  getThisWinWidth > getThisWinHeight,
427
427
  '通过window.screen?.orientation?.type方式获取当前pad屏幕是否是横屏,带有landscape为横屏',
428
428
  window.screen?.orientation?.type,
429
429
  );
430
430
  return getThisWinWidth > getThisWinHeight;
431
431
  } else {
432
432
  if (window.screen?.orientation?.type) {
433
433
  console.info(
434
434
  '通过window.screen?.orientation?.type方式获取当前pad屏幕是否是横屏',
435
435
  window.screen?.orientation?.type,
436
436
  '测试低版本通过window?.orientation方式获取当前pad屏幕是否是横屏,角度[90, -90]',
437
437
  window?.orientation,
438
438
  );
439
439
  return /landscape/i.test(window.screen.orientation.type);
440
440
  } else if (window?.orientation) {
441
441
  console.info(
442
442
  '通过window?.orientation方式获取当前pad屏幕是否是横屏,角度[90, -90]',
443
443
  window?.orientation,
444
444
  );
445
445
  return [90, -90].includes(window?.orientation);
446
446
  } else {
447
447
  console.info(
448
448
  '通过window.matchMedia((orientation: landscape))?.matches方式获取当前pad屏幕是否是横屏',
449
449
  window.matchMedia('(orientation: landscape)')?.matches,
450
450
  );
451
451
  return window.matchMedia('(orientation: landscape)')?.matches;
452
452
  }
453
453
  }
454
454
  try {
455
455
  return JSON.parse(decodeURIComponent(getUrlQuery('cookie')));
456
456
  } catch (e) {
457
457
  return {};
458
458
  }
459
459
  isJdAppState && /com\.jd\.(jdlite|jdmobilelite|jdmobileliteske)/.test(userAgent);
460
460
  window.shopGlobalSwitch?.jdAppForNotMainCheckUaList,
461
461
  ? new RegExp(window.shopGlobalSwitch?.jdAppForNotMainCheckUaList.join('|'), 'i')
462
462
  : false;
463
463
  isWxMiniH5View && (/wx91d27dbf599dff74/i.test(userAgent) || urlCookie['wxapp_type'] == '1');
464
464
  'harmony' === (userAgent.split(';')[1] || '').toLowerCase() || /arkweb/i.test(userAgent);
465
465
  versionCompare(jdAppVersionStr, window.PAGE_DATA?.businessData?.jdHarmonyNativeVersion || '') >=
466
466
  0 && isJdAndHarmonyDevice;
467
467
  isJdApp &&
468
468
  ((setJdAppForNotMainUaFilterReg ? setJdAppForNotMainUaFilterReg.test(userAgent) : false) ||
469
469
  (isJdAndHarmonyDevice && !isNewHarmonyShop));
470
470
  window.shopGlobalSwitch?.isH5AndJdShopViewH5ScrollVersion || '';
471
471
  !!document.getElementById('mallType') &&
472
472
  !!document.getElementById('pageInstance_id') &&
473
473
  !!document.getElementById('pageInstance_appId');
474
474
  BUILD_TYPE.PC_CLASSIFY1 === buildType || BUILD_TYPE.PC_CLASSIFY2 === buildType;
475
475
  isTjScence &&
476
476
  isWxMiniH5View &&
477
477
  (urlCookie['wxapp_type'] == '2' ||
478
478
  cookie.get('wxapp_type') == '2' ||
479
479
  parseQueryUrlObj['tjChannel'] === 'jxxcx');
480
480
  isTjScence && isWxMiniH5View && parseQueryUrlObj['sourceApp'] === 'haowujie';
481
481
  isTjScence &&
482
482
  (parseQueryUrlObj['appCode'] === 'ms27cba806' ||
483
483
  document.referrer?.match(/(?:https?:)?\/\/(?:kpl\.m|css|cs)\.jd\.com/i)?.length ||
484
484
  (parseQueryUrlObj['sourceApp'] == 'jsb-m' && parseQueryUrlObj['appCode'] === '') ||
485
485
  parseQueryUrlObj['tjChannel'] === 'tjm');
486
486
  if (isH5AdnJxMini) {
487
487
  return 'jxxcx';
488
488
  } else if (isTJApp) {
489
489
  return 'tjapp';
490
490
  } else if (isTjM) {
491
491
  return 'tjm';
492
492
  } else if (isTjJxM) {
493
493
  return 'jxh5';
494
494
  }
495
495
  return '';
496
496
  START: 'start',
497
497
  MOVE: 'move',
498
498
  END: 'end',
499
499
  x: 0,
500
500
  y: 0,
501
501
  const startX = startPos.x;
502
502
  const startY = startPos.y;
503
503
  const endX = touchEvent.clientX;
504
504
  const endY = touchEvent.clientY;
505
505
  const dy = startY - endY;
506
506
  const dx = endX - startX;
507
507
  let result = 0;
508
508
  if (Math.abs(dx) < 2 && Math.abs(dy) < 2) {
509
509
  return result;
510
510
  }
511
511
  const angle = (Math.atan2(dy, dx) * 180) / Math.PI;
512
512
  if (angle >= -45 && angle < 45) {
513
513
  result = 4;
514
514
  } else if (angle >= 45 && angle < 135) {
515
515
  result = 1;
516
516
  } else if (angle >= -135 && angle < -45) {
517
517
  result = 2;
518
518
  } else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {
519
519
  result = 3;
520
520
  }
521
521
  return result;
522
522
  e: Event,
523
523
  touchType = TouchType.START,
524
524
  stopTouchDocumentScrollState = false,
525
525
  if (isJdApp && e) {
526
526
  const touchEvent = e?.originalEvent?.targetTouches[0] || e?.targetTouches[0];
527
527
  let _touchState = touchType;
528
528
  let _getDirectionState = false;
529
529
  if (touchType === TouchType.START) {
530
530
  StopNativeScrollEventPos.x = touchEvent.clientX;
531
531
  StopNativeScrollEventPos.y = touchEvent.clientY;
532
532
  } else if (touchType === TouchType.MOVE) {
533
533
  _getDirectionState = [1, 2].includes(
534
534
  touchMoveGetSlideDirection(StopNativeScrollEventPos, touchEvent),
535
535
  );
536
536
  if (_getDirectionState) {
537
537
  _touchState = TouchType.END;
538
538
  }
539
539
  console.log(
540
540
  '对外提供阻止横滑方法,当前touchType为move,设定1、2向上或向下方向,当前计算后的滑动是否为纵向',
541
541
  _getDirectionState,
542
542
  );
543
543
  } else if (touchType === TouchType.END) {
544
544
  StopNativeScrollEventPos.x = 0;
545
545
  StopNativeScrollEventPos.y = 0;
546
546
  }
547
547
  isIosDevice
548
548
  ? iosDeviceStopNativeScrollEvent(e, _touchState, stopTouchDocumentScrollState)
549
549
  : androidDeviceStopNativeScrollEvent(_touchState, stopTouchDocumentScrollState);
550
550
  if (
551
551
  !isAppHomeForMarketPage &&
552
552
  stopTouchDocumentScrollState &&
553
553
  _touchState === TouchType.START
554
554
  ) {
555
555
  rootEleNode && rootEleNode.classList.add('over-hidden');
556
556
  }
557
557
  if (_touchState === TouchType.MOVE && _getDirectionState) {
558
558
  rootEleNode &&
559
559
  rootEleNode.classList.contains('over-hidden') &&
560
560
  rootEleNode.classList.remove('over-hidden');
561
561
  } else if (_touchState === TouchType.END) {
562
562
  setTimeout(
563
563
  () => {
564
564
  rootEleNode &&
565
565
  rootEleNode.classList.contains('over-hidden') &&
566
566
  rootEleNode.classList.remove('over-hidden');
567
567
  },
568
568
  isAppHomeForMarketPage || _getDirectionState ? 0 : 200,
569
569
  );
570
570
  }
571
571
  }
572
572
  touchType = TouchType.START,
573
573
  stopTouchDocumentScrollState = false,
574
574
  isJdApp &&
575
575
  touchType !== TouchType.MOVE &&
576
576
  isAndroidDevice &&
577
577
  window?.JdAndroid &&
578
578
  window?.JdAndroid?.requestEvent &&
579
579
  window.JdAndroid.requestEvent(touchType === TouchType.START);
580
580
  console.log(
581
581
  '对外提供阻止安卓横滑方法,true-禁止外部事件H5可滑动,false-外部拦截h5事件,当前touchType为',
582
582
  touchType,
583
583
  '当前非move触发requestEvent状态为',
584
584
  touchType === TouchType.START,
585
585
  '当前stopTouchDocumentScrollState为',
586
586
  stopTouchDocumentScrollState,
587
587
  );
588
588
  e,
589
589
  touchType = TouchType.START,
590
590
  stopTouchDocumentScrollState = false,
591
591
  e && e.stopPropagation();
592
592
  console.log(
593
593
  '对外提供阻止ios横滑方法,当前touchType为',
594
594
  touchType,
595
595
  '当前stopTouchDocumentScrollState为',
596
596
  stopTouchDocumentScrollState,
597
597
  );
598
598
  window?.webkit?.messageHandlers?.MobileNavi?.postMessage?.({
599
599
  method: 'callRouterModuleWithParams',
600
600
  params: {
601
601
  routerURL: 'router://JDShopModule/processShoph5SlideState',
602
602
  routerParam: {
603
603
  slideDirection: 'horizontal',
604
604
  state: touchType,
605
605
  },
606
606
  callBackId: new Date().getTime(),
607
607
  },
608
608
  });
609
609
  if (isH5AndJdShopView) {
610
610
  return CHANNEL_TYPE[currentChannel] || CHANNEL_TYPE[JDShopViewBusinessPathType.HOME];
611
611
  }
612
612
  return null;
613
613
  isH5 &&
614
614
  isJdApp &&
615
615
  [
616
616
  '/app/home',
617
617
  '/app/homeV2',
618
618
  '/app/classify',
619
619
  '/app/classifyV2',
620
620
  '/member/shopcard',
621
621
  '/favorite/home',
622
622
  ].includes(urlPathname);
623
623
  isH5 && isJdApp && !['/app/home', '/app/homeV2'].includes(urlPathname);
624
624
  ['/app/home', '/app/homeV2'].includes(urlPathname) &&
625
625
  menuObj.tabActiveType != SECTION_HOME_TAB_TYPE.HOME_PROMOTION &&
626
626
  menuObj.tabActiveType != SECTION_HOME_TAB_TYPE.HOME_MEMBER;
627
627
  isAppHomePage && parseQueryUrlObj['source'] === 'app-marketing';
628
628
  isH5 &&
629
629
  isAppHomePage &&
630
630
  versionCompare(jdAppVersion?.full ? jdAppVersion.full : '', isH5AndJdShopViewH5ScrollVersion) >=
631
631
  0;
632
632
  return isJdApp ? versionCompare(nowVersion, compareVersion) : -2;
633
633
  try {
634
634
  await getNewDraSdkReadyPromise();
635
635
  const draBurypointFlag = name ?? DraBuryPointFlags.BUSINESS;
636
636
  const commonObj = {
637
637
  shopId: `${global.info.queryInfo.shopId || ''}`,
638
638
  venderId: `${global.info.queryInfo.venderId || ''}`,
639
639
  taroRenderVersion: window?.taroRenderVersion,
640
640
  environmentType: getEnvironmentType(),
641
641
  pageType: getPageType(),
642
642
  };
643
643
  try {
644
644
  window.dra.sendCustomEvent(
645
645
  {
646
646
  name: draBurypointFlag,
647
647
  metrics: {
648
648
  timeStamp: Date.now(),
649
649
  ...customMetricsObj,
650
650
  },
651
651
  context: {
652
652
  ...commonObj,
653
653
  ...customContextObj,
654
654
  },
655
655
  },
656
656
  true,
657
657
  );
658
658
  } catch (e) {
659
659
  console.info(
660
660
  '当前新版烛龙sdk上报异常, 原始数据为',
661
661
  JSON.stringify({ ...customContextObj, ...customMetricsObj }),
662
662
  'e',
663
663
  e,
664
664
  );
665
665
  }
666
666
  } catch (e) {
667
667
  console.info(
668
668
  '当前页面新版烛龙sdk加载异常,无法进行异常上报, 原始数据为',
669
669
  JSON.stringify({ ...customContextObj, ...customMetricsObj }),
670
670
  'e',
671
671
  e,
672
672
  );
673
673
  }
674
674
  try {
675
675
  await getNewDraSdkReadyPromise();
676
676
  const commonObj = {
677
677
  shopId: `${global.info.queryInfo?.shopId || ''}`,
678
678
  venderId: `${global.info.queryInfo?.venderId || ''}`,
679
679
  taroRenderVersion: window?.taroRenderVersion,
680
680
  environmentType: getEnvironmentType(),
681
681
  pageType: getPageType(),
682
682
  url: encodeURIComponent(window?.location?.href),
683
683
  };
684
684
  try {
685
685
  window.dra.sendCustomLogEvent({
686
686
  level,
687
687
  content: logContent || '日志上报',
688
688
  extra: JSON.stringify(commonObj),
689
689
  timeStamp: Date.now(),
690
690
  });
691
691
  } catch (e) {
692
692
  console.info('日志等级', level, '当前新版烛龙sdk上报异常, 原始数据为', logContent, 'e', e);
693
693
  }
694
694
  } catch (e2) {
695
695
  console.info('日志等级', level, '当前新版烛龙sdk上报异常, 原始数据为', logContent, 'e', e2);
696
696
  }
697
697
  draCustomReport(customContextObj, customMetricsObj, DraBuryPointFlags.REMOTE);
698
698
  draCustomReport(customContextObj, customMetricsObj, DraBuryPointFlags.INTERFACE);
699
699
  draCustomReport(customContextObj, customMetricsObj, DraBuryPointFlags.BUSINESS);
700
700
  const deviceRatio = window?.devicePixelRatio ?? 2;
701
701
  if (isJdAndAndroidDevice && typeof displayObj === 'object') {
702
702
  Object.keys(displayObj).forEach((key) => {
703
703
  if (key === 'nativeHeaderHeight') {
704
704
  displayObj[key] = Math.ceil(displayObj[key] / (deviceRatio * deviceRatio) - 2);
705
705
  } else {
706
706
  displayObj[key] = Math.ceil(displayObj[key] / deviceRatio);
707
707
  }
708
708
  });
709
709
  } else if (isJdAndHarmonyDevice && isNewHarmonyShop && typeof displayObj === 'object') {
710
710
  if (displayObj['bottomBarHeight'] && typeof displayObj['bottomBarHeight'] === 'number') {
711
711
  displayObj['bottomBarHeight'] = Math.ceil(displayObj['bottomBarHeight'] / deviceRatio);
712
712
  }
713
713
  }
714
714
  return displayObj;
715
715
  isJdAndAndroidDevice && /TBS\/\d+/.test(window?.navigator?.userAgent);
716
716
  rootEleNode &&
717
717
  !rootEleNode.classList.contains('d-shop-lang-for-en') &&
718
718
  rootEleNode.classList.add('d-shop-lang-for-en');
719
719
  rootEleNode &&
720
720
  !rootEleNode.classList.contains('d-shop-lang-for-hk') &&
721
721
  rootEleNode.classList.add('d-shop-lang-for-hk');