@conecli/cone-render 0.8.28 → 0.8.30

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 (48) hide show
  1. package/dist/api/index.ts +1 -1
  2. package/dist/common/const.ts +1 -1
  3. package/dist/common/index.h5.ts +1 -1
  4. package/dist/common/token/index.h5.ts +1 -1
  5. package/dist/common/token/token.ts +1 -1
  6. package/dist/components/base/CommonFloorHead/index.module.scss +1 -1
  7. package/dist/components/base/CommonFloorHead/index.tsx +1 -1
  8. package/dist/components/base/CustomVideo/index.module.scss +3 -2
  9. package/dist/components/base/CustomVideo/index.tsx +1 -1
  10. package/dist/components/base/Dialog/index.module.scss +6 -2
  11. package/dist/components/base/Dialog/index.tsx +1 -1
  12. package/dist/components/base/InOrOutViewObserver/index.tsx +1 -1
  13. package/dist/components/base/NetworkDataError/index.tsx +1 -1
  14. package/dist/components/base/Price/{const.ts → Base/const.ts} +0 -0
  15. package/dist/components/base/Price/Base/index.module.scss +136 -0
  16. package/dist/components/base/Price/Base/index.tsx +1 -0
  17. package/dist/components/base/Price/Double/index.module.scss +158 -0
  18. package/dist/components/base/Price/Double/index.tsx +1 -0
  19. package/dist/components/base/Price/index.tsx +1 -1
  20. package/dist/components/floorItem.weapp.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/const.ts +1 -1
  26. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  27. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  28. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  29. package/dist/jumpEventReport/web/report.ts +1 -1
  30. package/dist/jumpEventReport/web.base.ts +1 -1
  31. package/dist/open/api/shopMember.ts +1 -1
  32. package/dist/service/bMallConst.ts +1 -1
  33. package/dist/service/bMallConst.wxapp.ts +1 -0
  34. package/dist/service/http/colorSign.ts +1 -1
  35. package/dist/service/http/colorSign.wxapp.ts +1 -0
  36. package/dist/service/http/const.ts +1 -1
  37. package/dist/service/requestServer.ts +1 -1
  38. package/dist/utils/connectNativeJsBridge.ts +1 -1
  39. package/dist/utils/h5Utils.ts +1 -1
  40. package/dist/utils/index.h5.ts +1 -1
  41. package/dist/utils/index.ts +1 -1
  42. package/dist/utils/index.weapp.ts +1 -1
  43. package/dist/utils/jm-common.js +1 -1
  44. package/dist/utils/memberFormatUtils.js +1 -0
  45. package/dist/utils/priceUtils.js +1 -0
  46. package/dist/utils/utils.ts +1 -1
  47. package/package.json +3 -3
  48. package/dist/components/base/Price/index.module.scss +0 -136
@@ -1 +1 @@
1
- import global from '../common'
2
1
  objectToUrlEncode,
3
2
  parseQueryUrlString,
4
3
  filterUrlQueryData,
5
4
  routerInfo: {
6
5
  params: {},
7
6
  },
8
7
  nativeEvent: null,
9
8
  jumpConfig: {
10
9
  venderId: null,
11
10
  shopId: null,
12
11
  sourceValue: '',
13
12
  sourceType: 'M-H5',
14
13
  activityType: 'shopx',
15
14
  moduleId: 'none',
16
15
  entrance: 'none',
17
16
  },
18
17
  logPageParamStr: '',
19
18
  public logPageId: string
20
19
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig
21
20
  getConfig(opt) {
22
21
  return Object.assign(this, {}, defaultConfig, opt)
23
22
  }
24
23
  updateInfo(
25
24
  routerInfo,
26
25
  logPname = LogPnameInfo.HOME,
27
26
  pageId = LogPageIdInfo.APP,
28
27
  ) {
29
28
  this.routerInfo = routerInfo
30
29
  this.logPname = logPname
31
30
  this.jumpConfig = Object.assign(
32
31
  {},
33
32
  this.jumpConfig,
34
33
  filterUrlQueryData(routerInfo?.params || {}),
35
34
  )
36
35
  this.logPageId = pageId
37
36
  }
38
37
 
39
38
  reportInfoPv(
40
39
  pageId = LogPageIdInfo.APP,
41
40
  opt: {
42
41
  pageParam?: any
43
42
  } = {},
44
43
  ) {
45
44
  const { pageParam } = opt
46
45
  const pageParamStr =
47
46
  typeof pageParam === 'object' ? JSON.stringify(pageParam) : pageParam
48
47
  this.logPageParamStr = pageParamStr
49
48
  ? pageParamStr
50
49
  : JSON.stringify(this.jumpConfig)
51
50
  reportPV({
52
51
  pageId,
53
52
  pageParam: this.logPageParamStr,
54
53
  ...opt,
55
54
  })
56
55
  }
57
56
 
58
57
  jdJumpToProduct(skuIds, logEventInfo) {
59
58
  skuIds = skuIds.toString().trim()
60
59
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds
61
60
  this.jdNavigateToNative(
62
61
  `${this.jumpWebUrl.detail}${getSkuId}.html`,
63
62
  logEventInfo,
64
63
  )
65
64
  }
