@conecli/cone-render 0.8.34 → 0.8.35

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 (52) hide show
  1. package/dist/common/const.ts +1 -1
  2. package/dist/common/index.h5.ts +1 -1
  3. package/dist/common/index.jd.ts +1 -1
  4. package/dist/common/index.ts +1 -1
  5. package/dist/common/index.weapp.ts +1 -1
  6. package/dist/components/base/CustomScrollView/index.tsx +1 -1
  7. package/dist/components/base/ExposureSmart/const.ts +1 -0
  8. package/dist/components/base/ExposureSmart/index.h5.module.scss +18 -4
  9. package/dist/components/base/ExposureSmart/index.h5.tsx +1 -1
  10. package/dist/components/base/ExposureSmart/index.module.scss +20 -9
  11. package/dist/components/base/ExposureSmart/index.tsx +1 -1
  12. package/dist/components/base/ExposureSmart/reporter.tsx +1 -1
  13. package/dist/components/base/InOrOutViewObserver/index.tsx +1 -1
  14. package/dist/components/base/InViewRender/index.tsx +1 -1
  15. package/dist/components/base/InViewRender/index.weapp.tsx +1 -1
  16. package/dist/components/base/ItemViewExposureSmart/index.module.scss +8 -0
  17. package/dist/components/base/ItemViewExposureSmart/index.tsx +1 -0
  18. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
  19. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
  20. package/dist/components/base/NetworkDataError/const.ts +1 -1
  21. package/dist/components/base/NetworkDataError/index.module.scss +4 -1
  22. package/dist/components/decorate/DecorateFloorModule/index.tsx +1 -1
  23. package/dist/interface/common.ts +1 -1
  24. package/dist/jumpEventReport/base.ts +1 -1
  25. package/dist/jumpEventReport/createReportFloorData.ts +1 -1
  26. package/dist/jumpEventReport/index.h5.ts +1 -1
  27. package/dist/jumpEventReport/index.weapp.ts +1 -1
  28. package/dist/jumpEventReport/web/report.ts +1 -1
  29. package/dist/jumpEventReport/web.base.ts +1 -1
  30. package/dist/jumpEventReport/web.jd.ts +1 -1
  31. package/dist/jumpEventReport/web.jdb.ts +1 -1
  32. package/dist/jumpEventReport/web.jdjch.ts +1 -0
  33. package/dist/libs/taroAppReport.js +2 -2
  34. package/dist/modules/ContainerFloorList/index.h5.module.scss +10 -1
  35. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  36. package/dist/open/api/device.ts +1 -1
  37. package/dist/open/api/track.ts +1 -1
  38. package/dist/open/api/util.ts +1 -1
  39. package/dist/open/components/index.ts +1 -1
  40. package/dist/service/bMallConst.ts +1 -1
  41. package/dist/utils/connectNativeJsBridge.ts +1 -1
  42. package/dist/utils/connectNativeJsBridge.weapp.ts +1 -1
  43. package/dist/utils/h5Utils.ts +1 -1
  44. package/dist/utils/index.h5.ts +1 -1
  45. package/dist/utils/index.ts +1 -1
  46. package/dist/utils/index.weapp.ts +1 -1
  47. package/dist/utils/intersectionObserver.ts +1 -1
  48. package/dist/utils/jm-common.js +1 -1
  49. package/dist/utils/utils.ts +1 -1
  50. package/package.json +1 -1
  51. /package/dist/service/{bMallConst.wxapp.ts → bMallConst.weapp.ts} +0 -0
  52. /package/dist/service/http/{colorSign.wxapp.ts → colorSign.weapp.ts} +0 -0
@@ -1 +1 @@
1
- import global from '../common'
2
1
  BUSINESS_TYPE,
3
2
  SHOP_MENU_ID_TYPE,
4
3
  SHOP_MENU_ID_NAME,
5
4
  SECTION_HOME_TAB_TYPE,
6
5
  SECTION_HOME_TAB_NAME_TYPE,
7
6
  objectToUrlEncode,
8
7
  parseQueryUrlString,
9
8
  filterUrlQueryData,
10
9
  routerInfo: {
11
10
  params: {},
12
11
  },
13
12
  nativeEvent: null,
14
13
  jumpConfig: {
15
14
  venderId: null,
16
15
  shopId: null,
17
16
  sourceValue: '',
18
17
  sourceType: 'M-H5',
19
18
  activityType: 'shopx',
20
19
  moduleId: 'none',
21
20
  entrance: 'none',
22
21
  },
23
22
  logPageParamStr: '',
24
23
  public logPageId: string
25
24
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig
26
25
  getConfig(opt) {
27
26
  return Object.assign(this, {}, defaultConfig, opt)
28
27
  }
29
28
  updateInfo(
30
29
  routerInfo,
31
30
  logPname = LogPnameInfo.HOME,
32
31
  pageId = LogPageIdInfo.APP,
33
32
  ) {
34
33
  this.routerInfo = routerInfo
35
34
  this.logPname = logPname
36
35
  this.jumpConfig = Object.assign(
37
36
  {},
38
37
  this.jumpConfig,
39
38
  filterUrlQueryData(routerInfo?.params || {}),
40
39
  )
41
40
  this.logPageId = pageId
42
41
  }
43
42
 
44
43
  reportInfoPv(
45
44
  pageId = LogPageIdInfo.APP,
46
45
  opt: {
47
46
  pageParam?: any
48
47
  } = {},
49
48
  ) {
50
49
  const { pageParam } = opt
51
50
  const pageParamStr =
52
51
  typeof pageParam === 'object' ? JSON.stringify(pageParam) : pageParam
53
52
  this.logPageParamStr = pageParamStr
54
53
  ? pageParamStr
55
54
  : JSON.stringify(this.jumpConfig)
56
55
  return reportPV({
57
56
  pageId,
58
57
  pageParam: this.logPageParamStr,
59
58
  ...opt,
60
59
  })
61
60
  }
62
61
 
63
62
  jdJumpToProduct(skuIds, logEventInfo) {
64
63
  skuIds = skuIds.toString().trim()
65
64
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds
66
65
  this.jdNavigateToNative(
67
66
  `${this.jumpWebUrl.detail}${getSkuId}.html`,
68
67
  logEventInfo,
69
68
  )
70
69
  }
71
70
 
72
71
  jdJumpToRankList(contentId: string | number, rankType = 10, logEventInfo) {
73
72
  const rankUrl = `${this.jumpWebUrl.rank}?contentId=${contentId}&sku=&rankType=${rankType}&fromName=dcpws&hideAd=1`
74
73
  this.jdNavigateToNative(rankUrl, {
75
74
  contentId,
76
75
  ...logEventInfo,
77
76
  })
78
77
  }
79
78
 
