@conecli/cone-render 0.9.1-shop2.10 → 0.9.1-shop2.12

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 (33) 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/common/jdplayerSdk.ts +1 -0
  7. package/dist/common/sgmCustomCode.ts +1 -1
  8. package/dist/components/base/CustomVideo/index.tsx +1 -1
  9. package/dist/components/base/ExposureSmart/index.tsx +1 -1
  10. package/dist/components/base/InOrOutViewObserver/index.tsx +1 -1
  11. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
  12. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
  13. package/dist/components/base/MobileCommonHeader/index.module.scss +8 -0
  14. package/dist/components/base/MobileCommonHeader/index.tsx +1 -1
  15. package/dist/components/decorate/EmptyFloorModule/index.tsx +1 -1
  16. package/dist/components/isv/Floor/index.tsx +1 -1
  17. package/dist/interface/component.ts +1 -1
  18. package/dist/interface/jumpEventReport.ts +1 -1
  19. package/dist/jumpEventReport/const.ts +1 -1
  20. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  21. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  22. package/dist/jumpEventReport/web.tjm.ts +1 -1
  23. package/dist/jumpEventReport/web.wxapp.ts +1 -1
  24. package/dist/open/api/index.ts +1 -1
  25. package/dist/sass/app.h5.scss +5 -0
  26. package/dist/utils/connectNativeJsBridge.ts +1 -1
  27. package/dist/utils/h5Utils.ts +1 -1
  28. package/dist/utils/index.h5.ts +1 -1
  29. package/dist/utils/index.ts +1 -1
  30. package/dist/utils/index.weapp.ts +1 -1
  31. package/dist/utils/utils.ts +1 -1
  32. package/package.json +1 -1
  33. package/dist/customHooks/useDocumentVisibilitychange.ts +0 -1
@@ -1 +1 @@
1
- import global from '../common'
2
1
  BUSINESS_TYPE,
3
2
  objectToUrlEncode,
4
3
  parseQueryUrlString,
5
4
  isTjScence,
6
5
  isTjM,
7
6
  isTjJxM,
8
7
  isH5AdnJxMini,
9
8
  tjChannel,
10
9
  public logPageId: string
11
10
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig
12
11
  constructor(opt) {
13
12
  super(opt)
14
13
  this.getConfig(opt)
15
14
  console.log('加载特价/京喜m的跳转js文件....')
16
15
  }
17
16
 
18
17
  getTjShopParam () {
19
18
  const { tjshop } = global.info.queryInfo
20
19
  const tjshopParam = tjshop ? `&tjshop=${tjshop}` : ''
21
20
  const tjChannelStr = tjChannel ? `&tjChannel=${tjChannel}` : ''
22
21
  return `${tjshopParam}${tjChannelStr}`
23
22
  }
24
23
 
25
24
  jdJumpToProduct(skuIds, logEventInfo) {
26
25
  skuIds = skuIds.toString().trim()
27
26
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds
28
27
  const { jingxiSdx, ...otherLogInfo } = logEventInfo
29
28
  let url = `${this.jumpWebUrl.detail}${getSkuId}.html`
30
29
  if (isTjScence) {
31
30
  if (isTjM) {
32
31
  url = `${this.jumpWebUrl.tjDetail}?wareId=${getSkuId}`
33
32
  } else if (isTjJxM) {
34
33
  const fd = getUrlQuery('_fd') ? `&_fd=${getUrlQuery('_fd')}` : ''
35
34
  url = `${this.jumpWebUrl.jxDetail}?sku=${getSkuId}${fd}`
36
35
  }
37
36
  }
38
37
  if(jingxiSdx){
39
38
  this.jdNavigateToNative(
40
39
  `${url}?sdx=${jingxiSdx}`,
41
40
  otherLogInfo,
42
41
  )
43
42
  }else {
44
43
  this.jdNavigateToNative(
45
44
  url,
46
45
  logEventInfo,
47
46
  )
48
47
  }
49
48
  }
50
49
 