66
65
 
67
66
  jdJumpToRankList(contentId: string | number, rankType = 10, logEventInfo) {
68
67
  const rankUrl = `${this.jumpWebUrl.rank}?contentId=${contentId}&sku=&rankType=${rankType}&fromName=dcpws&hideAd=1`
69
68
  this.jdNavigateToNative(rankUrl, {
70
69
  contentId,
71
70
  ...logEventInfo,
72
71
  })
73
72
  }
74
73
 
75
74
  jdJumpToShopCategory(shopInfo) {
76
75
  this.jdNavigateToNative(
77
76
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode(
78
77
  this.getShopIdOrVenderIdParams(shopInfo),
79
78
  )}&tabActive=classify`,
80
79
  {
81
80
  ...shopInfo,
82
81
  },
83
82
  )
84
83
  }
85
84
 
86
85
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
87
86
  this.jdNavigateToNative(
88
87
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
89
88
  this.getShopIdOrVenderIdParams(shopInfo),
90
89
  )}`,
91
90
  {
92
91
  ...shopInfo,
93
92
  },
94
93
  )
95
94
  }
96
95
 
97
96
  jdJumpToShopLight(shopInfo) {
98
97
  this.jdNavigateToNative(
99
98
  `${this.jumpWebUrl.shopLight}?${objectToUrlEncode(
100
99
  this.getShopIdOrVenderIdParams(shopInfo),
101
100
  )}`,
102
101
  {
103
102
  ...shopInfo,
104
103
  },
105
104
  )
106
105
  }
107
106
 
108
107
  jdJumpToShopMember(shopInfo) {
109
108
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
110
109
  this.jdJumpToWeb(
111
110
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(
112
111
  getShopInfo,
113
112
  )}&venderType=1&channel=406`,
114
113
  shopInfo,
115
114
  )
116
115
  }
117
116
 
118
117
  jdJumpToShopMemberCard(shopInfo) {
119
118
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
120
119
  this.jdJumpToWeb(
121
120
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(getShopInfo)}`,
122
121
  shopInfo,
123
122
  )
124
123
  }
125
124
 
126
125
  jdJumpToTotalPromotion(shopInfo) {
127
126
  const { url, logEventInfo } = shopInfo
128
127
  if (this.isOpenJdAppUrl(url)) {
129
128
  const getOpenAppParams: any = this.jdOpenAppParams(url)
130
129
  if (getOpenAppParams) {
131
130
  if (getOpenAppParams?.activityId) {
132
131
  this.jdJumpToWeb(
133
132
  `${this.jumpWebUrl.totalPromotion}?activity_id=${getOpenAppParams?.activityId}`,
134
133
  shopInfo,
135
134
  )
136
135
  }
137
136
  }
138
137
  } else {
139
138
  this.jdJumpToWeb(url, logEventInfo)
140
139
  }
141
140
  }
142
141
 
143
142
  jdJumpToDongDongChat(paramInfo) {
144
143
  const { venderId = '1', entry = 'm_shop', ...otherInfo } = paramInfo
145
144
  const dongdongUrl = `${this.jumpWebUrl.dongDongChat}?venderId=${venderId}&entry=${entry}&sceneval=2`
146
145
  this.jdJumpToWeb(dongdongUrl, otherInfo)
147
146
  }
148
147
 
149
148
  jdJumpToShopDetail(shopInfo) {
150
149
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
151
150
  this.jdJumpToWeb(
152
151
  `${this.jumpWebUrl.shopIntroduce}?${objectToUrlEncode(getShopInfo)}`,
153
152
  shopInfo,
154
153
  )
155
154
  }
156
155
 
157
156
  jdJumpToShopSearch(shopInfo) {
158
157
  const { shopId, categoryId, keyword, pageId, description, shopName } =
159
158
  shopInfo
160
159
  const cateId = categoryId ? `&cateId=${categoryId}` : ''
161
160
  const addKeyWord = keyword ? `&keyword=${keyword}` : ''
162
161
  const addPageId = pageId ? `&pageId=${pageId}` : ''
163
162
  const searchDes = description ? `&description=${description}` : ''
164
163
  const shopNameDes = shopName ? `&shopName=${shopName}` : ''
165
164
  const searchType = categoryId ? 5 : keyword ? 4 : 3
166
165
  this.jdJumpToWeb(
167
166
  `${this.jumpWebUrl.shopSearch}?shopId=${shopId}&searchType=${searchType}${cateId}${addKeyWord}${addPageId}${searchDes}${shopNameDes}`,
168
167
  shopInfo,
169
168
  )
170
169
  }
171
170
 
172
171
  jdJumpToWeb(
173
172
  url,
174
173
  logEventInfo,
175
174
  successBack?: Function | undefined,
176
175
  failBack?: Function | undefined,
177
176
  ) {
178
177
  this.jdNavigateToNative(
179
178
  url,
180
179
  {
181
180
  ...logEventInfo,
182
181
  },
183
182
  successBack,
184
183
  failBack,
185
184
  )
186
185
  }