80
79
  jdJumpToShopCategory(shopInfo) {
81
80
  this.jdNavigateToNative(
82
81
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode(
83
82
  this.getShopIdOrVenderIdParams(shopInfo),
84
83
  )}&tabActive=classify`,
85
84
  {
86
85
  ...shopInfo,
87
86
  },
88
87
  )
89
88
  }
90
89
 
91
90
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
92
91
  const getInfo = Object.assign(
93
92
  {},
94
93
  {
95
94
  shopId: global.info.queryInfo.shopId,
96
95
  venderId: global.info.queryInfo.venderId,
97
96
  },
98
97
  shopInfo,
99
98
  )
100
99
  this.jdNavigateToNative(
101
100
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
102
101
  this.getShopIdOrVenderIdParams(getInfo),
103
102
  )}`,
104
103
  {
105
104
  ...getInfo,
106
105
  },
107
106
  )
108
107
  }
109
108
 
110
109
  jdJumpToShopLight(shopInfo) {
111
110
  this.jdNavigateToNative(
112
111
  `${this.jumpWebUrl.shopLight}?${objectToUrlEncode(
113
112
  this.getShopIdOrVenderIdParams(shopInfo),
114
113
  )}`,
115
114
  {
116
115
  ...shopInfo,
117
116
  },
118
117
  )
119
118
  }
120
119
 
121
120
  jdJumpToShopMember(shopInfo) {
122
121
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
123
122
  this.jdJumpToWeb(
124
123
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(
125
124
  getShopInfo,
126
125
  )}&venderType=1&channel=406`,
127
126
  shopInfo,
128
127
  )
129
128
  }
130
129
 
131
130
  jdJumpToShopMemberCard(shopInfo) {
132
131
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
133
132
  this.jdJumpToWeb(
134
133
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(getShopInfo)}`,
135
134
  shopInfo,
136
135
  )
137
136
  }
138
137
 
139
138
  jdJumpToTotalPromotion(shopInfo) {
140
139
  const { url, logEventInfo } = shopInfo
141
140
  if (this.isOpenJdAppUrl(url)) {
142
141
  const getOpenAppParams: any = this.jdOpenAppParams(url)
143
142
  if (getOpenAppParams) {
144
143
  if (getOpenAppParams?.activityId) {
145
144
  this.jdJumpToWeb(
146
145
  `${this.jumpWebUrl.totalPromotion}?activity_id=${getOpenAppParams?.activityId}`,
147
146
  shopInfo,
148
147
  )
149
148
  }
150
149
  }
151
150
  } else {
152
151
  this.jdJumpToWeb(url, logEventInfo)
153
152
  }
154
153
  }
155
154
 
156
155
  jdJumpToDongDongChat(paramInfo) {
157
156
  const getInfo = Object.assign(
158
157
  {},
159
158
  {
160
159
  venderId: global.info.queryInfo.venderId,
161
160
  },
162
161
  paramInfo,
163
162
  )
164
163
  const { venderId = '1', entry = 'm_shop', ...otherInfo } = getInfo
165
164
  const dongdongUrl = `${this.jumpWebUrl.dongDongChat}?venderId=${venderId}&entry=${entry}&sceneval=2`
166
165
  this.jdJumpToWeb(dongdongUrl, otherInfo)
167
166
  }
168
167
 
169
168
  jdJumpToShopDetail(shopInfo) {
170
169
  const getInfo = Object.assign(
171
170
  {},
172
171
  {
173
172
  shopId: global.info.queryInfo.shopId,
174
173
  venderId: global.info.queryInfo.venderId,
175
174
  },
176
175
  shopInfo,
177
176
  )
178
177
  const getShopInfo = this.getShopIdOrVenderIdParams(getInfo)
179
178
  this.jdJumpToWeb(
180
179
  `${this.jumpWebUrl.shopIntroduce}?${objectToUrlEncode(getShopInfo)}`,
181
180
  getInfo,
182
181
  )
183
182
  }
184
183
 
185
184
  jdJumpToShopSearch(shopInfo) {
186
185
  const getInfo = Object.assign(
187
186
  {},
188
187
  {
189
188
  shopId: global.info.queryInfo.shopId,
190
189
  venderId: global.info.queryInfo.venderId,
191
190
  },
192
191
  shopInfo,
193
192
  )
194
193
  const { shopId, categoryId, keyword, pageId, description, shopName } =
195
194
  getInfo
196
195
  const cateId = categoryId ? `&cateId=${typeof categoryId === 'string' ? categoryId?.trim() : categoryId}` : ''
197
196
  const addKeyWord = keyword ? `&keyword=${keyword}` : ''
198
197
  const addPageId = pageId ? `&pageId=${pageId}` : ''
199
198
  const searchDes = description ? `&description=${description}` : ''
200
199
  const shopNameDes = shopName ? `&shopName=${shopName}` : ''
201
200
  const searchType = categoryId ? 5 : keyword ? 4 : 3
202
201
  this.jdJumpToWeb(
203
202
  `${this.jumpWebUrl.shopSearch}?shopId=${shopId}&searchType=${searchType}${cateId}${addKeyWord}${addPageId}${searchDes}${shopNameDes}`,
204
203
  getInfo,
205
204
  )
206
205
  }
207
206
 
208
207
  jdJumpToWeb(
209
208
  url,
210
209
  logEventInfo,
211
210
  successBack?: Function | undefined,
212
211
  failBack?: Function | undefined,
213
212
  ) {
214
213
  console.log('web.base.ts - jdJumpToWeb')
215
214
  this.jdNavigateToNative(
216
215
  url,
217
216
  {
218
217
  ...logEventInfo,
219
218
  },
220
219
  successBack,
221
220
  failBack,
222
221
  )
223
222
  }
224
223
 
225
224
  jdJumpToWebInner(url, logEventInfo) {
226
225
  this.jdJumpToWeb(url, logEventInfo)
227
226
  }
228
227
 
229
228
  jdJumpToLive(liveInfo, logEventInfo = {}) {
230
229
  if (liveInfo?.liveId) {
231
230
  this.jdJumpToWeb(
232
231
  `${this.jumpWebUrl.mLive}/${liveInfo?.liveId}?origin=30`,
233
232
  logEventInfo,
234
233
  )
235
234
  }
236
235
  }
237
236
 
238
237
  jdJumpToShopActivity(shopInfo) {
239
238
  const { configDataValue, logEventInfo, projectId } = shopInfo
240
239
  if (projectId && configDataValue) {
241
240
  this.jdJumpToWeb(
242
241
  `${this.jumpWebUrl.shopSecondActivity}${configDataValue.data}.html`,
243
242
  logEventInfo,
244
243
  )
245
244
  }
246
245
  }
247
246
 
248
247
  jdJumpToActivityPlace(spUrl, logEventInfo) {
249
248
  this.jdNavigateToNative(spUrl, logEventInfo)
250
249
  }
251
250
 
