@conecli/cone-render 0.10.1-shop-beta.5 → 0.10.1-shop-beta.7

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 (80) hide show
  1. package/dist/api/index.ts +1 -1
  2. package/dist/common/const.ts +1 -1
  3. package/dist/common/index.h5.ts +1 -1
  4. package/dist/common/index.jd.ts +1 -1
  5. package/dist/common/index.ts +1 -1
  6. package/dist/common/index.weapp.ts +1 -1
  7. package/dist/common/pageType.ts +1 -1
  8. package/dist/common/sgmCustomCode.ts +1 -1
  9. package/dist/common/token/token.jd.ts +1 -1
  10. package/dist/components/base/CommonFloorHead/index.module.scss +126 -111
  11. package/dist/components/base/CommonFloorHead/index.tsx +1 -1
  12. package/dist/components/base/CountDown/index.module.scss +49 -44
  13. package/dist/components/base/CountDown/index.tsx +1 -1
  14. package/dist/components/base/CustomScrollView/index-back.tsx +1 -0
  15. package/dist/components/base/CustomScrollView/index.tsx +1 -1
  16. package/dist/components/base/CustomVideo/common.ts +1 -0
  17. package/dist/components/base/CustomVideo/index.tsx +1 -1
  18. package/dist/components/base/Dialog/index.module.scss +11 -0
  19. package/dist/components/base/ExposureSmart/index.h5.module.scss +12 -2
  20. package/dist/components/base/ExposureSmart/index.h5.tsx +1 -1
  21. package/dist/components/base/ExposureSmart/reporter.tsx +1 -1
  22. package/dist/components/base/InViewRender/index.tsx +1 -1
  23. package/dist/components/base/ItemViewExposureSmart/index.module.scss +2 -2
  24. package/dist/components/base/ItemViewExposureSmart/index.tsx +1 -1
  25. package/dist/components/base/LazyLoadImage/index.h5.module.scss +8 -4
  26. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
  27. package/dist/components/base/Price/Base/index.tsx +1 -1
  28. package/dist/components/base/Price/Double/index.module.scss +8 -0
  29. package/dist/components/base/Price/Double/index.tsx +1 -1
  30. package/dist/components/floorItem.tsx +1 -1
  31. package/dist/components/floorItem.weapp.tsx +1 -1
  32. package/dist/components/isv/Floor/index.tsx +1 -1
  33. package/dist/interface/common.ts +1 -1
  34. package/dist/interface/component.ts +1 -1
  35. package/dist/interface/jumpEventReport.ts +1 -1
  36. package/dist/interface/service.ts +1 -1
  37. package/dist/jumpEventReport/base.ts +1 -1
  38. package/dist/jumpEventReport/const.ts +1 -1
  39. package/dist/jumpEventReport/index.jd.ts +1 -1
  40. package/dist/jumpEventReport/index.weapp.ts +1 -1
  41. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  42. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  43. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  44. package/dist/jumpEventReport/web/report.ts +1 -1
  45. package/dist/jumpEventReport/web.base.ts +1 -1
  46. package/dist/jumpEventReport/web.jd.ts +1 -1
  47. package/dist/jumpEventReport/web.jdb.ts +1 -1
  48. package/dist/jumpEventReport/web.jdjch.ts +1 -1
  49. package/dist/jumpEventReport/web.jxwxapp.ts +1 -1
  50. package/dist/jumpEventReport/web.pc.ts +1 -1
  51. package/dist/jumpEventReport/web.tjapp.ts +1 -1
  52. package/dist/jumpEventReport/web.tjm.ts +1 -1
  53. package/dist/jumpEventReport/web.wxapp.ts +1 -1
  54. package/dist/libs/taroAppReport.js +2 -2
  55. package/dist/modules/ContainerFloorList/index.h5.module.scss +66 -53
  56. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  57. package/dist/modules/ContainerFloorList/index.tsx +1 -1
  58. package/dist/open/api/shopMember.ts +1 -1
  59. package/dist/open/api/util.ts +1 -1
  60. package/dist/sass/app.h5.scss +273 -224
  61. package/dist/sass/base.scss +142 -141
  62. package/dist/service/fetchGateway.ts +1 -1
  63. package/dist/service/fetchGateway.weapp.ts +1 -0
  64. package/dist/service/http/colorSign.ts +1 -1
  65. package/dist/service/http/const.ts +1 -1
  66. package/dist/service/http/h5Http.ts +1 -0
  67. package/dist/service/http/index.h5.ts +1 -0
  68. package/dist/service/requestServer.h5.ts +1 -0
  69. package/dist/service/requestServer.ts +1 -1
  70. package/dist/service/requestServer.weapp.ts +1 -0
  71. package/dist/utils/connectNativeJsBridge.ts +1 -1
  72. package/dist/utils/h5Utils.ts +1 -1
  73. package/dist/utils/index.h5.ts +1 -1
  74. package/dist/utils/index.ts +1 -1
  75. package/dist/utils/index.weapp.ts +1 -1
  76. package/dist/utils/jumpExtMapUtil.js +1 -0
  77. package/dist/utils/sColor.js +1 -0
  78. package/dist/utils/utils.ts +1 -1
  79. package/package.json +159 -135
  80. package/dist/utils/memberFormatUtils.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
  parseQueryUrlObj,