187
186
 
188
187
  jdJumpToWebInner(url, logEventInfo) {
189
188
  this.jdJumpToWeb(url, logEventInfo)
190
189
  }
191
190
 
192
191
  jdJumpToLive(liveInfo, logEventInfo = {}) {
193
192
  if (liveInfo?.liveId) {
194
193
  this.jdJumpToWeb(
195
194
  `${this.jumpWebUrl.mLive}/${liveInfo?.liveId}?origin=30`,
196
195
  logEventInfo,
197
196
  )
198
197
  }
199
198
  }
200
199
 
201
200
  jdJumpToShopActivity(shopInfo) {
202
201
  const { configDataValue, logEventInfo, projectId } = shopInfo
203
202
  if (projectId && configDataValue) {
204
203
  this.jdJumpToWeb(
205
204
  `${this.jumpWebUrl.shopSecondActivity}${configDataValue.data}.html`,
206
205
  logEventInfo,
207
206
  )
208
207
  }
209
208
  }
210
209
 
211
210
  jdJumpToActivityPlace(spUrl, logEventInfo) {
212
211
  this.jdNavigateToNative(spUrl, logEventInfo)
213
212
  }
214
213
 
215
214
  jdJumpConfigUrl(detail, logEventInfo = {}) {
216
215
  const { configDataType, configDataValue } = detail
217
216
  console.log(
218
217
  'jdJumpConfigUrl web.base configDataType:',
219
218
  configDataType,
220
219
  configDataValue,
221
220
  )
222
221
  switch (configDataType) {
223
222
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
224
223
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo)
225
224
  break
226
225
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
227
226
  this.jdJumpToWeb(
228
227
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
229
228
  {},
230
229
  )
231
230
  break
232
231
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
233
232
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
234
233
  const getShopSearchParams = this.jdOpenAppParams(
235
234
  configDataValue.clickUrl,
236
235
  )
237
236
  getShopSearchParams &&
238
237
  this.jdJumpToShopSearch(
239
238
  Object.assign({}, getShopSearchParams, {
240
239
  logEventInfo,
241
240
  }),
242
241
  )
243
242
  } else {
244
243
  this.jdJumpToShopSearch(
245
244
  configDataValue['cid']
246
245
  ? Object.assign(
247
246
  {},
248
247
  {
249
248
  shopId: global.info.queryInfo.shopId,
250
249
  categoryId: configDataValue.cid,
251
250
  ...configDataValue,
252
251
  logEventInfo,
253
252
  },
254
253
  )
255
254
  : {
256
255
  shopId: global.info.queryInfo.shopId,
257
256
  logEventInfo,
258
257
  },
259
258
  )
260
259
  }
261
260
  break
262
261
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
263
262
  this.jdJumpToShopCategory({
264
263
  ...configDataValue,
265
264
  logEventInfo,
266
265
  })
267
266
  break
268
267
  case LinkConfigType.CONFIG_TYPE_MEMBER:
269
268
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
270
269
  const getShopMemberParams = this.jdOpenAppParams(
271
270
  configDataValue.clickUrl,
272
271
  )
273
272
  getShopMemberParams &&
274
273
  this.jdJumpToShopMember(
275
274
  Object.assign({}, getShopMemberParams, {
276
275
  logEventInfo,
277
276
  }),
278
277
  )
279
278
  } else {
280
279
  this.jdJumpToShopMember({
281
280
  shopId: global.info.queryInfo.shopId,
282
281
  venderId: configDataValue.shopDetail,
283
282
  logEventInfo,
284
283
  })
285
284
  }
286
285
  break
287
286
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
288
287
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
289
288
  const getShopActivityParams = this.jdOpenAppParams(
290
289
  configDataValue.clickUrl,
291
290
  )
292
291
  if (
293
292
  getShopActivityParams &&
294
293
  getShopActivityParams['des'] == 'jshopActivity'
295
294
  ) {
296
295
  this.jdJumpToShopActivity({
297
296
  projectId: configDataValue['projectId'],
298
297
  configDataValue,
299
298
  logEventInfo,
300
299
  })
301
300
  }
302
301
  } else if (configDataValue['projectId']) {
303
302
  this.jdJumpToShopActivity({
304
303
  projectId: configDataValue['projectId'],
305
304
  configDataValue,
306
305
  logEventInfo,
307
306
  })
308
307
  }
309
308
  break
310
309
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
311
310
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON:
312
311
  const _url = configDataValue.linkUrl
313
312
  const isProductM = /item\.m\.jd\.com/.test(_url)
314
313
  const isProductPC = /item\.jd\.com/.test(_url)