51
50
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
52
51
  const getInfo = Object.assign(
53
52
  {},
54
53
  {
55
54
  shopId: global.info.queryInfo.shopId,
56
55
  venderId: global.info.queryInfo.venderId,
57
56
  },
58
57
  shopInfo,
59
58
  )
60
59
  this.jdNavigateToNative(
61
60
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
62
61
  this.getShopIdOrVenderIdParams(getInfo),
63
62
  )}${this.getTjShopParam()}`,
64
63
  {
65
64
  ...getInfo,
66
65
  },
67
66
  )
68
67
  }
69
68
 
70
69
  jdJumpToWeb(
71
70
  url,
72
71
  logEventInfo,
73
72
  successBack?: Function | undefined,
74
73
  failBack?: Function | undefined,
75
74
  ) {
76
75
  console.log('web.tjm.ts - jdJumpToWeb')
77
76
  if(url.indexOf('tjshop') == -1) {
78
77
  url = url + this.getTjShopParam()
79
78
  }
80
79
  this.jdNavigateToNative(
81
80
  url,
82
81
  {
83
82
  ...logEventInfo,
84
83
  },
85
84
  successBack,
86
85
  failBack,
87
86
  )
88
87
  }
89
88
 
90
89
  jdJumpConfigUrl(detail, logEventInfo = {}) {
91
90
  const { configDataType, configDataValue } = detail
92
91
  console.log(
93
92
  'jdJumpConfigUrl web.tj.base configDataType:',
94
93
  configDataType,
95
94
  configDataValue,
96
95
  )
97
96
  switch (configDataType) {
98
97
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
99
98
  if(logEventInfo?.jsonParam?.logBaseInfo?.mInfo){
100
99
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid = configDataValue.skuIds
101
100
  }
102
101
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo)
103
102
  break
104
103
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
105
104
  this.jdJumpToWeb(
106
105
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
107
106
  {},
108
107
  )
109
108
  break
110
109
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
111
110
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
112
111
  const getShopSearchParams = this.jdOpenAppParams(
113
112
  configDataValue.clickUrl,
114
113
  )
115
114
  getShopSearchParams &&
116
115
  this.jdJumpToShopSearch(
117
116
  Object.assign({}, getShopSearchParams, {
118
117
  logEventInfo,
119
118
  }),
120
119
  )
121
120
  } else {
122
121
  this.jdJumpToShopSearch(
123
122
  configDataValue['cid']
124
123
  ? Object.assign(
125
124
  {},
126
125
  {
127
126
  shopId: global.info.queryInfo.shopId,
128
127
  categoryId: configDataValue.cid,
129
128
  ...configDataValue,
130
129
  logEventInfo,
131
130
  },
132
131
  )
133
132
  : {
134
133
  shopId: global.info.queryInfo.shopId,
135
134
  logEventInfo,
136
135
  },
137
136
  )
138
137
  }
139
138
  break
140
139
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
141
140
  this.jdJumpToShopCategory({
142
141
  ...configDataValue,
143
142
  logEventInfo,
144
143
  })
145
144
  break
146
145
  case LinkConfigType.CONFIG_TYPE_MEMBER:
147
146
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
148
147
  const getShopMemberParams = this.jdOpenAppParams(
149
148
  configDataValue.clickUrl,
150
149
  )
151
150
  getShopMemberParams &&
152
151
  this.jdJumpToShopMember(
153
152
  Object.assign({}, getShopMemberParams, {
154
153
  logEventInfo,
155
154
  }),
156
155
  )
157
156
  } else {
158
157
  this.jdJumpToShopMember({
159
158
  shopId: global.info.queryInfo.shopId,
160
159
  venderId: configDataValue.shopDetail,
161
160
  logEventInfo,
162
161
  })
163
162
  }
164
163
  break
165
164
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
166
165
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
167
166
  const getShopActivityParams = this.jdOpenAppParams(
168
167
  configDataValue.clickUrl,
169
168
  )
170
169
  if (
171
170
  getShopActivityParams &&
172
171
  getShopActivityParams['des'] == 'jshopActivity'
173
172
  ) {
174
173
  this.jdJumpToShopActivity({
175
174
  projectId: configDataValue['projectId'],
176
175
  configDataValue,
177
176
  logEventInfo,
178
177
  })
179
178
  }
180
179
  } else if (configDataValue['projectId']) {
181
180
  this.jdJumpToShopActivity({
182
181
  projectId: configDataValue['projectId'],
183
182
  configDataValue,
184
183
  logEventInfo,
185
184
  })
186
185
  }
187
186
  break
188
187
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
189
188
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON:
190
189
  let _url = configDataValue.linkUrl
191
190
  const isProductM = /item\.m\.jd\.com/.test(_url)
192
191
  const isProductPC = /item\.jd\.com/.test(_url)
193
192
  if (isTjScence) {
194
193
 
195
194
  if (/(pro|prodev)\.jd\.com(\/mall\/)/.test(_url)) {
196
195
  if (isH5AdnJxMini) {
197
196
  _url = _url.replace(
198
197
  /([prodev]|[pro])(\.jd\.com)(\/mall)/,
199
198
  "$1.m$2/mini"
200
199
  ) + `appCode=${getUrlQuery('appCode')}&wxAppName=jx`
201
200
  } else {
202
201
  _url = _url.replace(
203
202
  /([prodev]|[pro])(\.jd\.com)(\/mall)/,
204
203
  "$1.m$2/jdlite"
205
204
  )
206
205
  }
207
206
  } else if (/(pro|prodev)\.(m\.jd|jd)\.com(\/mall\/)/.test(_url)) {
208
207
  if (isH5AdnJxMini) {
209
208
  _url = _url.replace(
210
209
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
211
210
  "$1$2/mini"
212
211
  ) + `appCode=${getUrlQuery('appCode')}&wxAppName=jx`
213
212
  } else {
214
213
  _url = _url.replace(
215
214
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
216
215
  "$1$2/jdlite"
217
216
  )
218
217
  }
219
218
  }
220
219
  }
221
220
  if (
222
221
  _url.indexOf('to=') === -1 &&
223
222
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
224
223
  ) {
225
224
  const _shopId = _url.match(/\d+/g)[0]
226
225
  this.jdJumpToShopHome({
227
226
  shopId: `${_shopId}`,
228
227
  logEventInfo,
229
228
  })
230
229
  } else if (this.isOpenJdAppUrl(_url)) {
231
230
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
232
231
  if (getOpenAppParams) {
233
232
  if (getOpenAppParams.jumpTab == 'allProduct') {
234
233
  this.jdJumpToTabAllProduct(
235
234
  global.info.queryInfo.shopId,
236
235
  global.info.queryInfo.venderId,
237
236
  )
238
237
  } else if (
239
238
  getOpenAppParams.des == 'productList' &&
240
239
  getOpenAppParams.from == 'couponBatch'
241
240
  ) {
242
241
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
243
242
  } else if (getOpenAppParams.des == 'vapp') {
244
243
  this.jdJumpToWeb(
245
244
  `https:
246
245
  getOpenAppParams.category
247
246
  }&des=${getOpenAppParams.des}&vapptype=${
248
247
  getOpenAppParams.vapptype
249
248
  }&appId=${getOpenAppParams.appId}&path=${
250
249
  getOpenAppParams.path
251
250
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
252
251
  logEventInfo,
253
252
  )
254
253
  } else {
255
254
  this.jdNavigateToNative(
256
255
  '',
257
256
  Object.assign({}, getOpenAppParams, {
258
257
  logEventInfo,
259
258
  }),
260
259
  )
261
260
  }
262
261
  }
263
262
  } else if (isProductM || isProductPC) {
264
263
  const skuid = _url.match(/\d+/g)[0]
265
264
  if (skuid) {
266
265
  this.jdJumpToProduct(skuid, logEventInfo)
267
266
  }
268
267
  } else {
269
268
  this.jdJumpToWeb(_url, logEventInfo)
270
269
  }
271
270
  break
272
271
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
273
272
  this.jdJumpToShopDetail({
274
273
  venderId: global.info.queryInfo.venderId,
275
274
  shopId: global.info.queryInfo.shopId,
276
275
  logEventInfo,
277
276
  })
278
277
  break
279
278
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
280
279
  this.jdJumpToShopHome({
281
280
  ...configDataValue,
282
281
  logEventInfo,
283
282
  })