21
20
  if (window?.__sgm__) {
22
21
  resolve(true)
23
22
  } else {
24
23
  if (isSgmReadyError) {
25
24
  console.log("当前sgm初始化失败")
26
25
  reject(false)
27
26
  } else {
28
27
  ready('__sgm__', 2000).then(() => {
29
28
  isSgmReadyError = false
30
29
  console.log("当前sgm初始化成功")
31
30
  resolve(true)
32
31
  }).catch(() => {
33
32
  isSgmReadyError = true
34
33
  console.log("当前sgm初始化失败")
35
34
  reject(false)
36
35
  })
37
36
  }
38
37
  }
39
38
  try {
40
39
  return JSON.parse(decodeURIComponent(getUrlQuery('cookie')))
41
40
  } catch (e) {
42
41
  return {}
43
42
  }
44
43
  isWxMiniH5View && urlCookie['wxapp_type'] == '1'
45
44
  if (isH5AdnJxMini) {
46
45
  return 'jxxcx'
47
46
  } else if (isTJApp) {
48
47
  return 'tjapp'
49
48
  } else if (isTjM) {
50
49
  return 'tjm'
51
50
  } else if (isTjJxM) {
52
51
  return 'jxh5'
53
52
  }
54
53
  return ''
55
54
  START: 'start',
56
55
  MOVE: 'move',
57
56
  END: 'end',
58
57
  x: 0,
59
58
  y: 0
60
59
  const startX = startPos.x
61
60
  const startY = startPos.y
62
61
  const endX = touchEvent.clientX
63
62
  const endY = touchEvent.clientY
64
63
  const dy = startY - endY
65
64
  const dx = endX - startX
66
65
  let result = 0
67
66
  if (Math.abs(dx) < 2 && Math.abs(dy) < 2) {
68
67
  return result
69
68
  }
70
69
  const angle = Math.atan2(dy,dx) * 180 / Math.PI
71
70
  if (angle >= -45 && angle < 45) {
72
71
  result = 4
73
72
  } else if (angle >= 45 && angle < 135) {
74
73
  result = 1
75
74
  } else if (angle >= -135 && angle < -45) {
76
75
  result = 2
77
76
  } else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {
78
77
  result = 3
79
78
  }
80
79
  return result
81
80
  if (isJdApp && e) {
82
81
  const touchEvent =
83
82
  e?.originalEvent?.targetTouches[0] || e?.targetTouches[0]
84
83
  let _touchState = touchType
85
84
  let _getDirectionState = false
86
85
  if(touchType === TouchType.START){
87
86
  StopNativeScrollEventPos.x = touchEvent.clientX
88
87
  StopNativeScrollEventPos.y = touchEvent.clientY
89
88
  }else if(touchType === TouchType.MOVE){
90
89
  _getDirectionState = [1,2].includes(touchMoveGetSlideDirection(StopNativeScrollEventPos,touchEvent))
91
90
  if(_getDirectionState){
92
91
  _touchState = TouchType.END
93
92
  }
94
93
  console.log("对外提供阻止横滑方法,当前touchType为move,设定1、2向上或向下方向,当前计算后的滑动是否为纵向", _getDirectionState)
95
94
  }else if(touchType === TouchType.END){
96
95
  StopNativeScrollEventPos.x = 0
97
96
  StopNativeScrollEventPos.y = 0
98
97
  }
99
98
  isIosDevice
100
99
  ? iosDeviceStopNativeScrollEvent(e, _touchState, stopTouchDocumentScrollState)
101
100
  : androidDeviceStopNativeScrollEvent(_touchState, stopTouchDocumentScrollState)
102
101
  if(!isAppHomeForMarketPage && stopTouchDocumentScrollState && _touchState === TouchType.START){
103
102
  rootEleNode && rootEleNode.classList.add('over-hidden')
104
103
  }
105
104
  if(_touchState === TouchType.MOVE && _getDirectionState){
106
105
  rootEleNode && rootEleNode.classList.contains('over-hidden') && rootEleNode.classList.remove('over-hidden')
107
106
  }else if (_touchState === TouchType.END) {
108
107
  setTimeout(() => {
109
108
  rootEleNode && rootEleNode.classList.contains('over-hidden') && rootEleNode.classList.remove('over-hidden')
110
109
  },isAppHomeForMarketPage || _getDirectionState ? 0 : 200)
111
110
  }
112
111
  }