315
314
  if (
316
315
  _url.indexOf('to=') === -1 &&
317
316
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
318
317
  ) {
319
318
  const _shopId = _url.match(/\d+/g)[0]
320
319
  this.jdJumpToShopHome({
321
320
  shopId: `${_shopId}`,
322
321
  logEventInfo,
323
322
  })
324
323
  } else if (this.isOpenJdAppUrl(_url)) {
325
324
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
326
325
  if (getOpenAppParams) {
327
326
  if (getOpenAppParams.jumpTab == 'allProduct') {
328
327
  this.jdJumpToTabAllProduct(
329
328
  global.info.queryInfo.shopId,
330
329
  global.info.queryInfo.venderId,
331
330
  )
332
331
  } else if (
333
332
  getOpenAppParams.des == 'productList' &&
334
333
  getOpenAppParams.from == 'couponBatch'
335
334
  ) {
336
335
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
337
336
  } else if (getOpenAppParams.des == 'vapp') {
338
337
  this.jdJumpToWeb(
339
338
  `https:
340
339
  getOpenAppParams.category
341
340
  }&des=${getOpenAppParams.des}&vapptype=${
342
341
  getOpenAppParams.vapptype
343
342
  }&appId=${getOpenAppParams.appId}&path=${
344
343
  getOpenAppParams.path
345
344
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
346
345
  logEventInfo,
347
346
  )
348
347
  } else {
349
348
  this.jdNavigateToNative(
350
349
  '',
351
350
  Object.assign({}, getOpenAppParams, {
352
351
  logEventInfo,
353
352
  }),
354
353
  )
355
354
  }
356
355
  }
357
356
  } else if (isProductM || isProductPC) {
358
357
  const skuid = _url.match(/\d+/g)[0]
359
358
  if (skuid) {
360
359
  this.jdJumpToProduct(skuid, logEventInfo)
361
360
  }
362
361
  } else {
363
362
  this.jdJumpToWeb(_url, logEventInfo)
364
363
  }
365
364
  break
366
365
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
367
366
  this.jdJumpToShopDetail({
368
367
  venderId: global.info.queryInfo.venderId,
369
368
  shopId: global.info.queryInfo.shopId,
370
369
  logEventInfo,
371
370
  })
372
371
  break
373
372
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
374
373
  this.jdJumpToShopHome({
375
374
  ...configDataValue,
376
375
  logEventInfo,
377
376
  })
378
377
  break
379
378
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
380
379
  break
381
380
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
382
381
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
383
382
  const getShoppingGuideParams = this.jdOpenAppParams(
384
383
  configDataValue.clickUrl,
385
384
  )
386
385
  getShoppingGuideParams &&
387
386
  this.jdJumpToShopActivity(
388
387
  Object.assign({}, getShoppingGuideParams, {
389
388
  logEventInfo,
390
389
  }),
391
390
  )
392
391
  }
393
392
  break
394
393
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
395
394
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
396
395
  const search = linkUrl.match(/\?.+/)
397
396
  if (search) {
398
397
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
399
398
  parseQueryUrlString(linkUrl)
400
399
  try {
401
400
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
402
401
  } catch (e) {
403
402
  console.warn('解析小程序 param 错误:', miniQueryData.param)
404
403
  }
405
404
  this.jdJumpToMiniProgram(miniQueryData)
406
405
  } else {
407
406
  console.warn('小程序地址错误:', linkUrl)
408
407
  }
409
408
  break
410
409
  }
411
410
  default:
412
411
  }
413
412
  }
414
413
 
415
414
  jdJumpToTabAllProduct(shopId, venderId, logEventInfo = {}) {
416
415
  this.jdJumpToWeb(
417
416
  `${this.jumpWebUrl.shopHome}?shopId=${shopId}&venderId=${venderId}&tabActive=home-product`,
418
417
  logEventInfo,
419
418
  )
420
419
  }
421
420
 
422
421
  jdJumpToTabAllProductInner(shopId, venderId, logEventInfo = {}) {
423
422
  this.jdJumpToTabAllProduct(shopId, venderId, logEventInfo)
424
423
  }
425
424
 
426
425
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
427
426
  this.jdJumpToWeb(
428
427
  `${this.jumpWebUrl.couponSearch}?couponbatch=${couponId}&sceneval=2`,
429
428
  logEventInfo,
430
429
  )
431
430
  }
432
431
 
433
432
  jdNavigateToNative(
434
433
  url: string,
435
434
  params: {
436
435
  logEventInfo?: object
437
436
  } = {},
438
437
  successBack?: Function | undefined,
439
438
  failBack?: Function | undefined,
440
439
  ) {
441
440
  const { logEventInfo } = params
442
441
  const getEparam = logEventInfo || params
443
442
  console.log(`url:::::::${url}`)
444
443
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
445
444
  this.clickEventLog(getEparam)
446
445
  .then(() => {
447
446
  typeof successBack == 'function'
448
447
  ? successBack(url)
449
448
  : (window.location.href = url)
450
449
  })
451
450
  .catch(() => {
452
451
  typeof failBack == 'function' && failBack(url)
453
452
  })
454
453
  }
455
454
 
456
455
  clickEventLog(
457
456
  opts: JumpEventReportInterFace.OptEventLogParams = {},
458
457
  reportKey = 'click',
459
458
  ) {
460
459
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts
461
460
  ;/TerminatorNew_/.test(`${eventId}`) &&
462
461
  console.log(`当前h5的楼层模块eventId为====${eventId}`)
463
462
  if (eventId && jsonParam) {
464
463
  const { etModelInfo, logBaseInfo } = jsonParam
465
464
  const getJsonParam =
466
465
  etModelInfo && logBaseInfo
467
466
  ? logBaseInfo
468
467
  : Object.assign(
469
468
  {},
470
469
  {
471
470
  shopid: global.info.queryInfo?.shopId,
472
471
  },
473
472
  jsonParam,
474
473
  )
475
474
  const webLogParams = {
476
475
  eid: eventId,
477
476
  elevel: eventLevel,
478
477
  jsonParam: JSON.stringify(getJsonParam),
479
478
  etModel: JSON.stringify(etModelInfo || {}),
480
479
  pageId: this.logPageId,
481
480
  pageParam: this.logPageParamStr,
482
481
  ...otherParams,
483
482
  }
484
483
  return /click|exposure/.test(reportKey)
485
484
  ? reportClick(webLogParams)
486
485
  : reportToCart(opts)
487
486
  } else {
488
487
  console.log('暂无埋点参数eventId和jsonParam')
489
488
  return Promise.resolve(false)
490
489
  }
491
490
  }
492
491
 
493
492
  exposureEventLog(opts) {
494
493
  return global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE
495
494
  ? this.clickEventLog(
496
495
  {
497
496
  ...opts,
498
497
  exposureState: true,
499
498
  },
500
499
  'exposure',
501
500
  )
502
501
  : Promise.resolve(false)
503
502
  }
503
+ import global from '../common'
504
504
  objectToUrlEncode,
505
505
  parseQueryUrlString,
506
506
  filterUrlQueryData,
507
507
  routerInfo: {
508
508
  params: {},
509
509
  },
510
510
  nativeEvent: null,
511
511
  jumpConfig: {
512
512
  venderId: null,
513
513
  shopId: null,
514
514
  sourceValue: '',
515
515
  sourceType: 'M-H5',
516
516
  activityType: 'shopx',
517
517
  moduleId: 'none',
518
518
  entrance: 'none',
519
519
  },
520
520
  logPageParamStr: '',
521
521
  public logPageId: string
522
522
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig
523
523
  getConfig(opt) {
524
524
  return Object.assign(this, {}, defaultConfig, opt)
525
525
  }
526
526
  updateInfo(
527
527
  routerInfo,
528
528
  logPname = LogPnameInfo.HOME,
529
529
  pageId = LogPageIdInfo.APP,
530
530
  ) {
531
531
  this.routerInfo = routerInfo
532
532
  this.logPname = logPname
533
533
  this.jumpConfig = Object.assign(
534
534
  {},
535
535
  this.jumpConfig,
536
536
  filterUrlQueryData(routerInfo?.params || {}),
537
537
  )
538
538
  this.logPageId = pageId
539
539
  }
540
540
 
541
541
  reportInfoPv(
542
542
  pageId = LogPageIdInfo.APP,
543
543
  opt: {
544
544
  pageParam?: any
545
545
  } = {},
546
546
  ) {
547
547
  const { pageParam } = opt
548
548
  const pageParamStr =
549
549
  typeof pageParam === 'object' ? JSON.stringify(pageParam) : pageParam
550
550
  this.logPageParamStr = pageParamStr
551
551
  ? pageParamStr
552
552
  : JSON.stringify(this.jumpConfig)
553
553
  return reportPV({
554
554
  pageId,
555
555
  pageParam: this.logPageParamStr,
556
556
  ...opt,
557
557
  })
558
558
  }
559
559
 
560
560
  jdJumpToProduct(skuIds, logEventInfo) {
561
561
  skuIds = skuIds.toString().trim()
562
562
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds
563
563
  this.jdNavigateToNative(
564
564
  `${this.jumpWebUrl.detail}${getSkuId}.html`,
565
565
  logEventInfo,
566
566
  )
567
567
  }
568
568
 
569
569
  jdJumpToRankList(contentId: string | number, rankType = 10, logEventInfo) {
570
570
  const rankUrl = `${this.jumpWebUrl.rank}?contentId=${contentId}&sku=&rankType=${rankType}&fromName=dcpws&hideAd=1`
571
571
  this.jdNavigateToNative(rankUrl, {
572
572
  contentId,
573
573
  ...logEventInfo,
574
574
  })
575
575
  }
576
576
 
577
577
  jdJumpToShopCategory(shopInfo) {
578
578
  this.jdNavigateToNative(
579
579
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode(
580
580
  this.getShopIdOrVenderIdParams(shopInfo),
581
581
  )}&tabActive=classify`,
582
582
  {
583
583
  ...shopInfo,
584
584
  },
585
585
  )
586
586
  }
587
587
 
588
588
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
589
589
  this.jdNavigateToNative(
590
590
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
591
591
  this.getShopIdOrVenderIdParams(shopInfo),
592
592
  )}`,
593
593
  {
594
594
  ...shopInfo,
595
595
  },
596
596
  )
597
597
  }
598
598
 
599
599
  jdJumpToShopLight(shopInfo) {
600
600
  this.jdNavigateToNative(
601
601
  `${this.jumpWebUrl.shopLight}?${objectToUrlEncode(
602
602
  this.getShopIdOrVenderIdParams(shopInfo),
603
603
  )}`,
604
604
  {
605
605
  ...shopInfo,
606
606
  },
607
607
  )
608
608
  }
609
609
 
610
610
  jdJumpToShopMember(shopInfo) {
611
611
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
612
612
  this.jdJumpToWeb(
613
613
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(
614
614
  getShopInfo,
615
615
  )}&venderType=1&channel=406`,
616
616
  shopInfo,
617
617
  )