252
251
  jdJumpConfigUrl(detail, logEventInfo = {}) {
253
252
  const { configDataType, configDataValue } = detail
254
253
  console.log(
255
254
  'jdJumpConfigUrl web.base configDataType:',
256
255
  configDataType,
257
256
  configDataValue,
258
257
  )
259
258
  switch (configDataType) {
260
259
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
261
260
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo)
262
261
  break
263
262
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
264
263
  this.jdJumpToWeb(
265
264
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
266
265
  {},
267
266
  )
268
267
  break
269
268
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
270
269
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
271
270
  const getShopSearchParams = this.jdOpenAppParams(
272
271
  configDataValue.clickUrl,
273
272
  )
274
273
  getShopSearchParams &&
275
274
  this.jdJumpToShopSearch(
276
275
  Object.assign({}, getShopSearchParams, {
277
276
  logEventInfo,
278
277
  }),
279
278
  )
280
279
  } else {
281
280
  this.jdJumpToShopSearch(
282
281
  configDataValue['cid']
283
282
  ? Object.assign(
284
283
  {},
285
284
  {
286
285
  shopId: global.info.queryInfo.shopId,
287
286
  categoryId: configDataValue.cid,
288
287
  ...configDataValue,
289
288
  logEventInfo,
290
289
  },
291
290
  )
292
291
  : {
293
292
  shopId: global.info.queryInfo.shopId,
294
293
  logEventInfo,
295
294
  },
296
295
  )
297
296
  }
298
297
  break
299
298
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
300
299
  this.jdJumpToShopCategory({
301
300
  ...configDataValue,
302
301
  logEventInfo,
303
302
  })
304
303
  break
305
304
  case LinkConfigType.CONFIG_TYPE_MEMBER:
306
305
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
307
306
  const getShopMemberParams = this.jdOpenAppParams(
308
307
  configDataValue.clickUrl,
309
308
  )
310
309
  getShopMemberParams &&
311
310
  this.jdJumpToShopMember(
312
311
  Object.assign({}, getShopMemberParams, {
313
312
  logEventInfo,
314
313
  }),
315
314
  )
316
315
  } else {
317
316
  this.jdJumpToShopMember({
318
317
  shopId: global.info.queryInfo.shopId,
319
318
  venderId: configDataValue.shopDetail,
320
319
  logEventInfo,
321
320
  })
322
321
  }
323
322
  break
324
323
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
325
324
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
326
325
  const getShopActivityParams = this.jdOpenAppParams(
327
326
  configDataValue.clickUrl,
328
327
  )
329
328
  if (
330
329
  getShopActivityParams &&
331
330
  getShopActivityParams['des'] == 'jshopActivity'
332
331
  ) {
333
332
  this.jdJumpToShopActivity({
334
333
  projectId: configDataValue['projectId'],
335
334
  configDataValue,
336
335
  logEventInfo,
337
336
  })
338
337
  }
339
338
  } else if (configDataValue['projectId']) {
340
339
  this.jdJumpToShopActivity({
341
340
  projectId: configDataValue['projectId'],
342
341
  configDataValue,
343
342
  logEventInfo,
344
343
  })
345
344
  }
346
345
  break
347
346
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
348
347
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON:
349
348
  const _url = configDataValue.linkUrl
350
349
  const isProductM = /item\.m\.jd\.com/.test(_url)
351
350
  const isProductPC = /item\.jd\.com/.test(_url)
352
351
  if (
353
352
  _url.indexOf('to=') === -1 &&
354
353
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
355
354
  ) {
356
355
  const _shopId = _url.match(/\d+/g)[0]
357
356
  this.jdJumpToShopHome({
358
357
  shopId: `${_shopId}`,
359
358
  logEventInfo,
360
359
  })
361
360
  } else if (this.isOpenJdAppUrl(_url)) {
362
361
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
363
362
  if (getOpenAppParams) {
364
363
  if (getOpenAppParams.jumpTab == 'allProduct') {
365
364
  this.jdJumpToTabAllProduct(
366
365
  global.info.queryInfo.shopId,
367
366
  global.info.queryInfo.venderId,
368
367
  )
369
368
  } else if (
370
369
  getOpenAppParams.des == 'productList' &&
371
370
  getOpenAppParams.from == 'couponBatch'
372
371
  ) {
373
372
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
374
373
  } else if (getOpenAppParams.des == 'vapp') {
375
374
  this.jdJumpToWeb(
376
375
  `https:
377
376
  getOpenAppParams.category
378
377
  }&des=${getOpenAppParams.des}&vapptype=${
379
378
  getOpenAppParams.vapptype
380
379
  }&appId=${getOpenAppParams.appId}&path=${
381
380
  getOpenAppParams.path
382
381
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
383
382
  logEventInfo,
384
383
  )
385
384
  } else {
386
385
  this.jdNavigateToNative(
387
386
  '',
388
387
  Object.assign({}, getOpenAppParams, {
389
388
  logEventInfo,
390
389
  }),
391
390
  )
392
391
  }
393
392
  }
394
393
  } else if (isProductM || isProductPC) {
395
394
  const skuid = _url.match(/\d+/g)[0]
396
395
  if (skuid) {
397
396
  this.jdJumpToProduct(skuid, logEventInfo)
398
397
  }
399
398
  } else {
400
399
  this.jdJumpToWeb(_url, logEventInfo)
401
400
  }
402
401
  break
403
402
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
404
403
  this.jdJumpToShopDetail({
405
404
  venderId: global.info.queryInfo.venderId,
406
405
  shopId: global.info.queryInfo.shopId,
407
406
  logEventInfo,
408
407
  })
409
408
  break
410
409
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
411
410
  this.jdJumpToShopHome({
412
411
  ...configDataValue,
413
412
  logEventInfo,
414
413
  })
415
414
  break
416
415
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
417
416
  break
418
417
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
419
418
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
420
419
  const getShoppingGuideParams = this.jdOpenAppParams(
421
420
  configDataValue.clickUrl,
422
421
  )
423
422
  getShoppingGuideParams &&
424
423
  this.jdJumpToShopActivity(
425
424
  Object.assign({}, getShoppingGuideParams, {
426
425
  logEventInfo,
427
426
  }),
428
427
  )
429
428
  }
430
429
  break
431
430
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
432
431
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
433
432
  const search = linkUrl.match(/\?.+/)
434
433
  if (search) {
435
434
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
436
435
  parseQueryUrlString(linkUrl)
437
436
  try {
438
437
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
439
438
  } catch (e) {
440
439
  console.warn('解析小程序 param 错误:', miniQueryData.param)
441
440
  }
442
441
  this.jdJumpToMiniProgram(miniQueryData)
443
442
  } else {
444
443
  console.warn('小程序地址错误:', linkUrl)
445
444
  }
446
445
  break
447
446
  }
448
447
  default:
449
448
  }
450
449
  }
451
450
 
452
451
  jdJumpToTabAllProduct(shopId, venderId, logEventInfo = {}) {
453
452
  console.log('web.base.ts - jdJumpToTabAllProduct')
454
453
  if(typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId
455
454
  if(typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId
456
455
 
457
456
  this.jdJumpToWeb(
458
457
  `${this.jumpWebUrl.shopHome}?shopId=${shopId}&venderId=${venderId}&tabActive=home-product`,
459
458
  logEventInfo,
460
459
  )
461
460
  }
462
461
 
463
462
  jdJumpToTabAllProductInner(shopId, venderId, logEventInfo = {}) {
464
463
  if(typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId
465
464
  if(typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId
466
465
 
467
466
  this.jdJumpToTabAllProduct(shopId, venderId, logEventInfo)
468
467
  }
469
468
 
470
469
  jdJumpToTopTabBase(type, shopInfo = {}) {
471
470
  const getInfo = Object.assign(
472
471
  {},
473
472
  {
474
473
  shopId: global.info.queryInfo.shopId,
475
474
  venderId: global.info.queryInfo.venderId,
476
475
  },
477
476
  shopInfo,
478
477
  )
479
478
  this.jdJumpToWeb(
480
479
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode(
481
480
  this.getShopIdOrVenderIdParams(getInfo),
482
481
  )}&tabActive=${type}`,
483
482
  getInfo,
484
483
  )
485
484
  }
486
485
 
487
486
  jdJumpToTabNew(shopInfo = {}) {
488
487
  console.log('上新tab')
489
488
  this.jdJumpToTopTabBase(
490
489
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_NEW_PRODUCT],
491
490
  shopInfo,
492
491
  )
493
492
  }
494
493
 
495
494
  jdJumpToTabNewInner(shopInfo = {}) {
496
495
  this.jdJumpToTabNew(shopInfo)
497
496
  }
498
497
 
499
498
  jdJumpToTabRank(shopInfo = {}) {
500
499
  console.log('榜单tab')
501
500
  this.jdJumpToTopTabBase(
502
501
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_RANK],
503
502
  shopInfo,
504
503
  )
505
504
  }