284
283
  break
285
284
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
286
285
  break
287
286
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
288
287
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
289
288
  const getShoppingGuideParams = this.jdOpenAppParams(
290
289
  configDataValue.clickUrl,
291
290
  )
292
291
  getShoppingGuideParams &&
293
292
  this.jdJumpToShopActivity(
294
293
  Object.assign({}, getShoppingGuideParams, {
295
294
  logEventInfo,
296
295
  }),
297
296
  )
298
297
  }
299
298
  break
300
299
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
301
300
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
302
301
  const search = linkUrl.match(/\?.+/)
303
302
  if (search) {
304
303
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
305
304
  parseQueryUrlString(linkUrl)
306
305
  try {
307
306
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
308
307
  } catch (e) {
309
308
  console.warn('解析小程序 param 错误:', miniQueryData.param)
310
309
  }
311
310
  this.jdJumpToMiniProgram(miniQueryData)
312
311
  } else {
313
312
  console.warn('小程序地址错误:', linkUrl)
314
313
  }
315
314
  break
316
315
  }
317
316
  default:
318
317
  }
319
318
  }
320
319
 
321
320
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
322
321
  if(isTjM) return
323
322
  let batchParam = isTjScence ? `coupon_batch=${couponId}` : `couponbatch=${couponId}`
324
323
  this.jdJumpToWeb(
325
324
  `${this.jumpWebUrl.jxCouponSearch}?${batchParam}`,
326
325
  logEventInfo,
327
326
  )
328
327
  }
329
328
 
330
329
  jdNavigateToNative(
331
330
  url: string,
332
331
  params: {
333
332
  logEventInfo?: object
334
333
  } = {},
335
334
  successBack?: Function | undefined,
336
335
  failBack?: Function | undefined,
337
336
  ) {
338
337
  const { logEventInfo } = params
339
338
  const getEparam = logEventInfo || params
340
339
  if(url.indexOf('tjshop') == -1) {
341
340
  url = url + this.getTjShopParam()
342
341
  }
343
342
  console.log(`url:::::::${url}`)
344
343
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
345
344
  this.clickEventLog(getEparam)
346
345
  .then(() => {
347
346
  typeof successBack == 'function'
348
347
  ? successBack(url)
349
348
  : (window.location.href = url)
350
349
  })
351
350
  .catch(() => {
352
351
  typeof failBack == 'function' && failBack(url)
353
352
  })
354
353
  }
354
+ import global from '../common'
355
355
  BUSINESS_TYPE,
356
356
  objectToUrlEncode,
357
357
  parseQueryUrlString,
358
358
  isTjScence,
359
359
  isTjM,
360
360
  isTjJxM,
361
361
  isH5AdnJxMini,
362
362
  tjChannel,
363
363
  public logPageId: string
364
364
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig
365
365
  constructor(opt) {
366
366
  super(opt)
367
367
  this.getConfig(opt)
368
368
  console.log('加载特价/京喜m的跳转js文件....')
369
369
  }
370
370
 
371
371
  getTjShopParam () {
372
372
  const { tjshop } = global.info.queryInfo
373
373
  const tjshopParam = tjshop ? `&tjshop=${tjshop}` : ''
374
374
  const tjChannelStr = tjChannel ? `&tjChannel=${tjChannel}` : ''
375
375
  return `${tjshopParam}${tjChannelStr}`
376
376
  }
377
377
 