618
618
  }
619
619
 
620
620
  jdJumpToShopMemberCard(shopInfo) {
621
621
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
622
622
  this.jdJumpToWeb(
623
623
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(getShopInfo)}`,
624
624
  shopInfo,
625
625
  )
626
626
  }
627
627
 
628
628
  jdJumpToTotalPromotion(shopInfo) {
629
629
  const { url, logEventInfo } = shopInfo
630
630
  if (this.isOpenJdAppUrl(url)) {
631
631
  const getOpenAppParams: any = this.jdOpenAppParams(url)
632
632
  if (getOpenAppParams) {
633
633
  if (getOpenAppParams?.activityId) {
634
634
  this.jdJumpToWeb(
635
635
  `${this.jumpWebUrl.totalPromotion}?activity_id=${getOpenAppParams?.activityId}`,
636
636
  shopInfo,
637
637
  )
638
638
  }
639
639
  }
640
640
  } else {
641
641
  this.jdJumpToWeb(url, logEventInfo)
642
642
  }
643
643
  }
644
644
 
645
645
  jdJumpToDongDongChat(paramInfo) {
646
646
  const { venderId = '1', entry = 'm_shop', ...otherInfo } = paramInfo
647
647
  const dongdongUrl = `${this.jumpWebUrl.dongDongChat}?venderId=${venderId}&entry=${entry}&sceneval=2`
648
648
  this.jdJumpToWeb(dongdongUrl, otherInfo)
649
649
  }
650
650
 
651
651
  jdJumpToShopDetail(shopInfo) {
652
652
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
653
653
  this.jdJumpToWeb(
654
654
  `${this.jumpWebUrl.shopIntroduce}?${objectToUrlEncode(getShopInfo)}`,
655
655
  shopInfo,
656
656
  )
657
657
  }
658
658
 
659
659
  jdJumpToShopSearch(shopInfo) {
660
660
  const { shopId, categoryId, keyword, pageId, description, shopName } =
661
661
  shopInfo
662
662
  const cateId = categoryId ? `&cateId=${categoryId}` : ''
663
663
  const addKeyWord = keyword ? `&keyword=${keyword}` : ''
664
664
  const addPageId = pageId ? `&pageId=${pageId}` : ''
665
665
  const searchDes = description ? `&description=${description}` : ''
666
666
  const shopNameDes = shopName ? `&shopName=${shopName}` : ''
667
667
  const searchType = categoryId ? 5 : keyword ? 4 : 3
668
668
  this.jdJumpToWeb(
669
669
  `${this.jumpWebUrl.shopSearch}?shopId=${shopId}&searchType=${searchType}${cateId}${addKeyWord}${addPageId}${searchDes}${shopNameDes}`,
670
670
  shopInfo,
671
671
  )
672
672
  }
673
673
 
674
674
  jdJumpToWeb(
675
675
  url,
676
676
  logEventInfo,
677
677
  successBack?: Function | undefined,
678
678
  failBack?: Function | undefined,
679
679
  ) {
680
680
  this.jdNavigateToNative(
681
681
  url,
682
682
  {
683
683
  ...logEventInfo,
684
684
  },
685
685
  successBack,
686
686
  failBack,
687
687
  )
688
688
  }
689
689
 
690
690
  jdJumpToWebInner(url, logEventInfo) {
691
691
  this.jdJumpToWeb(url, logEventInfo)
692
692
  }
693
693
 
694
694
  jdJumpToLive(liveInfo, logEventInfo = {}) {
695
695
  if (liveInfo?.liveId) {
696
696
  this.jdJumpToWeb(
697
697
  `${this.jumpWebUrl.mLive}/${liveInfo?.liveId}?origin=30`,
698
698
  logEventInfo,
699
699
  )
700
700
  }
701
701
  }
702
702
 
703
703
  jdJumpToShopActivity(shopInfo) {
704
704
  const { configDataValue, logEventInfo, projectId } = shopInfo
705
705
  if (projectId && configDataValue) {
706
706
  this.jdJumpToWeb(
707
707
  `${this.jumpWebUrl.shopSecondActivity}${configDataValue.data}.html`,
708
708
  logEventInfo,
709
709
  )
710
710
  }
711
711
  }
712
712
 
713
713
  jdJumpToActivityPlace(spUrl, logEventInfo) {
714
714
  this.jdNavigateToNative(spUrl, logEventInfo)
715
715
  }
716
716
 
717
717
  jdJumpConfigUrl(detail, logEventInfo = {}) {
718
718
  const { configDataType, configDataValue } = detail
719
719
  console.log(
720
720
  'jdJumpConfigUrl web.base configDataType:',
721
721
  configDataType,
722
722
  configDataValue,
723
723
  )
724
724
  switch (configDataType) {
725
725
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
726
726
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo)
727
727
  break
728
728
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
729
729
  this.jdJumpToWeb(
730
730
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
731
731
  {},
732
732
  )
733
733
  break
734
734
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
735
735
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
736
736
  const getShopSearchParams = this.jdOpenAppParams(
737
737
  configDataValue.clickUrl,
738
738
  )
739
739
  getShopSearchParams &&
740
740
  this.jdJumpToShopSearch(
741
741
  Object.assign({}, getShopSearchParams, {
742
742
  logEventInfo,
743
743
  }),
744
744
  )
745
745
  } else {
746
746
  this.jdJumpToShopSearch(
747
747
  configDataValue['cid']
748
748
  ? Object.assign(
749
749
  {},
750
750
  {
751
751
  shopId: global.info.queryInfo.shopId,
752
752
  categoryId: configDataValue.cid,
753
753
  ...configDataValue,
754
754
  logEventInfo,
755
755
  },
756
756
  )
757
757
  : {
758
758
  shopId: global.info.queryInfo.shopId,
759
759
  logEventInfo,
760
760
  },
761
761
  )
762
762
  }
763
763
  break
764
764
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
765
765
  this.jdJumpToShopCategory({
766
766
  ...configDataValue,
767
767
  logEventInfo,
768
768
  })
769
769
  break
770
770
  case LinkConfigType.CONFIG_TYPE_MEMBER:
771
771
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
772
772
  const getShopMemberParams = this.jdOpenAppParams(
773
773
  configDataValue.clickUrl,
774
774
  )
775
775
  getShopMemberParams &&
776
776
  this.jdJumpToShopMember(
777
777
  Object.assign({}, getShopMemberParams, {
778
778
  logEventInfo,
779
779
  }),
780
780
  )
781
781
  } else {
782
782
  this.jdJumpToShopMember({
783
783
  shopId: global.info.queryInfo.shopId,
784
784
  venderId: configDataValue.shopDetail,
785
785
  logEventInfo,
786
786
  })
787
787
  }
788
788
  break
789
789
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
790
790
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
791
791
  const getShopActivityParams = this.jdOpenAppParams(
792
792
  configDataValue.clickUrl,
793
793
  )
794
794
  if (
795
795
  getShopActivityParams &&
796
796
  getShopActivityParams['des'] == 'jshopActivity'
797
797
  ) {
798
798
  this.jdJumpToShopActivity({
799
799
  projectId: configDataValue['projectId'],
800
800
  configDataValue,
801
801
  logEventInfo,
802
802
  })
803
803
  }
804
804
  } else if (configDataValue['projectId']) {
805
805
  this.jdJumpToShopActivity({
806
806
  projectId: configDataValue['projectId'],
807
807
  configDataValue,
808
808
  logEventInfo,
809
809
  })
810
810
  }
811
811
  break
812
812
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
813
813
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON:
814
814
  const _url = configDataValue.linkUrl
815
815
  const isProductM = /item\.m\.jd\.com/.test(_url)
816
816
  const isProductPC = /item\.jd\.com/.test(_url)
817
817
  if (
818
818
  _url.indexOf('to=') === -1 &&
819
819
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
820
820
  ) {
821
821
  const _shopId = _url.match(/\d+/g)[0]
822
822
  this.jdJumpToShopHome({
823
823
  shopId: `${_shopId}`,
824
824
  logEventInfo,
825
825
  })
826
826
  } else if (this.isOpenJdAppUrl(_url)) {
827
827
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
828
828
  if (getOpenAppParams) {
829
829
  if (getOpenAppParams.jumpTab == 'allProduct') {
830
830
  this.jdJumpToTabAllProduct(
831
831
  global.info.queryInfo.shopId,
832
832
  global.info.queryInfo.venderId,
833
833
  )
834
834
  } else if (
835
835
  getOpenAppParams.des == 'productList' &&
836
836
  getOpenAppParams.from == 'couponBatch'
837
837
  ) {
838
838
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
839
839
  } else if (getOpenAppParams.des == 'vapp') {
840
840
  this.jdJumpToWeb(
841
841
  `https:
842
842
  getOpenAppParams.category
843
843
  }&des=${getOpenAppParams.des}&vapptype=${
844
844
  getOpenAppParams.vapptype
845
845
  }&appId=${getOpenAppParams.appId}&path=${
846
846
  getOpenAppParams.path
847
847
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
848
848
  logEventInfo,
849
849
  )