506
505
  jdJumpToTabRankInner(shopInfo = {}) {
507
506
  this.jdJumpToTabRank(shopInfo)
508
507
  }
509
508
  jdJumpToTabBuyerShow(shopInfo = {}) {
510
509
  console.log('买家秀tab')
511
510
  this.jdJumpToTopTabBase(
512
511
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_BUYER_SHOW],
513
512
  shopInfo,
514
513
  )
515
514
  }
516
515
  jdJumpToTabBuyerShowInner(shopInfo = {}) {
517
516
  this.jdJumpToTabBuyerShow(shopInfo)
518
517
  }
519
518
  jdJumpToTabActivity(shopInfo = {}) {
520
519
  console.log('活动tab')
521
520
  this.jdJumpToTopTabBase(
522
521
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_ACTIVITY],
523
522
  shopInfo,
524
523
  )
525
524
  }
526
525
  jdJumpToTabActivityInner(shopInfo = {}) {
527
526
  this.jdJumpToTabActivity(shopInfo)
528
527
  }
529
528
  jdJumpToTabSecKill(shopInfo = {}) {
530
529
  console.log('秒杀tab')
531
530
  this.jdJumpToTopTabBase(
532
531
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_SECKILL],
533
532
  shopInfo,
534
533
  )
535
534
  }
536
535
  jdJumpToTabSecKillInner(shopInfo = {}) {
537
536
  this.jdJumpToTabSecKill(shopInfo)
538
537
  }
539
538
 
540
539
  jdJumpToBottomTabBase(type, shopInfo = {}) {
541
540
  this.jdJumpToTopTabBase(type, shopInfo)
542
541
  }
543
542
  jdJumpToBottomTabProduct(shopInfo = {}) {
544
543
  this.jdJumpToBottomTabBase(
545
544
  SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.PRODUCT],
546
545
  shopInfo,
547
546
  )
548
547
  }
549
548
  jdJumpToBottomTabCategory(shopInfo = {}) {
550
549
  this.jdJumpToBottomTabBase(
551
550
  SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.CLASSIFY],
552
551
  shopInfo,
553
552
  )
554
553
  }
555
554
  jdJumpToBottomTabFind(shopInfo = {}) {
556
555
  console.log('发现tab')
557
556
  }