378
378
  jdJumpToProduct(skuIds, logEventInfo) {
379
379
  skuIds = skuIds.toString().trim()
380
380
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds
381
381
  const { jingxiSdx, ...otherLogInfo } = logEventInfo
382
382
  let url = `${this.jumpWebUrl.detail}${getSkuId}.html`
383
383
  if (isTjScence) {
384
384
  if (isTjM) {
385
385
  url = `${this.jumpWebUrl.tjDetail}?wareId=${getSkuId}`
386
386
  } else if (isTjJxM) {
387
387
  const { _fd } = global.info.queryInfo
388
388
  const fd = _fd ? `&_fd=${_fd}` : ''
389
389
  url = `${this.jumpWebUrl.jxDetail}?sku=${getSkuId}${fd}`
390
390
  }
391
391
  }
392
392
  if(jingxiSdx){
393
393
  this.jdNavigateToNative(
394
394
  `${url}?sdx=${jingxiSdx}`,
395
395
  otherLogInfo,
396
396
  )
397
397
  }else {
398
398
  this.jdNavigateToNative(
399
399
  url,
400
400
  logEventInfo,
401
401
  )
402
402
  }
403
403
  }
404
404
 
405
405
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
406
406
  const getInfo = Object.assign(
407
407
  {},
408
408
  {
409
409
  shopId: global.info.queryInfo.shopId,
410
410
  venderId: global.info.queryInfo.venderId,
411
411
  },
412
412
  shopInfo,
413
413
  )
