@conecli/cone-render 0.9.1-shop2.9 → 0.10.1-beta.1

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.
@@ -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}&sceneval=2`,
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
  objectToUrlEncode,
356
356
  parseQueryUrlString,
357
357
  isTjScence,
358
358
  isTjM,
359
359
  isTjJxM,
360
360
  isH5AdnJxMini,
361
361
  tjChannel,
362
362
  public logPageId: string
363
363
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig
364
364
  constructor(opt) {
365
365
  super(opt)
366
366
  this.getConfig(opt)
367
367
  console.log('加载特价/京喜m的跳转js文件....')
368
368
  }
369
369
 
370
370
  getTjShopParam() {
371
371
  const { tjshop } = global.info.queryInfo
372
372
  const tjshopParam = tjshop ? `&tjshop=${tjshop}` : ''
373
373
  const tjChannelStr = tjChannel ? `&tjChannel=${tjChannel}` : ''
374
374
  return `${tjshopParam}${tjChannelStr}`
375
375
  }
376
376
 
377
377
  jdJumpToProduct(skuIds, logEventInfo) {
378
378
  skuIds = skuIds.toString().trim()
379
379
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds
380
380
  const { jingxiSdx, ...otherLogInfo } = logEventInfo
381
381
  let url = `${this.jumpWebUrl.detail}${getSkuId}.html`
382
382
  if (isTjScence) {
383
383
  if (isTjM) {
384
384
  url = `${this.jumpWebUrl.tjDetail}?wareId=${getSkuId}`
385
385
  } else if (isTjJxM) {
386
386
  const { _fd } = global.info.queryInfo
387
387
  const fd = _fd ? `&_fd=${_fd}` : ''
388
388
  url = `${this.jumpWebUrl.jxDetail}?sku=${getSkuId}${fd}`
389
389
  }
390
390
  }
391
391
  if (jingxiSdx) {
392
392
  this.jdNavigateToNative(`${url}?sdx=${jingxiSdx}`, otherLogInfo)
393
393
  } else {
394
394
  this.jdNavigateToNative(url, logEventInfo)
395
395
  }
396
396
  }
397
397
 
398
398
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
399
399
  const getInfo = Object.assign(
400
400
  {},
401
401
  {
402
402
  shopId: global.info.queryInfo.shopId,
403
403
  venderId: global.info.queryInfo.venderId,
404
404
  },
405
405
  shopInfo,
406
406
  )
407
407
  this.jdNavigateToNative(
408
408
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
409
409
  this.getShopIdOrVenderIdParams(getInfo),
410
410
  )}${this.getTjShopParam()}`,
411
411
  {
412
412
  ...getInfo,
413
413
  },
414
414
  )
415
415
  }
416
416
 
417
417
  jdJumpToWeb(
418
418
  url,
419
419
  logEventInfo,
420
420
  successBack?: Function | undefined,
421
421
  failBack?: Function | undefined,
422
422
  ) {
423
423
  console.log('web.tjm.ts - jdJumpToWeb')
424
424
  if (url.indexOf('tjshop') == -1) {
425
425
  url = url + this.getTjShopParam()
426
426
  }
427
427
  this.jdNavigateToNative(
428
428
  url,
429
429
  {
430
430
  ...logEventInfo,
431
431
  },
432
432
  successBack,
433
433
  failBack,
434
434
  )
435
435
  }
436
436
 
437
437
  jdJumpConfigUrl(detail, logEventInfo = {}) {
438
438
  const { configDataType, configDataValue } = detail
439
439
  console.log(
440
440
  'jdJumpConfigUrl web.tj.base configDataType:',
441
441
  configDataType,
442
442
  configDataValue,
443
443
  )
444
444
  switch (configDataType) {
445
445
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
446
446
  if (logEventInfo?.jsonParam?.logBaseInfo?.mInfo) {
447
447
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid =
448
448
  configDataValue.skuIds
449
449
  }
450
450
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo)
451
451
  break
452
452
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
453
453
  this.jdJumpToWeb(
454
454
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
455
455
  {},
456
456
  )
457
457
  break
458
458
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
459
459
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
460
460
  const getShopSearchParams = this.jdOpenAppParams(
461
461
  configDataValue.clickUrl,
462
462
  )
463
463
  getShopSearchParams &&
464
464
  this.jdJumpToShopSearch(
465
465
  Object.assign({}, getShopSearchParams, {
466
466
  logEventInfo,
467
467
  }),
468
468
  )
469
469
  } else {
470
470
  this.jdJumpToShopSearch(
471
471
  configDataValue['cid']
472
472
  ? Object.assign(
473
473
  {},
474
474
  {
475
475
  shopId: global.info.queryInfo.shopId,
476
476
  categoryId: configDataValue.cid,
477
477
  ...configDataValue,
478
478
  logEventInfo,
479
479
  },
480
480
  )
481
481
  : {
482
482
  shopId: global.info.queryInfo.shopId,
483
483
  logEventInfo,
484
484
  },
485
485
  )
486
486
  }