558
557
  jdJumpToBottomTabBrandMember(shopInfo = {}) {
559
558
  const getInfo = Object.assign(
560
559
  {},
561
560
  {
562
561
  shopId: global.info.queryInfo.shopId,
563
562
  venderId: global.info.queryInfo.venderId,
564
563
  },
565
564
  shopInfo,
566
565
  )
567
566
  this.jdJumpToWeb(
568
567
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(
569
568
  this.getShopIdOrVenderIdParams(getInfo),
570
569
  )}`,
571
570
  getInfo,
572
571
  )
573
572
  }
574
573
  jdJumpToBottomTabBrandMemberInner(shopInfo = {}) {
575
574
  this.jdJumpToBottomTabBrandMember(shopInfo)
576
575
  }
577
576
 
578
577
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
579
578
  this.jdJumpToWeb(
580
579
  `${this.jumpWebUrl.couponSearch}?couponbatch=${couponId}&sceneval=2`,
581
580
  logEventInfo,
582
581
  )
583
582
  }
584
583
 
585
584
  jdNavigateToNative(
586
585
  url: string,
587
586
  params: {
588
587
  logEventInfo?: object
589
588
  } = {},
590
589
  successBack?: Function | undefined,
591
590
  failBack?: Function | undefined,
592
591
  ) {
593
592
  const { logEventInfo } = params
594
593
  const getEparam = logEventInfo || params
595
594
  console.log(`url:::::::${url}`)
596
595
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
597
596
  this.clickEventLog(getEparam)
598
597
  .then(() => {
599
598
  typeof successBack == 'function'
600
599
  ? successBack(url)
601
600
  : (window.location.href = url)
602
601
  })
603
602
  .catch(() => {
604
603
  typeof failBack == 'function' && failBack(url)
605
604
  })
606
605
  }
607
606
 
608
607
  clickEventLog(
609
608
  opts: JumpEventReportInterFace.OptEventLogParams = {},
610
609
  reportKey = 'click',
611
610
  ) {
612
611
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts
613
612
  ;/TerminatorNew_/.test(`${eventId}`) &&
614
613
  console.log(`当前h5的楼层模块eventId为====${eventId}`)
615
614
  if (eventId && jsonParam) {
616
615
  const { etModelInfo, logBaseInfo } = jsonParam
617
616
  const getJsonParam =
618
617
  etModelInfo && logBaseInfo
619
618
  ? logBaseInfo
620
619
  : Object.assign(
621
620
  {},
622
621
  {
623
622
  shopid: global.info.queryInfo?.shopId,
624
623
  },
625
624
  jsonParam,
626
625
  )
627
626
  const webLogParams = {
628
627
  eid: eventId,
629
628
  elevel: eventLevel,
630
629
  jsonParam: JSON.stringify(getJsonParam),
631
630
  etModel: JSON.stringify(etModelInfo || {}),
632
631
  pageId: this.logPageId,
633
632
  pageParam: this.logPageParamStr,
634
633
  ...otherParams,
635
634
  }
636
635
  return /click|exposure/.test(reportKey)
637
636
  ? reportClick(webLogParams)
638
637
  : reportToCart(opts)
639
638
  } else {
640
639
  console.log('暂无埋点参数eventId和jsonParam')
641
640
  return Promise.resolve(false)
642
641
  }
643
642
  }
644
643
 
645
644
  exposureEventLog(opts) {
646
645
  return global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE
647
646
  ? this.clickEventLog(
648
647
  {
649
648
  ...opts,
650
649
  exposureState: true,
651
650
  },
652
651
  'exposure',
653
652
  )
654
653
  : Promise.resolve(false)
655
654
  }
655
+ import global from '../common'
656
656
  BUSINESS_TYPE,
657
657
  SHOP_MENU_ID_TYPE,
658
658
  SHOP_MENU_ID_NAME,
659
659
  SECTION_HOME_TAB_TYPE,
660
660
  SECTION_HOME_TAB_NAME_TYPE,
661
661
  objectToUrlEncode,
662
662
  parseQueryUrlString,
663
663
  filterUrlQueryData,
664
664
  routerInfo: {
665
665
  params: {},
666
666
  },
667
667
  nativeEvent: null,
668
668
  jumpConfig: {
669
669
  venderId: null,
670
670
  shopId: null,
671
671
  sourceValue: '',
672
672
  sourceType: 'M-H5',
673
673
  activityType: 'shopx',
674
674
  moduleId: 'none',
675
675
  entrance: 'none',
676
676
  },
677
677
  logPageParamStr: '',
678
678
  public logPageId: string
679
679
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig
680
680
  getConfig(opt) {
681
681
  return Object.assign(this, {}, defaultConfig, opt)
682
682
  }
683
683
  updateInfo(
684
684
  routerInfo,
685
685
  logPname = LogPnameInfo.HOME,
686
686
  pageId = LogPageIdInfo.APP,
687
687
  ) {
688
688
  this.routerInfo = routerInfo
689
689
  this.logPname = logPname
690
690
  this.jumpConfig = Object.assign(
691
691
  {},
692
692
  this.jumpConfig,
693
693
  filterUrlQueryData(routerInfo?.params || {}),
694
694
  )
695
695
  this.logPageId = pageId
696
696
  }
697
697
 
698
698
  reportInfoPv(
699
699
  pageId = LogPageIdInfo.APP,
700
700
  opt: {
701
701
  pageParam?: any
702
702
  } = {},
703
703
  ) {
704
704
  const { pageParam } = opt
705
705
  const pageParamStr =
706
706
  typeof pageParam === 'object' ? JSON.stringify(pageParam) : pageParam
707
707
  this.logPageParamStr = pageParamStr
708
708
  ? pageParamStr
709
709
  : JSON.stringify(this.jumpConfig)
710
710
  return reportPV({
711
711
  pageId,
712
712
  pageParam: this.logPageParamStr,
713
713
  ...opt,
714
714
  })
715
715
  }
716
716
 
717
717
  jdJumpToProduct(skuIds, logEventInfo) {
718
718
  skuIds = skuIds.toString().trim()
719
719
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds
720
720
  this.jdNavigateToNative(
721
721
  `${this.jumpWebUrl.detail}${getSkuId}.html`,
722
722
  logEventInfo,
723
723
  )
724
724
  }
725
725
 
726
726
  jdJumpToRankList(contentId: string | number, rankType = 10, logEventInfo) {
727
727
  const rankUrl = `${this.jumpWebUrl.rank}?contentId=${contentId}&sku=&rankType=${rankType}&fromName=dcpws&hideAd=1`
728
728
  this.jdNavigateToNative(rankUrl, {
729
729
  contentId,
730
730
  ...logEventInfo,
731
731
  })
732
732
  }
733
733
 
734
734
  jdJumpToShopCategory(shopInfo) {
735
735
  this.jdNavigateToNative(
736
736
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode(
737
737
  this.getShopIdOrVenderIdParams(shopInfo),
738
738
  )}&tabActive=classify`,
739
739
  {
740
740
  ...shopInfo,
741
741
  },
742
742
  )
743
743
  }
744
744
 
745
745
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
746
746
  const getInfo = Object.assign(
747
747
  {},
748
748
  {
749
749
  shopId: global.info.queryInfo.shopId,
750
750
  venderId: global.info.queryInfo.venderId,
751
751
  },
752
752
  shopInfo,
753
753
  )
754
754
  this.jdNavigateToNative(
755
755
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
756
756
  this.getShopIdOrVenderIdParams(getInfo),
757
757
  )}`,
758
758
  {
759
759
  ...getInfo,
760
760
  },
761
761
  )
762
762
  }
763
763
 
764
764
  jdJumpToShopLight(shopInfo) {
765
765
  this.jdNavigateToNative(
766
766
  `${this.jumpWebUrl.shopLight}?${objectToUrlEncode(
767
767
  this.getShopIdOrVenderIdParams(shopInfo),
768
768
  )}`,
769
769
  {
770
770
  ...shopInfo,
771
771
  },
772
772
  )
773
773
  }
774
774
 
775
775
  jdJumpToShopMember(shopInfo) {
776
776
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
777
777
  this.jdJumpToWeb(
778
778
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(
779
779
  getShopInfo,
780
780
  )}&venderType=1&channel=406`,
781
781
  shopInfo,
782
782
  )
783
783
  }
784
784
 