850
850
  } else {
851
851
  this.jdNavigateToNative(
852
852
  '',
853
853
  Object.assign({}, getOpenAppParams, {
854
854
  logEventInfo,
855
855
  }),
856
856
  )
857
857
  }
858
858
  }
859
859
  } else if (isProductM || isProductPC) {
860
860
  const skuid = _url.match(/\d+/g)[0]
861
861
  if (skuid) {
862
862
  this.jdJumpToProduct(skuid, logEventInfo)
863
863
  }
864
864
  } else {
865
865
  this.jdJumpToWeb(_url, logEventInfo)
866
866
  }
867
867
  break
868
868
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
869
869
  this.jdJumpToShopDetail({
870
870
  venderId: global.info.queryInfo.venderId,
871
871
  shopId: global.info.queryInfo.shopId,
872
872
  logEventInfo,
873
873
  })
874
874
  break
875
875
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
876
876
  this.jdJumpToShopHome({
877
877
  ...configDataValue,
878
878
  logEventInfo,
879
879
  })
880
880
  break
881
881
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
882
882
  break
883
883
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
884
884
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
885
885
  const getShoppingGuideParams = this.jdOpenAppParams(
886
886
  configDataValue.clickUrl,
887
887
  )
888
888
  getShoppingGuideParams &&