113
112
  isJdApp &&
114
113
  touchType !== TouchType.MOVE &&
115
114
  isAndroidDevice &&
116
115
  window?.JdAndroid &&
117
116
  window?.JdAndroid.requestEvent(touchType === TouchType.START)
118
117
  console.log("对外提供阻止安卓横滑方法,true-禁止外部事件H5可滑动,false-外部拦截h5事件,当前touchType为",touchType,"当前非move触发requestEvent状态为",touchType === TouchType.START,"当前stopTouchDocumentScrollState为",stopTouchDocumentScrollState)
119
118
  e && e.stopPropagation();
120
119
  console.log("对外提供阻止ios横滑方法,当前touchType为", touchType, "当前stopTouchDocumentScrollState为",stopTouchDocumentScrollState)
121
120
  window?.webkit?.messageHandlers?.MobileNavi?.postMessage?.({
122
121
  method: 'callRouterModuleWithParams',
123
122
  params: {
124
123
  routerURL: 'router://JDShopModule/processShoph5SlideState',
125
124
  routerParam: {
126
125
  slideDirection: 'horizontal',
127
126
  state: touchType,
128
127
  },
129
128
  callBackId: new Date().getTime(),
130
129
  },
131
130
  })
132
131
  if (isH5AndJdShopView) {
133
132
  return (
134
133
  CHANNEL_TYPE[currentChannel] ||
135
134
  CHANNEL_TYPE[JDShopViewBusinessPathType.HOME]
136
135
  )
137
136
  }
138
137
  return null
139
138
  isH5 && isJdApp && ['/app/home', '/app/classify', '/member/shopcard','/favorite/list', '/favorite/home'].includes(urlPathname)
140
139
  isH5 && isJdApp && !['/app/home'].includes(urlPathname)
141
140
  return isJdApp ? versionCompare(nowVersion, compareVersion) : -2
142
141
  getSgmReadyPromise().then(() => {
143
142
  if (
144
143
  customObj.hasOwnProperty('code') &&
145
144
  customObj.code.indexOf(NO_ENVIRONMENT_AND_PAGE_TYPE_FLAG) !== -1
146
145
  ) {
147
146
  const originCode = customObj.code.substring(
148
147
  NO_ENVIRONMENT_AND_PAGE_TYPE_FLAG.length,
149
148
  customObj.code.length,
150
149
  )
151
150
  customObj['code'] = getSgmCustomCode(handleSgmCodeTaroVersion(originCode))
152
151
  }
153
152
  const getCustomObj = {
154
153
  type: 1,
155
154
  code: 'all',
156
155
  cost1: 1,
157
156
  ...customObj
158
157
  }
159
158
  try {
160
159
  window.__sgm__.custom(getCustomObj, '9HwAEg@fTtWBB3EnwA5VgLT')
161
160
  } catch (e) {
162
161
  console.log("当前sgm上报异常, 原始数据为",JSON.stringify(customObj))
163
162
  }
164
163
  }).catch(() => {
165
164
  console.error("当前页面sgm加载异常,无法进行异常上报, 原始数据为",JSON.stringify(customObj))
166
165
  })
167
166
  if(isJdAndAndroidDevice && typeof displayObj === 'object'){
168
167
  const deviceRatio = window?.devicePixelRatio
169
168
  Object.keys(displayObj).forEach(key => {
170
169
  if(key === 'nativeHeaderHeight'){
171
170
  displayObj[key] = Math.ceil(displayObj[key] / (deviceRatio * deviceRatio) - 2)
172
171
  }else {
173
172
  displayObj[key] = Math.ceil(displayObj[key] / deviceRatio)
174
173
  }
175
174
  })
176
175
  }