785
785
  jdJumpToShopMemberCard(shopInfo) {
786
786
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
787
787
  this.jdJumpToWeb(
788
788
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(getShopInfo)}`,
789
789
  shopInfo,
790
790
  )
791
791
  }
792
792
 
793
793
  jdJumpToTotalPromotion(shopInfo) {
794
794
  const { url, logEventInfo } = shopInfo
795
795
  if (this.isOpenJdAppUrl(url)) {
796
796
  const getOpenAppParams: any = this.jdOpenAppParams(url)
797
797
  if (getOpenAppParams) {
798
798
  if (getOpenAppParams?.activityId) {
799
799
  this.jdJumpToWeb(
800
800
  `${this.jumpWebUrl.totalPromotion}?activity_id=${getOpenAppParams?.activityId}`,
801
801
  shopInfo,
802
802
  )
803
803
  }
804
804
  }
805
805
  } else {
806
806
  this.jdJumpToWeb(url, logEventInfo)
807
807
  }
808
808
  }
809
809
 
810
810
  jdJumpToDongDongChat(paramInfo) {
811
811
  const getInfo = Object.assign(
812
812
  {},
813
813
  {
814
814
  venderId: global.info.queryInfo.venderId,
815
815
  },
816
816
  paramInfo,
817
817
  )
818
818
  const { venderId = '1', entry = 'm_shop', ...otherInfo } = getInfo
819
819
  const dongdongUrl = `${this.jumpWebUrl.dongDongChat}?venderId=${venderId}&entry=${entry}&sceneval=2`
820
820
  this.jdJumpToWeb(dongdongUrl, otherInfo)
821
821
  }
822
822
 
823
823
  jdJumpToShopDetail(shopInfo) {
824
824
  const getInfo = Object.assign(
825
825
  {},
826
826
  {
827
827
  shopId: global.info.queryInfo.shopId,
828
828
  venderId: global.info.queryInfo.venderId,
829
829
  },
830
830
  shopInfo,
831
831
  )
832
832
  const getShopInfo = this.getShopIdOrVenderIdParams(getInfo)
833
833
  this.jdJumpToWeb(
834
834
  `${this.jumpWebUrl.shopIntroduce}?${objectToUrlEncode(getShopInfo)}`,
835
835
  getInfo,
836
836
  )
837
837
  }
838
838
 
839
839
  jdJumpToShopSearch(shopInfo) {
840
840
  const getInfo = Object.assign(
841
841
  {},
842
842
  {
843
843
  shopId: global.info.queryInfo.shopId,
844
844
  venderId: global.info.queryInfo.venderId,
845
845
  },
846
846
  shopInfo,
847
847
  )
848
848
  const { shopId, categoryId, keyword, pageId, description, shopName } =
849
849
  getInfo
850
850
  const cateId = categoryId ? `&cateId=${typeof categoryId === 'string' ? categoryId?.trim() : categoryId}` : ''
851
851
  const addKeyWord = keyword ? `&keyword=${keyword}` : ''
852
852
  const addPageId = pageId ? `&pageId=${pageId}` : ''
853
853
  const searchDes = description ? `&description=${description}` : ''
854
854
  const shopNameDes = shopName ? `&shopName=${shopName}` : ''
855
855
  const searchType = categoryId ? 5 : keyword ? 4 : 3
856
856
  this.jdJumpToWeb(
857
857
  `${this.jumpWebUrl.shopSearch}?shopId=${shopId}&searchType=${searchType}${cateId}${addKeyWord}${addPageId}${searchDes}${shopNameDes}`,
858
858
  getInfo,
859
859
  )
860
860
  }
861
861
 
862
862
  jdJumpToWeb(
863
863
  url,
864
864
  logEventInfo,
865
865
  successBack?: Function | undefined,
866
866
  failBack?: Function | undefined,
867
867
  ) {
868
868
  console.log('web.base.ts - jdJumpToWeb')
869
869
  this.jdNavigateToNative(
870
870
  url,
871
871
  {
872
872
  ...logEventInfo,
873
873
  },
874
874
  successBack,
875
875
  failBack,
876
876
  )
877
877
  }
878
878
 
879
879
  jdJumpToWebInner(url, logEventInfo) {
880
880
  this.jdJumpToWeb(url, logEventInfo)
881
881
  }
882
882
 
883
883
  jdJumpToLive(liveInfo, logEventInfo = {}) {
884
884
  if (liveInfo?.liveId) {
885
885
  this.jdJumpToWeb(
886
886
  `${this.jumpWebUrl.mLive}/${liveInfo?.liveId}?origin=30`,
887
887
  logEventInfo,
888
888
  )
889
889
  }
890
890
  }
891
891
 
892
892
  jdJumpToShopActivity(shopInfo) {
893
893
  const { configDataValue, logEventInfo, projectId } = shopInfo
894
894
  if (projectId && configDataValue) {
895
895
  this.jdJumpToWeb(
896
896
  `${this.jumpWebUrl.shopSecondActivity}${configDataValue.data}.html`,
897
897
  logEventInfo,
898
898
  )
899
899
  }
900
900
  }
901
901
 
902
902
  jdJumpToActivityPlace(spUrl, logEventInfo) {
903
903
  this.jdNavigateToNative(spUrl, logEventInfo)
904
904
  }
905
905
 
906
906
  jdJumpConfigUrl(detail, logEventInfo = {}) {
907
907
  const { configDataType, configDataValue } = detail
908
908
  console.log(
909
909
  'jdJumpConfigUrl web.base configDataType:',
910
910
  configDataType,
911
911
  configDataValue,
912
912
  )
913
913
  switch (configDataType) {
914
914
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
915
915
  if(logEventInfo?.jsonParam?.logBaseInfo?.mInfo){
916
916
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid = configDataValue.skuIds
917
917
  }
918
918
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo)
919
919
  break
920
920
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
921
921
  this.jdJumpToWeb(
922
922
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
923
923
  {},
924
924
  )
925
925
  break
926
926
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
927
927
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
928
928
  const getShopSearchParams = this.jdOpenAppParams(
929
929
  configDataValue.clickUrl,
930
930
  )
931
931
  getShopSearchParams &&
932
932
  this.jdJumpToShopSearch(
933
933
  Object.assign({}, getShopSearchParams, {
934
934
  logEventInfo,
935
935
  }),
936
936
  )
937
937
  } else {
938
938
  this.jdJumpToShopSearch(
939
939
  configDataValue['cid']
940
940
  ? Object.assign(
941
941
  {},
942
942
  {
943
943
  shopId: global.info.queryInfo.shopId,
944
944
  categoryId: configDataValue.cid,
945
945
  ...configDataValue,
946
946
  logEventInfo,
947
947
  },
948
948
  )
949
949
  : {
950
950
  shopId: global.info.queryInfo.shopId,
951
951
  logEventInfo,
952
952
  },
953
953
  )
954
954
  }
955
955
  break
956
956
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
957
957
  this.jdJumpToShopCategory({
958
958
  ...configDataValue,
959
959
  logEventInfo,
960
960
  })
961
961
  break
962
962
  case LinkConfigType.CONFIG_TYPE_MEMBER:
963
963
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
964
964
  const getShopMemberParams = this.jdOpenAppParams(
965
965
  configDataValue.clickUrl,
966
966
  )
967
967
  getShopMemberParams &&
968
968
  this.jdJumpToShopMember(
969
969
  Object.assign({}, getShopMemberParams, {
970
970
  logEventInfo,
971
971
  }),
972
972
  )
973
973
  } else {
974
974
  this.jdJumpToShopMember({
975
975
  shopId: global.info.queryInfo.shopId,
976
976
  venderId: configDataValue.shopDetail,
977
977
  logEventInfo,
978
978
  })
979
979
  }
980
980
  break
981
981
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
982
982
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
983
983
  const getShopActivityParams = this.jdOpenAppParams(
984
984
  configDataValue.clickUrl,
985
985
  )
986
986
  if (
987
987
  getShopActivityParams &&
988
988
  getShopActivityParams['des'] == 'jshopActivity'
989
989
  ) {
990
990
  this.jdJumpToShopActivity({
991
991
  projectId: configDataValue['projectId'],
992
992
  configDataValue,
993
993
  logEventInfo,
994
994
  })
995
995
  }
996
996
  } else if (configDataValue['projectId']) {
997
997
  this.jdJumpToShopActivity({
998
998
  projectId: configDataValue['projectId'],
999
999
  configDataValue,
1000
1000
  logEventInfo,
1001
1001
  })
1002
1002
  }
1003
1003
  break
1004
1004
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
1005
1005
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON:
1006
1006
  const _url = configDataValue.linkUrl
1007
1007
  const isProductM = /item\.m\.jd\.com/.test(_url)
1008
1008
  const isProductPC = /item\.jd\.com/.test(_url)
1009
1009
  if (
1010
1010
  _url.indexOf('to=') === -1 &&
1011
1011
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
1012
1012
  ) {
1013
1013
  const _shopId = _url.match(/\d+/g)[0]
1014
1014
  this.jdJumpToShopHome({
1015
1015
  shopId: `${_shopId}`,
1016
1016
  logEventInfo,
1017
1017
  })
1018
1018
  } else if (this.isOpenJdAppUrl(_url)) {
1019
1019
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
1020
1020
  if (getOpenAppParams) {
1021
1021
  if (getOpenAppParams.jumpTab == 'allProduct') {
1022
1022
  this.jdJumpToTabAllProduct(
1023
1023
  global.info.queryInfo.shopId,
1024
1024
  global.info.queryInfo.venderId,
1025
1025
  )
1026
1026
  } else if (
1027
1027
  getOpenAppParams.des == 'productList' &&
1028
1028
  getOpenAppParams.from == 'couponBatch'
1029
1029
  ) {
1030
1030
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
1031
1031
  } else if (getOpenAppParams.des == 'vapp') {
1032
1032
  this.jdJumpToWeb(
1033
1033
  `https:
1034
1034
  getOpenAppParams.category
1035
1035
  }&des=${getOpenAppParams.des}&vapptype=${
1036
1036
  getOpenAppParams.vapptype
1037
1037
  }&appId=${getOpenAppParams.appId}&path=${
1038
1038
  getOpenAppParams.path
1039
1039
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
1040
1040
  logEventInfo,
1041
1041
  )