889
889
  this.jdJumpToShopActivity(
890
890
  Object.assign({}, getShoppingGuideParams, {
891
891
  logEventInfo,
892
892
  }),
893
893
  )
894
894
  }
895
895
  break
896
896
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
897
897
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
898
898
  const search = linkUrl.match(/\?.+/)
899
899
  if (search) {
900
900
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
901
901
  parseQueryUrlString(linkUrl)
902
902
  try {
903
903
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
904
904
  } catch (e) {
905
905
  console.warn('解析小程序 param 错误:', miniQueryData.param)
906
906
  }
907
907
  this.jdJumpToMiniProgram(miniQueryData)
908
908
  } else {
909
909
  console.warn('小程序地址错误:', linkUrl)
910
910
  }
911
911
  break
912
912
  }
913
913
  default:
914
914
  }
915
915
  }
916
916
 
917
917
  jdJumpToTabAllProduct(shopId, venderId, logEventInfo = {}) {
918
918
  this.jdJumpToWeb(
919
919
  `${this.jumpWebUrl.shopHome}?shopId=${shopId}&venderId=${venderId}&tabActive=home-product`,
920
920
  logEventInfo,
921
921
  )
922
922
  }
923
923
 
924
924
  jdJumpToTabAllProductInner(shopId, venderId, logEventInfo = {}) {
925
925
  this.jdJumpToTabAllProduct(shopId, venderId, logEventInfo)
926
926
  }