414
414
  this.jdNavigateToNative(
415
415
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
416
416
  this.getShopIdOrVenderIdParams(getInfo),
417
417
  )}${this.getTjShopParam()}`,
418
418
  {
419
419
  ...getInfo,
420
420
  },
421
421
  )
422
422
  }
423
423
 
424
424
  jdJumpToWeb(
425
425
  url,
426
426
  logEventInfo,
427
427
  successBack?: Function | undefined,
428
428
  failBack?: Function | undefined,
429
429
  ) {
430
430
  console.log('web.tjm.ts - jdJumpToWeb')
431
431
  if(url.indexOf('tjshop') == -1) {
432
432
  url = url + this.getTjShopParam()
433
433
  }
434
434
  this.jdNavigateToNative(
435
435
  url,
436
436
  {
437
437
  ...logEventInfo,
438
438
  },
439
439
  successBack,
440
440
  failBack,
441
441
  )
442
442
  }
443
443
 
444
444
  jdJumpConfigUrl(detail, logEventInfo = {}) {
445
445
  const { configDataType, configDataValue } = detail
446
446
  console.log(
447
447
  'jdJumpConfigUrl web.tj.base configDataType:',
448
448
  configDataType,
449
449
  configDataValue,
450
450
  )
451
451
  switch (configDataType) {
452
452
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
453
453
  if(logEventInfo?.jsonParam?.logBaseInfo?.mInfo){
454
454
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid = configDataValue.skuIds
455
455
  }
456
456
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo)
457
457
  break
458
458
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
459
459
  this.jdJumpToWeb(
460
460
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
461
461
  {},
462
462
  )
463
463
  break
464
464
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
465
465
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
466
466
  const getShopSearchParams = this.jdOpenAppParams(
467
467
  configDataValue.clickUrl,
468
468
  )
469
469
  getShopSearchParams &&
470
470
  this.jdJumpToShopSearch(
471
471
  Object.assign({}, getShopSearchParams, {
472
472
  logEventInfo,
473
473
  }),
474
474
  )
475
475
  } else {
476
476
  this.jdJumpToShopSearch(
477
477
  configDataValue['cid']
478
478
  ? Object.assign(
479
479
  {},
480
480
  {
481
481
  shopId: global.info.queryInfo.shopId,
482
482
  categoryId: configDataValue.cid,
483
483
  ...configDataValue,
484
484
  logEventInfo,
485
485
  },
486
486
  )
487
487
  : {
488
488
  shopId: global.info.queryInfo.shopId,
489
489
  logEventInfo,
490
490
  },
491
491
  )
492
492
  }
493
493
  break
494
494
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
495
495
  this.jdJumpToShopCategory({
496
496
  ...configDataValue,
497
497
  logEventInfo,
498
498
  })
499
499
  break
500
500
  case LinkConfigType.CONFIG_TYPE_MEMBER:
501
501
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
502
502
  const getShopMemberParams = this.jdOpenAppParams(
503
503
  configDataValue.clickUrl,
504
504
  )
505
505
  getShopMemberParams &&
506
506
  this.jdJumpToShopMember(
507
507
  Object.assign({}, getShopMemberParams, {
508
508
  logEventInfo,
509
509
  }),
510
510
  )
511
511
  } else {
512
512
  this.jdJumpToShopMember({
513
513
  shopId: global.info.queryInfo.shopId,
514
514
  venderId: configDataValue.shopDetail,
515
515
  logEventInfo,
516
516
  })
517
517
  }
518
518
  break
519
519
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
520
520
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
521
521
  const getShopActivityParams = this.jdOpenAppParams(
522
522
  configDataValue.clickUrl,
523
523
  )
524
524
  if (
525
525
  getShopActivityParams &&
526
526
  getShopActivityParams['des'] == 'jshopActivity'
527
527
  ) {
528
528
  this.jdJumpToShopActivity({
529
529
  projectId: configDataValue['projectId'],
530
530
  configDataValue,
531
531
  logEventInfo,
532
532
  })
533
533
  }
534
534
  } else if (configDataValue['projectId']) {
535
535
  this.jdJumpToShopActivity({
536
536
  projectId: configDataValue['projectId'],
537
537
  configDataValue,
538
538
  logEventInfo,
539
539
  })
540
540
  }
541
541
  break
542
542
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
543
543
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON:
544
544
  let _url = configDataValue.linkUrl
545
545
  const isProductM = /item\.m\.jd\.com/.test(_url)
546
546
  const isProductPC = /item\.jd\.com/.test(_url)
547
547
  if (isTjScence) {
548
548
  const { appCode } = global.info.queryInfo
549
549
 
550
550
  if (/(pro|prodev)\.jd\.com(\/mall\/)/.test(_url)) {
551
551
  if (isH5AdnJxMini) {
552
552
  _url = _url.replace(
553
553
  /([prodev]|[pro])(\.jd\.com)(\/mall)/,
554
554
  "$1.m$2/mini"
555
555
  ) + `appCode=${appCode}&wxAppName=jx`
556
556
  } else {
557
557
  _url = _url.replace(
558
558
  /([prodev]|[pro])(\.jd\.com)(\/mall)/,
559
559
  "$1.m$2/jdlite"
560
560
  )
561
561
  }
562
562
  } else if (/(pro|prodev)\.(m\.jd|jd)\.com(\/mall\/)/.test(_url)) {
563
563
  if (isH5AdnJxMini) {
564
564
  _url = _url.replace(
565
565
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
566
566
  "$1$2/mini"
567
567
  ) + `appCode=${appCode}&wxAppName=jx`
568
568
  } else {
569
569
  _url = _url.replace(
570
570
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
571
571
  "$1$2/jdlite"
572
572
  )
573
573
  }
574
574
  }
575
575
  }
576
576
  if (
577
577
  _url.indexOf('to=') === -1 &&
578
578
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
579
579
  ) {
580
580
  const _shopId = _url.match(/\d+/g)[0]
581
581
  this.jdJumpToShopHome({
582
582
  shopId: `${_shopId}`,
583
583
  logEventInfo,
584
584
  })
585
585
  } else if (this.isOpenJdAppUrl(_url)) {
586
586
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
587
587
  if (getOpenAppParams) {
588
588
  if (getOpenAppParams.jumpTab == 'allProduct') {
589
589
  this.jdJumpToTabAllProduct(
590
590
  global.info.queryInfo.shopId,
591
591
  global.info.queryInfo.venderId,
592
592
  )
593
593
  } else if (
594
594
  getOpenAppParams.des == 'productList' &&
595
595
  getOpenAppParams.from == 'couponBatch'
596
596
  ) {
597
597
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
598
598
  } else if (getOpenAppParams.des == 'vapp') {
599
599
  this.jdJumpToWeb(
600
600
  `https:
601
601
  getOpenAppParams.category
602
602
  }&des=${getOpenAppParams.des}&vapptype=${
603
603
  getOpenAppParams.vapptype
604
604
  }&appId=${getOpenAppParams.appId}&path=${
605
605
  getOpenAppParams.path
606
606
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
607
607
  logEventInfo,
608
608
  )
609
609
  } else {
610
610
  this.jdNavigateToNative(
611
611
  '',
612
612
  Object.assign({}, getOpenAppParams, {
613
613
  logEventInfo,
614
614
  }),
615
615
  )
616
616
  }
617
617
  }
618
618
  } else if (isProductM || isProductPC) {
619
619
  const skuid = _url.match(/\d+/g)[0]
620
620
  if (skuid) {
621
621
  this.jdJumpToProduct(skuid, logEventInfo)
622
622
  }
623
623
  } else {
624
624
  this.jdJumpToWeb(_url, logEventInfo)
625
625
  }
626
626
  break
627
627
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
628
628
  this.jdJumpToShopDetail({
629
629
  venderId: global.info.queryInfo.venderId,
630
630
  shopId: global.info.queryInfo.shopId,
631
631
  logEventInfo,
632
632
  })
633
633
  break
634
634
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
635
635
  this.jdJumpToShopHome({
636
636
  ...configDataValue,
637
637
  logEventInfo,
638
638
  })
639
639
  break
640
640
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
641
641
  break
642
642
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
643
643
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
644
644
  const getShoppingGuideParams = this.jdOpenAppParams(
645
645
  configDataValue.clickUrl,
646
646
  )
647
647
  getShoppingGuideParams &&
648
648
  this.jdJumpToShopActivity(
649
649
  Object.assign({}, getShoppingGuideParams, {
650
650
  logEventInfo,
651
651
  }),
652
652
  )
653
653
  }
654
654
  break
655
655
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
656
656
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
657
657
  const search = linkUrl.match(/\?.+/)
658
658
  if (search) {
659
659
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
660
660
  parseQueryUrlString(linkUrl)
661
661
  try {
662
662
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
663
663
  } catch (e) {
664
664
  console.warn('解析小程序 param 错误:', miniQueryData.param)
665
665
  }
666
666
  this.jdJumpToMiniProgram(miniQueryData)
667
667
  } else {
668
668
  console.warn('小程序地址错误:', linkUrl)
669
669
  }
670
670
  break
671
671
  }
672
672
  default:
673
673
  }
674
674
  }
675
675
 
676
676
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
677
677
  if(isTjM) return
678
678
  let batchParam = isTjScence ? `coupon_batch=${couponId}` : `couponbatch=${couponId}`
679
679
  this.jdJumpToWeb(
680
680
  `${this.jumpWebUrl.jxCouponSearch}?${batchParam}`,
681
681
  logEventInfo,
682
682
  )
683
683
  }
684
684
 
685
685
  jdNavigateToNative(
686
686
  url: string,
687
687
  params: {
688
688
  logEventInfo?: object
689
689
  } = {},
690
690
  successBack?: Function | undefined,
691
691
  failBack?: Function | undefined,
692
692
  ) {
693
693
  const { logEventInfo } = params
694
694
  const getEparam = logEventInfo || params
695
695
  if(url.indexOf('tjshop') == -1) {
696
696
  url = url + this.getTjShopParam()
697
697
  }
698
698
  console.log(`url:::::::${url}`)
699
699
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
700
700
  this.clickEventLog(getEparam)
701
701
  .then(() => {
702
702
  typeof successBack == 'function'
703
703
  ? successBack(url)
704
704
  : (window.location.href = url)
705
705
  })
706
706
  .catch(() => {
707
707
  typeof failBack == 'function' && failBack(url)
708
708
  })
709
709
  }