1042
1042
  } else {
1043
1043
  this.jdNavigateToNative(
1044
1044
  '',
1045
1045
  Object.assign({}, getOpenAppParams, {
1046
1046
  logEventInfo,
1047
1047
  }),
1048
1048
  )
1049
1049
  }
1050
1050
  }
1051
1051
  } else if (isProductM || isProductPC) {
1052
1052
  const skuid = _url.match(/\d+/g)[0]
1053
1053
  if (skuid) {
1054
1054
  this.jdJumpToProduct(skuid, logEventInfo)
1055
1055
  }
1056
1056
  } else {
1057
1057
  this.jdJumpToWeb(_url, logEventInfo)
1058
1058
  }
1059
1059
  break
1060
1060
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
1061
1061
  this.jdJumpToShopDetail({
1062
1062
  venderId: global.info.queryInfo.venderId,
1063
1063
  shopId: global.info.queryInfo.shopId,
1064
1064
  logEventInfo,
1065
1065
  })
1066
1066
  break
1067
1067
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
1068
1068
  this.jdJumpToShopHome({
1069
1069
  ...configDataValue,
1070
1070
  logEventInfo,
1071
1071
  })
1072
1072
  break
1073
1073
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
1074
1074
  break
1075
1075
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
1076
1076
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
1077
1077
  const getShoppingGuideParams = this.jdOpenAppParams(
1078
1078
  configDataValue.clickUrl,
1079
1079
  )
1080
1080
  getShoppingGuideParams &&
1081
1081
  this.jdJumpToShopActivity(
1082
1082
  Object.assign({}, getShoppingGuideParams, {
1083
1083
  logEventInfo,
1084
1084
  }),
1085
1085
  )
1086
1086
  }
1087
1087
  break
1088
1088
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
1089
1089
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
1090
1090
  const search = linkUrl.match(/\?.+/)
1091
1091
  if (search) {
1092
1092
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
1093
1093
  parseQueryUrlString(linkUrl)
1094
1094
  try {
1095
1095
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
1096
1096
  } catch (e) {
1097
1097
  console.warn('解析小程序 param 错误:', miniQueryData.param)
1098
1098
  }
1099
1099
  this.jdJumpToMiniProgram(miniQueryData)
1100
1100
  } else {
1101
1101
  console.warn('小程序地址错误:', linkUrl)
1102
1102
  }
1103
1103
  break
1104
1104
  }
1105
1105
  default:
1106
1106
  }
1107
1107
  }
1108
1108
 