927
927
 
928
928
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
929
929
  this.jdJumpToWeb(
930
930
  `${this.jumpWebUrl.couponSearch}?couponbatch=${couponId}&sceneval=2`,
931
931
  logEventInfo,
932
932
  )
933
933
  }
934
934
 
935
935
  jdNavigateToNative(
936
936
  url: string,
937
937
  params: {
938
938
  logEventInfo?: object
939
939
  } = {},
940
940
  successBack?: Function | undefined,
941
941
  failBack?: Function | undefined,
942
942
  ) {
943
943
  const { logEventInfo } = params
944
944
  const getEparam = logEventInfo || params
945
945
  console.log(`url:::::::${url}`)
946
946
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
947
947
  this.clickEventLog(getEparam)
948
948
  .then(() => {
949
949
  typeof successBack == 'function'
950
950
  ? successBack(url)
951
951
  : (window.location.href = url)
952
952
  })
953
953
  .catch(() => {
954
954
  typeof failBack == 'function' && failBack(url)
955
955
  })
956
956
  }
957
957
 
958
958
  clickEventLog(
959
959
  opts: JumpEventReportInterFace.OptEventLogParams = {},
960
960
  reportKey = 'click',
961
961
  ) {
962
962
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts
963
963
  ;/TerminatorNew_/.test(`${eventId}`) &&
964
964
  console.log(`当前h5的楼层模块eventId为====${eventId}`)
965
965
  if (eventId && jsonParam) {
966
966
  const { etModelInfo, logBaseInfo } = jsonParam
967
967
  const getJsonParam =
968
968
  etModelInfo && logBaseInfo
969
969
  ? logBaseInfo
970
970
  : Object.assign(
971
971
  {},
972
972
  {
973
973
  shopid: global.info.queryInfo?.shopId,
974
974
  },
975
975
  jsonParam,
976
976
  )
977
977
  const webLogParams = {
978
978
  eid: eventId,
979
979
  elevel: eventLevel,
980
980
  jsonParam: JSON.stringify(getJsonParam),
981
981
  etModel: JSON.stringify(etModelInfo || {}),
982
982
  pageId: this.logPageId,
983
983
  pageParam: this.logPageParamStr,
984
984
  ...otherParams,
985
985
  }
986
986
  return /click|exposure/.test(reportKey)
987
987
  ? reportClick(webLogParams)
988
988
  : reportToCart(opts)
989
989
  } else {
990
990
  console.log('暂无埋点参数eventId和jsonParam')
991
991
  return Promise.resolve(false)
992
992
  }
993
993
  }
994
994
 
995
995
  exposureEventLog(opts) {
996
996
  return global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE
997
997
  ? this.clickEventLog(
998
998
  {
999
999
  ...opts,
1000
1000
  exposureState: true,
1001
1001
  },
1002
1002
  'exposure',
1003
1003
  )
1004
1004
  : Promise.resolve(false)
1005
1005
  }