177
176
  return displayObj
177
+ import {
178
178
  isApp,
179
179
  isIOS,
180
180
  getAppVersion,
181
181
  version,
182
182
  getUUID,
183
183
  getUrlQuery,
184
184
  assign,
185
185
  isString,
186
186
  isObject,
187
187
  serialize,
188
188
  isAndroid,
189
189
  versionCompare,
190
190
  isIPad,
191
191
  isTablet,
192
192
  CHANNEL_TYPE,
193
193
  JDShopViewBusinessPathType,
194
194
  SECTION_HOME_TAB_NAME_TYPE,
195
195
  SECTION_HOME_TAB_TYPE,
196
196
  DraBuryPointFlags,
197
197
  MPAAS_CONFIG_APP_VERSION,
198
198
  new Promise((resolve, reject) => {
199
199
  if (window?.__sgm__) {
200
200
  resolve(true);
201
201
  } else {
202
202
  if (isSgmReadyError) {
203
203
  console.log('当前sgm初始化失败');
204
204
  reject(false);
205
205
  } else {
206
206
  ready('__sgm__', 2000)
207
207
  .then(() => {
208
208
  isSgmReadyError = false;
209
209
  console.log('当前sgm初始化成功');
210
210
  resolve(true);
211
211
  })
212
212
  .catch(() => {
213
213
  isSgmReadyError = true;
214
214
  console.log('当前sgm初始化失败');
215
215
  reject(false);
216
216
  });
217
217
  }
218
218
  }
219
219
  });
220
220
  console.log(message);
221
221
  reject(new Error(message));
222
222
  return ready('dra', 2000)
223
223
  .then(() => {
224
224
  isNewDraSdkReadyError = false;
225
225
  console.log('当前新版烛龙sdk初始化成功');
226
226
  return true;
227
227
  })
228
228
  .catch(() => {
229
229
  isNewDraSdkReadyError = true;
230
230
  throw new Error('当前新版烛龙sdk初始化失败');
231
231
  });
232
232
  return new Promise((resolve, reject) => {
233
233
  if (window?.dra) {
234
234
  resolve(true);
235
235
  } else if (isNewDraSdkReadyError) {
236
236
  logAndReject('当前新版烛龙sdk初始化失败', reject);
237
237
  } else {
238
238
  initializeDraSdk()
239
239
  .then(resolve)
240
240
  .catch((error) => logAndReject(error.message, reject));
241
241
  }
242
242
  });
243
243
  if (window.screen?.orientation?.type) {
244
244
  console.info(
245
245
  '通过window.screen?.orientation?.type方式获取当前pad屏幕是否是横屏',
246
246
  window.screen?.orientation?.type,
247
247
  '测试低版本通过window?.orientation方式获取当前pad屏幕是否是横屏,角度[90, -90]',
248
248
  window?.orientation,
249
249
  );
250
250
  return /landscape/i.test(window.screen.orientation.type);
251
251
  } else if (window?.orientation) {
252
252
  console.info(
253
253
  '通过window?.orientation方式获取当前pad屏幕是否是横屏,角度[90, -90]',
254
254
  window?.orientation,
255
255
  );
256
256
  return [90, -90].includes(window?.orientation);
257
257
  } else {
258
258
  console.info(
259
259
  '通过window.matchMedia((orientation: landscape))?.matches方式获取当前pad屏幕是否是横屏',
260
260
  window.matchMedia('(orientation: landscape)')?.matches,
261
261
  );
262
262
  return window.matchMedia('(orientation: landscape)')?.matches;
263
263
  }
264
264
  try {
265
265
  return JSON.parse(decodeURIComponent(getUrlQuery('cookie')));
266
266
  } catch (e) {
267
267
  return {};
268
268
  }
269
269
  window.shopGlobalSwitch?.isH5AndJdShopViewH5ScrollVersion || '';
270
270
  !!document.getElementById('mallType') &&
271
271
  !!document.getElementById('pageInstance_id') &&
272
272
  !!document.getElementById('pageInstance_appId');
273
273
  isTjScence &&
274
274
  isWxMiniH5View &&
275
275
  (urlCookie['wxapp_type'] == '2' ||
276
276
  cookie.get('wxapp_type') == '2' ||
277
277
  parseQueryUrlObj['tjChannel'] === 'jxxcx');
278
278
  isTjScence && isWxMiniH5View && parseQueryUrlObj['sourceApp'] === 'haowujie';
279
279
  isTjScence &&
280
280
  (parseQueryUrlObj['appCode'] === 'ms27cba806' ||
281
281
  document.referrer?.match(/(?:https?:)?\/\/(?:kpl\.m|css|cs)\.jd\.com/i)?.length ||
282
282
  (parseQueryUrlObj['sourceApp'] == 'jsb-m' && parseQueryUrlObj['appCode'] === '') ||
283
283
  parseQueryUrlObj['tjChannel'] === 'tjm');
284
284
  if (isH5AdnJxMini) {
285
285
  return 'jxxcx';
286
286
  } else if (isTJApp) {
287
287
  return 'tjapp';
288
288
  } else if (isTjM) {
289
289
  return 'tjm';
290
290
  } else if (isTjJxM) {
291
291
  return 'jxh5';
292
292
  }
293
293
  return '';
294
294
  START: 'start',
295
295
  MOVE: 'move',
296
296
  END: 'end',
297
297
  x: 0,
298
298
  y: 0,
299
299
  const startX = startPos.x;
300
300
  const startY = startPos.y;
301
301
  const endX = touchEvent.clientX;
302
302
  const endY = touchEvent.clientY;
303
303
  const dy = startY - endY;
304
304
  const dx = endX - startX;
305
305
  let result = 0;
306
306
  if (Math.abs(dx) < 2 && Math.abs(dy) < 2) {
307
307
  return result;
308
308
  }
309
309
  const angle = (Math.atan2(dy, dx) * 180) / Math.PI;
310
310
  if (angle >= -45 && angle < 45) {
311
311
  result = 4;
312
312
  } else if (angle >= 45 && angle < 135) {
313
313
  result = 1;
314
314
  } else if (angle >= -135 && angle < -45) {
315
315
  result = 2;
316
316
  } else if ((angle >= 135 && angle <= 180) || (angle >= -180 && angle < -135)) {
317
317
  result = 3;
318
318
  }
319
319
  return result;
320
320
  e: Event,
321
321
  touchType = TouchType.START,
322
322
  stopTouchDocumentScrollState = false,
323
323
  if (isJdApp && e) {
324
324
  const touchEvent = e?.originalEvent?.targetTouches[0] || e?.targetTouches[0];
325
325
  let _touchState = touchType;
326
326
  let _getDirectionState = false;
327
327
  if (touchType === TouchType.START) {
328
328
  StopNativeScrollEventPos.x = touchEvent.clientX;
329
329
  StopNativeScrollEventPos.y = touchEvent.clientY;
330
330
  } else if (touchType === TouchType.MOVE) {
331
331
  _getDirectionState = [1, 2].includes(
332
332
  touchMoveGetSlideDirection(StopNativeScrollEventPos, touchEvent),
333
333
  );
334
334
  if (_getDirectionState) {
335
335
  _touchState = TouchType.END;
336
336
  }
337
337
  console.log(
338
338
  '对外提供阻止横滑方法,当前touchType为move,设定1、2向上或向下方向,当前计算后的滑动是否为纵向',
339
339
  _getDirectionState,
340
340
  );
341
341
  } else if (touchType === TouchType.END) {
342
342
  StopNativeScrollEventPos.x = 0;
343
343
  StopNativeScrollEventPos.y = 0;
344
344
  }
345
345
  isIosDevice
346
346
  ? iosDeviceStopNativeScrollEvent(e, _touchState, stopTouchDocumentScrollState)
347
347
  : androidDeviceStopNativeScrollEvent(_touchState, stopTouchDocumentScrollState);
348
348
  if (
349
349
  !isAppHomeForMarketPage &&
350
350
  stopTouchDocumentScrollState &&
351
351
  _touchState === TouchType.START
352
352
  ) {
353
353
  rootEleNode && rootEleNode.classList.add('over-hidden');
354
354
  }
355
355
  if (_touchState === TouchType.MOVE && _getDirectionState) {
356
356
  rootEleNode &&
357
357
  rootEleNode.classList.contains('over-hidden') &&
358
358
  rootEleNode.classList.remove('over-hidden');
359
359
  } else if (_touchState === TouchType.END) {
360
360
  setTimeout(
361
361
  () => {
362
362
  rootEleNode &&
363
363
  rootEleNode.classList.contains('over-hidden') &&
364
364
  rootEleNode.classList.remove('over-hidden');
365
365
  },
366
366
  isAppHomeForMarketPage || _getDirectionState ? 0 : 200,
367
367
  );
368
368
  }
369
369
  }
370
370
  touchType = TouchType.START,
371
371
  stopTouchDocumentScrollState = false,
372
372
  isJdApp &&
373
373
  touchType !== TouchType.MOVE &&
374
374
  isAndroidDevice &&
375
375
  window?.JdAndroid &&
376
376
  window?.JdAndroid?.requestEvent &&
377
377
  window.JdAndroid.requestEvent(touchType === TouchType.START);
378
378
  console.log(
379
379
  '对外提供阻止安卓横滑方法,true-禁止外部事件H5可滑动,false-外部拦截h5事件,当前touchType为',
380
380
  touchType,
381
381
  '当前非move触发requestEvent状态为',
382
382
  touchType === TouchType.START,
383
383
  '当前stopTouchDocumentScrollState为',
384
384
  stopTouchDocumentScrollState,
385
385
  );
386
386
  e,
387
387
  touchType = TouchType.START,
388
388
  stopTouchDocumentScrollState = false,
389
389
  e && e.stopPropagation();
390
390
  console.log(
391
391
  '对外提供阻止ios横滑方法,当前touchType为',
392
392
  touchType,
393
393
  '当前stopTouchDocumentScrollState为',
394
394
  stopTouchDocumentScrollState,
395
395
  );
396
396
  window?.webkit?.messageHandlers?.MobileNavi?.postMessage?.({
397
397
  method: 'callRouterModuleWithParams',
398
398
  params: {
399
399
  routerURL: 'router://JDShopModule/processShoph5SlideState',
400
400
  routerParam: {
401
401
  slideDirection: 'horizontal',
402
402
  state: touchType,
403
403
  },
404
404
  callBackId: new Date().getTime(),
405
405
  },
406
406
  });
407
407
  if (isH5AndJdShopView) {
408
408
  return CHANNEL_TYPE[currentChannel] || CHANNEL_TYPE[JDShopViewBusinessPathType.HOME];
409
409
  }
410
410
  return null;
411
411
  isH5 &&
412
412
  isJdApp &&
413
413
  ['/app/home', '/app/classify', '/member/shopcard', '/favorite/home'].includes(urlPathname);
414
414
  isH5 && isJdApp && !['/app/home'].includes(urlPathname);
415
415
  ['/app/home'].includes(urlPathname) &&
416
416
  menuObj.tabActiveType != SECTION_HOME_TAB_TYPE.HOME_PROMOTION &&
417
417
  menuObj.tabActiveType != SECTION_HOME_TAB_TYPE.HOME_MEMBER;
418
418
  isAppHomePage && parseQueryUrlObj['source'] === 'app-marketing';
419
419
  isH5 &&
420
420
  isAppHomePage &&
421
421
  versionCompare(jdAppVersion?.full ? jdAppVersion.full : '', isH5AndJdShopViewH5ScrollVersion) >=
422
422
  0;
423
423
  return isJdApp ? versionCompare(nowVersion, compareVersion) : -2;
424
424
  getSgmReadyPromise()
425
425
  .then(() => {
426
426
  if (
427
427
  customObj.hasOwnProperty('code') &&
428
428
  customObj.code.indexOf(NO_ENVIRONMENT_AND_PAGE_TYPE_FLAG) !== -1
429
429
  ) {
430
430
  const originCode = customObj.code.substring(
431
431
  NO_ENVIRONMENT_AND_PAGE_TYPE_FLAG.length,
432
432
  customObj.code.length,
433
433
  );
434
434
  customObj['code'] = getSgmCustomCode(handleSgmCodeTaroVersion(originCode));
435
435
  }
436
436
  const getCustomObj = {
437
437
  type: 1,
438
438
  code: 'all',
439
439
  cost1: 1,
440
440
  ...customObj,
441
441
  };
442
442
  try {
443
443
  window.__sgm__.custom(getCustomObj, '9HwAEg@fTtWBB3EnwA5VgLT');
444
444
  } catch (e) {
445
445
  console.log('当前sgm上报异常, 原始数据为', JSON.stringify(customObj));
446
446
  }
447
447
  })
448
448
  .catch(() => {
449
449
  console.error('当前页面sgm加载异常,无法进行异常上报, 原始数据为', JSON.stringify(customObj));
450
450
  });
451
451
  try {
452
452
  await getNewDraSdkReadyPromise();
453
453
  const draBurypointFlag = name ?? DraBuryPointFlags.BUSINESS;
454
454
  const commonObj = {
455
455
  shopId: `${global.info.queryInfo.shopId || ''}`,
456
456
  venderId: `${global.info.queryInfo.venderId || ''}`,
457
457
  taroRenderVersion: window?.taroRenderVersion,
458
458
  environmentType: getEnvironmentType(),
459
459
  pageType: getPageType(),
460
460
  };
461
461
  try {
462
462
  window.dra.sendCustomEvent(
463
463
  {
464
464
  name: draBurypointFlag,
465
465
  metrics: {
466
466
  timeStamp: Date.now(),
467
467
  ...customMetricsObj,
468
468
  },
469
469
  context: {
470
470
  ...commonObj,
471
471
  ...customContextObj,
472
472
  },
473
473
  },
474
474
  true,
475
475
  );
476
476
  } catch (e) {
477
477
  console.error(
478
478
  '当前新版烛龙sdk上报异常, 原始数据为',
479
479
  JSON.stringify({ ...customContextObj, ...customMetricsObj }),
480
480
  'e',
481
481
  e,
482
482
  );
483
483
  }
484
484
  } catch (e) {
485
485
  console.error(
486
486
  '当前页面新版烛龙sdk加载异常,无法进行异常上报, 原始数据为',
487
487
  JSON.stringify({ ...customContextObj, ...customMetricsObj }),
488
488
  'e',
489
489
  e,
490
490
  );
491
491
  }
492
492
  draCustomReport(customContextObj, customMetricsObj, DraBuryPointFlags.REMOTE);
493
493
  draCustomReport(customContextObj, customMetricsObj, DraBuryPointFlags.INTERFACE);
494
494
  draCustomReport(customContextObj, customMetricsObj, DraBuryPointFlags.BUSINESS);
495
495
  if (isJdAndAndroidDevice && typeof displayObj === 'object') {
496
496
  const deviceRatio = window?.devicePixelRatio ?? 2;
497
497
  Object.keys(displayObj).forEach((key) => {
498
498
  if (key === 'nativeHeaderHeight') {
499
499
  displayObj[key] = Math.ceil(displayObj[key] / (deviceRatio * deviceRatio) - 2);
500
500
  } else {
501
501
  displayObj[key] = Math.ceil(displayObj[key] / deviceRatio);
502
502
  }
503
503
  });
504
504
  }
505
505
  return displayObj;
506
506
  isJdAndAndroidDevice && /TBS\/\d+/.test(window?.navigator?.userAgent);
507
507
  rootEleNode &&
508
508
  !rootEleNode.classList.contains('d-shop-lang-for-en') &&
509
509
  rootEleNode.classList.add('d-shop-lang-for-en');
510
510
  customContextObj = {},
511
511
  customMetricsObj = {},
512
512
  name?,
513
513
  try {
514
514
  const draBurypointFlag = name ?? DraBuryPointFlags.DECOSDM;
515
515
  try {
516
516
  let dra = null;
517
517
  const iframe = window?.top?.document?.getElementsByTagName('iframe')[0];
518
518
  if (iframe && iframe.contentWindow) {
519
519
  dra = iframe.contentWindow?.dra;
520
520
  }
521
521
  if (window.dra) {
522
522
  dra = window.dra;
523
523
  }
524
524
  dra &&
525
525
  dra.sendCustomEvent(
526
526
  {
527
527
  name: draBurypointFlag,
528
528
  metrics: {
529
529
  timeStamp: Date.now(),
530
530
  },
531
531
  context: {
532
532
  ...customContextObj,
533
533
  },
534
534
  },
535
535
  true,
536
536
  );
537
537
  } catch (e) {
538
538
  console.error(
539
539
  '当前新版烛龙sdk上报异常, 原始数据为',
540
540
  JSON.stringify({ ...customContextObj }),
541
541
  'e',
542
542
  e,
543
543
  );
544
544
  }
545
545
  } catch (e) {
546
546
  console.error(
547
547
  '当前页面新版烛龙sdk加载异常,无法进行异常上报, 原始数据为',
548
548
  JSON.stringify({ ...customContextObj }),
549
549
  'e',
550
550
  e,
551
551
  );
552
552
  }