487
487
  break
488
488
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
489
489
  this.jdJumpToShopCategory({
490
490
  ...configDataValue,
491
491
  logEventInfo,
492
492
  })
493
493
  break
494
494
  case LinkConfigType.CONFIG_TYPE_MEMBER:
495
495
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
496
496
  const getShopMemberParams = this.jdOpenAppParams(
497
497
  configDataValue.clickUrl,
498
498
  )
499
499
  getShopMemberParams &&
500
500
  this.jdJumpToShopMember(
501
501
  Object.assign({}, getShopMemberParams, {
502
502
  logEventInfo,
503
503
  }),
504
504
  )
505
505
  } else {
506
506
  this.jdJumpToShopMember({
507
507
  shopId: global.info.queryInfo.shopId,
508
508
  venderId: configDataValue.shopDetail,
509
509
  logEventInfo,
510
510
  })
511
511
  }
512
512
  break
513
513
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
514
514
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
515
515
  const getShopActivityParams = this.jdOpenAppParams(
516
516
  configDataValue.clickUrl,
517
517
  )
518
518
  if (
519
519
  getShopActivityParams &&
520
520
  getShopActivityParams['des'] == 'jshopActivity'
521
521
  ) {
522
522
  this.jdJumpToShopActivity({
523
523
  projectId: configDataValue['projectId'],
524
524
  configDataValue,
525
525
  logEventInfo,
526
526
  })
527
527
  }
528
528
  } else if (configDataValue['projectId']) {
529
529
  this.jdJumpToShopActivity({
530
530
  projectId: configDataValue['projectId'],
531
531
  configDataValue,
532
532
  logEventInfo,
533
533
  })
534
534
  }
535
535
  break
536
536
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
537
537
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON:
538
538
  let _url = configDataValue.linkUrl
539
539
  const isProductM = /item\.m\.jd\.com/.test(_url)
540
540
  const isProductPC = /item\.jd\.com/.test(_url)
541
541
  if (isTjScence) {
542
542
  const { appCode } = global.info.queryInfo
543
543
 
544
544
  if (/(pro|prodev)\.jd\.com(\/mall\/)/.test(_url)) {
545
545
  if (isH5AdnJxMini) {
546
546
  _url =
547
547
  _url.replace(
548
548
  /([prodev]|[pro])(\.jd\.com)(\/mall)/,
549
549
  '$1.m$2/mini',
550
550
  ) + `appCode=${appCode}&wxAppName=jx`
551
551
  } else {
552
552
  _url = _url.replace(
553
553
  /([prodev]|[pro])(\.jd\.com)(\/mall)/,
554
554
  '$1.m$2/jdlite',
555
555
  )
556
556
  }
557
557
  } else if (/(pro|prodev)\.(m\.jd|jd)\.com(\/mall\/)/.test(_url)) {
558
558
  if (isH5AdnJxMini) {
559
559
  _url =
560
560
  _url.replace(
561
561
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
562
562
  '$1$2/mini',
563
563
  ) + `appCode=${appCode}&wxAppName=jx`
564
564
  } else {
565
565
  _url = _url.replace(
566
566
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
567
567
  '$1$2/jdlite',
568
568
  )
569
569
  }
570
570
  }
571
571
  }
