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