@conecli/cone-render 0.9.1-shop2.31 → 0.9.1-shop2.32

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