572
572
  if (
573
573
  _url.indexOf('to=') === -1 &&
574
574
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
575
575
  ) {
576
576
  const _shopId = _url.match(/\d+/g)[0]
577
577
  this.jdJumpToShopHome({
578
578
  shopId: `${_shopId}`,
579
579
  logEventInfo,
580
580
  })
581
581
  } else if (this.isOpenJdAppUrl(_url)) {
582
582
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
583
583
  if (getOpenAppParams) {
584
584
  if (getOpenAppParams.jumpTab == 'allProduct') {
585
585
  this.jdJumpToTabAllProduct(
586
586
  global.info.queryInfo.shopId,
587
587
  global.info.queryInfo.venderId,
588
588
  )
589
589
  } else if (
590
590
  getOpenAppParams.des == 'productList' &&
591
591
  getOpenAppParams.from == 'couponBatch'
592
592
  ) {
593
593
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
594
594
  } else if (getOpenAppParams.des == 'vapp') {
595
595
  this.jdJumpToWeb(
596
596
  `https:
597
597
  getOpenAppParams.category
598
598
  }&des=${getOpenAppParams.des}&vapptype=${
599
599
  getOpenAppParams.vapptype
600
600
  }&appId=${getOpenAppParams.appId}&path=${
601
601
  getOpenAppParams.path
602
602
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
603
603
  logEventInfo,
604
604
  )
605
605
  } else {
606
606
  this.jdNavigateToNative(
607
607
  '',
608
608
  Object.assign({}, getOpenAppParams, {
609
609
  logEventInfo,
610
610
  }),
611
611
  )
612
612
  }
613
613
  }
614
614
  } else if (isProductM || isProductPC) {
615
615
  const skuid = _url.match(/\d+/g)[0]
616
616
  if (skuid) {
617
617
  this.jdJumpToProduct(skuid, logEventInfo)
618
618
  }
619
619
  } else {
620
620
  this.jdJumpToWeb(_url, logEventInfo)
621
621
  }
622
622
  break
623
623
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
624
624
  this.jdJumpToShopDetail({
625
625
  venderId: global.info.queryInfo.venderId,
626
626
  shopId: global.info.queryInfo.shopId,
627
627
  logEventInfo,
628
628
  })
629
629
  break
630
630
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
631
631
  this.jdJumpToShopHome({
632
632
  ...configDataValue,
633
633
  logEventInfo,
634
634
  })
635
635
  break
636
636
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
637
637
  break
638
638
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
639
639
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
640
640
  const getShoppingGuideParams = this.jdOpenAppParams(
641
641
  configDataValue.clickUrl,
642
642
  )
643
643
  getShoppingGuideParams &&
644
644
  this.jdJumpToShopActivity(
645
645
  Object.assign({}, getShoppingGuideParams, {
646
646
  logEventInfo,
647
647
  }),
648
648
  )
649
649
  }
650
650
  break
651
651
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
652
652
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
653
653
  const search = linkUrl.match(/\?.+/)
654
654
  if (search) {
655
655
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams = parseQueryUrlString(
656
656
  linkUrl,
657
657
  )
658
658
  try {
659
659
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
660
660
  } catch (e) {
661
661
  console.warn('解析小程序 param 错误:', miniQueryData.param)
662
662
  }
663
663
  this.jdJumpToMiniProgram(miniQueryData)
664
664
  } else {
665
665
  console.warn('小程序地址错误:', linkUrl)
666
666
  }
667
667
  break
668
668
  }
669
669
  default:
670
670
  }
671
671
  }
672
672
 
673
673
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
674
674
  if (isTjM) return
675
675
  let batchParam = isTjScence
676
676
  ? `coupon_batch=${couponId}`
677
677
  : `couponbatch=${couponId}`
678
678
  this.jdJumpToWeb(
679
679
  `${this.jumpWebUrl.jxCouponSearch}?${batchParam}`,
680
680
  logEventInfo,
681
681
  )
682
682
  }
683
683
 
684
684
  jdNavigateToNative(
685
685
  url: string,
686
686
  params: {
687
687
  logEventInfo?: object
688
688
  } = {},
689
689
  successBack?: Function | undefined,
690
690
  failBack?: Function | undefined,
691
691
  ) {
692
692
  const { logEventInfo } = params
693
693
  const getEparam = logEventInfo || params
694
694
  if (url.indexOf('tjshop') == -1) {
695
695
  url = url + this.getTjShopParam()
696
696
  }
697
697
  console.log(`url:::::::${url}`)
698
698
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
699
699
  this.clickEventLog(getEparam)
700
700
  .then(() => {
701
701
  typeof successBack == 'function'
702
702
  ? successBack(url)
703
703
  : (window.location.href = url)
704
704
  })
705
705
  .catch(() => {
706
706
  typeof failBack == 'function' && failBack(url)
707
707
  })
708
708
  }