1109
1109
  jdJumpToTabAllProduct(shopId, venderId, logEventInfo = {}) {
1110
1110
  console.log('web.base.ts - jdJumpToTabAllProduct')
1111
1111
  if(typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId
1112
1112
  if(typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId
1113
1113
  this.jdJumpToWeb(
1114
1114
  `${this.jumpWebUrl.shopHome}?shopId=${shopId}&venderId=${venderId}&tabActive=home-product`,
1115
1115
  logEventInfo,
1116
1116
  )
1117
1117
  }
1118
1118
 
1119
1119
  jdJumpToTabAllProductInner(shopId, venderId, logEventInfo = {}) {
1120
1120
  if(typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId
1121
1121
  if(typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId
1122
1122
  this.jdJumpToTabAllProduct(shopId, venderId, logEventInfo)
1123
1123
  }
1124
1124
 
1125
1125
  jdJumpToTopTabBase(type, shopInfo = {}) {
1126
1126
  const getInfo = Object.assign(
1127
1127
  {},
1128
1128
  {
1129
1129
  shopId: global.info.queryInfo.shopId,
1130
1130
  venderId: global.info.queryInfo.venderId,
1131
1131
  },
1132
1132
  shopInfo,
1133
1133
  )
1134
1134
  this.jdJumpToWeb(
1135
1135
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode(
1136
1136
  this.getShopIdOrVenderIdParams(getInfo),
1137
1137
  )}&tabActive=${type}`,
1138
1138
  getInfo,
1139
1139
  )
1140
1140
  }
1141
1141
 
1142
1142
  jdJumpToTabNew(shopInfo = {}) {
1143
1143
  console.log('上新tab')
1144
1144
  this.jdJumpToTopTabBase(
1145
1145
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_NEW_PRODUCT],
1146
1146
  shopInfo,
1147
1147
  )
1148
1148
  }
1149
1149
 
1150
1150
  jdJumpToTabNewInner(shopInfo = {}) {
1151
1151
  this.jdJumpToTabNew(shopInfo)
1152
1152
  }
1153
1153
 
1154
1154
  jdJumpToTabRank(shopInfo = {}) {
1155
1155
  console.log('榜单tab')
1156
1156
  this.jdJumpToTopTabBase(
1157
1157
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_RANK],
1158
1158
  shopInfo,
1159
1159
  )
1160
1160
  }
1161
1161
  jdJumpToTabRankInner(shopInfo = {}) {
1162
1162
  this.jdJumpToTabRank(shopInfo)
1163
1163
  }
1164
1164
  jdJumpToTabBuyerShow(shopInfo = {}) {
1165
1165
  console.log('买家秀tab')
1166
1166
  this.jdJumpToTopTabBase(
1167
1167
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_BUYER_SHOW],
1168
1168
  shopInfo,
1169
1169
  )
1170
1170
  }
1171
1171
  jdJumpToTabBuyerShowInner(shopInfo = {}) {
1172
1172
  this.jdJumpToTabBuyerShow(shopInfo)
1173
1173
  }
1174
1174
  jdJumpToTabActivity(shopInfo = {}) {
1175
1175
  console.log('活动tab')
1176
1176
  this.jdJumpToTopTabBase(
1177
1177
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_ACTIVITY],
1178
1178
  shopInfo,
1179
1179
  )
1180
1180
  }
1181
1181
  jdJumpToTabActivityInner(shopInfo = {}) {
1182
1182
  this.jdJumpToTabActivity(shopInfo)
1183
1183
  }
1184
1184
  jdJumpToTabSecKill(shopInfo = {}) {
1185
1185
  console.log('秒杀tab')
1186
1186
  this.jdJumpToTopTabBase(
1187
1187
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_SECKILL],
1188
1188
  shopInfo,
1189
1189
  )
1190
1190
  }
1191
1191
  jdJumpToTabSecKillInner(shopInfo = {}) {
1192
1192
  this.jdJumpToTabSecKill(shopInfo)
1193
1193
  }
1194
1194
 
1195
1195
  jdJumpToBottomTabBase(type, shopInfo = {}) {
1196
1196
  this.jdJumpToTopTabBase(type, shopInfo)
1197
1197
  }
1198
1198
  jdJumpToBottomTabProduct(shopInfo = {}) {
1199
1199
  this.jdJumpToBottomTabBase(
1200
1200
  SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.PRODUCT],
1201
1201
  shopInfo,
1202
1202
  )
1203
1203
  }
1204
1204
  jdJumpToBottomTabCategory(shopInfo = {}) {
1205
1205
  this.jdJumpToBottomTabBase(
1206
1206
  SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.CLASSIFY],
1207
1207
  shopInfo,
1208
1208
  )
1209
1209
  }
1210
1210
  jdJumpToBottomTabFind(shopInfo = {}) {
1211
1211
  console.log('发现tab')
1212
1212
  }
1213
1213
  jdJumpToBottomTabBrandMember(shopInfo = {}) {
1214
1214
  const getInfo = Object.assign(
1215
1215
  {},
1216
1216
  {
1217
1217
  shopId: global.info.queryInfo.shopId,
1218
1218
  venderId: global.info.queryInfo.venderId,
1219
1219
  },
1220
1220
  shopInfo,
1221
1221
  )
1222
1222
  this.jdJumpToWeb(
1223
1223
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(
1224
1224
  this.getShopIdOrVenderIdParams(getInfo),
1225
1225
  )}`,
1226
1226
  getInfo,
1227
1227
  )
1228
1228
  }
1229
1229
  jdJumpToBottomTabBrandMemberInner(shopInfo = {}) {
1230
1230
  this.jdJumpToBottomTabBrandMember(shopInfo)
1231
1231
  }
1232
1232
 
1233
1233
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
1234
1234
  this.jdJumpToWeb(
1235
1235
  `${this.jumpWebUrl.couponSearch}?couponbatch=${couponId}&sceneval=2`,
1236
1236
  logEventInfo,
1237
1237
  )
1238
1238
  }
1239
1239
 
1240
1240
  jdNavigateToNative(
1241
1241
  url: string,
1242
1242
  params: {
1243
1243
  logEventInfo?: object
1244
1244
  } = {},
1245
1245
  successBack?: Function | undefined,
1246
1246
  failBack?: Function | undefined,
1247
1247
  ) {
1248
1248
  const { logEventInfo } = params
1249
1249
  const getEparam = logEventInfo || params
1250
1250
  console.log(`url:::::::${url}`)
1251
1251
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
1252
1252
  this.clickEventLog(getEparam)
1253
1253
  .then(() => {
1254
1254
  typeof successBack == 'function'
1255
1255
  ? successBack(url)
1256
1256
  : (window.location.href = url)
1257
1257
  })
1258
1258
  .catch(() => {
1259
1259
  typeof failBack == 'function' && failBack(url)
1260
1260
  })
1261
1261
  }
1262
1262
 
1263
1263
  clickEventLog(
1264
1264
  opts: JumpEventReportInterFace.OptEventLogParams = {},
1265
1265
  reportKey = 'click',
1266
1266
  ) {
1267
1267
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts
1268
1268
  ;/TerminatorNew_/.test(`${eventId}`) &&
1269
1269
  console.log(`当前h5的楼层模块eventId为====${eventId}`)
1270
1270
  if (eventId && jsonParam) {
1271
1271
  const { etModelInfo, logBaseInfo } = jsonParam
1272
1272
  const getJsonParam =
1273
1273
  etModelInfo && logBaseInfo
1274
1274
  ? logBaseInfo
1275
1275
  : Object.assign(
1276
1276
  {},
1277
1277
  {
1278
1278
  shopid: global.info.queryInfo?.shopId,
1279
1279
  },
1280
1280
  jsonParam,
1281
1281
  )
1282
1282
  const webLogParams = {
1283
1283
  eid: eventId,
1284
1284
  elevel: eventLevel,
1285
1285
  jsonParam: JSON.stringify(getJsonParam),
1286
1286
  etModel: JSON.stringify(etModelInfo || {}),
1287
1287
  pageId: this.logPageId,
1288
1288
  pageParam: this.logPageParamStr,
1289
1289
  ...otherParams,
1290
1290
  }
1291
1291
  return /click|exposure/.test(reportKey)
1292
1292
  ? reportClick(webLogParams)
1293
1293
  : reportToCart(opts, webLogParams)
1294
1294
  } else {
1295
1295
  console.log('暂无埋点参数eventId和jsonParam')
1296
1296
  return Promise.resolve(false)
1297
1297
  }
1298
1298
  }
1299
1299
 
1300
1300
  exposureEventLog(opts) {
1301
1301
  return global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE
1302
1302
  ? this.clickEventLog(
1303
1303
  {
1304
1304
  ...opts,
1305
1305
  exposureState: true,
1306
1306
  },
1307
1307
  'exposure',
1308
1308
  )
1309
1309
  : Promise.resolve(false)
1310
1310
  }