@conecli/cone-render 0.10.1-beta.5 → 0.10.1-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/api/index.ts +1 -1
  2. package/dist/common/const.ts +1 -1
  3. package/dist/common/environmentType.ts +1 -1
  4. package/dist/common/index.h5.ts +1 -1
  5. package/dist/common/index.jd.ts +1 -1
  6. package/dist/common/index.ts +1 -1
  7. package/dist/common/index.weapp.ts +1 -1
  8. package/dist/common/pageType.ts +1 -1
  9. package/dist/common/sgmCustomCode.ts +1 -1
  10. package/dist/components/base/CountDown/index.module.scss +49 -44
  11. package/dist/components/base/CountDown/index.tsx +1 -1
  12. package/dist/components/base/CustomVideo/common.ts +1 -0
  13. package/dist/components/base/CustomVideo/index.tsx +1 -1
  14. package/dist/components/base/LazyLoadImage/index.h5.module.scss +11 -6
  15. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
  16. package/dist/components/base/Price/Base/index.tsx +1 -1
  17. package/dist/components/base/Price/Double/index.module.scss +8 -0
  18. package/dist/components/base/Price/Double/index.tsx +1 -1
  19. package/dist/components/floorItem.tsx +1 -1
  20. package/dist/components/isv/Floor/index.tsx +1 -1
  21. package/dist/interface/component.ts +1 -1
  22. package/dist/interface/jumpEventReport.ts +1 -1
  23. package/dist/interface/service.ts +1 -1
  24. package/dist/jumpEventReport/base.ts +1 -1
  25. package/dist/jumpEventReport/index.jd.ts +1 -1
  26. package/dist/jumpEventReport/index.weapp.ts +1 -1
  27. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  28. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  29. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  30. package/dist/jumpEventReport/web.base.ts +1 -1
  31. package/dist/jumpEventReport/web.jd.ts +1 -1
  32. package/dist/jumpEventReport/web.jdb.ts +1 -1
  33. package/dist/jumpEventReport/web.jdjch.ts +1 -1
  34. package/dist/jumpEventReport/web.jxwxapp.ts +1 -1
  35. package/dist/jumpEventReport/web.pc.ts +1 -1
  36. package/dist/jumpEventReport/web.tjapp.ts +1 -1
  37. package/dist/jumpEventReport/web.tjm.ts +1 -1
  38. package/dist/jumpEventReport/web.wxapp.ts +1 -1
  39. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  40. package/dist/modules/ContainerFloorList/index.tsx +1 -1
  41. package/dist/open/api/util.ts +1 -1
  42. package/dist/sass/base.scss +142 -141
  43. package/dist/service/fetchGateway.ts +1 -1
  44. package/dist/service/http/colorSign.ts +1 -1
  45. package/dist/service/http/h5Http.ts +1 -0
  46. package/dist/service/http/index.h5.ts +1 -0
  47. package/dist/service/requestServer.h5.ts +1 -0
  48. package/dist/service/requestServer.ts +1 -1
  49. package/dist/utils/connectNativeJsBridge.ts +1 -1
  50. package/dist/utils/connectNativeJsBridge.weapp.ts +1 -1
  51. package/dist/utils/h5Utils.ts +1 -1
  52. package/dist/utils/index.h5.ts +1 -1
  53. package/dist/utils/index.ts +1 -1
  54. package/dist/utils/index.weapp.ts +1 -1
  55. package/dist/utils/utils.ts +1 -1
  56. package/package.json +35 -29
  57. package/dist/utils/memberFormatUtils.js +0 -1
@@ -1 +1 @@
1
- import global from '../common'
2
1
  objectToUrlEncode,
3
2
  parseQueryUrlString,
4
3
  isTjScence,
5
4
  isTjM,
6
5
  isTjJxM,
7
6
  isH5AdnJxMini,
8
7
  tjChannel,
9
8
  public logPageId: string
10
9
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig
11
10
  constructor(opt) {
12
11
  super(opt)
13
12
  this.getConfig(opt)
14
13
  console.log('加载特价/京喜m的跳转js文件....')
15
14
  }
16
15
 
17
16
  getTjShopParam() {
18
17
  const { tjshop } = global.info.queryInfo
19
18
  const tjshopParam = tjshop ? `&tjshop=${tjshop}` : ''
20
19
  const tjChannelStr = tjChannel ? `&tjChannel=${tjChannel}` : ''
21
20
  return `${tjshopParam}${tjChannelStr}`
22
21
  }
23
22
 
24
23
  jdJumpToProduct(skuIds, logEventInfo) {
25
24
  skuIds = skuIds.toString().trim()
26
25
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds
27
26
  const { jingxiSdx, ...otherLogInfo } = logEventInfo
28
27
  let url = `${this.jumpWebUrl.detail}${getSkuId}.html`
29
28
  if (isTjScence) {
30
29
  if (isTjM) {
31
30
  url = `${this.jumpWebUrl.tjDetail}?wareId=${getSkuId}`
32
31
  } else if (isTjJxM) {
33
32
  const { _fd } = global.info.queryInfo
34
33
  const fd = _fd ? `&_fd=${_fd}` : ''
35
34
  url = `${this.jumpWebUrl.jxDetail}?sku=${getSkuId}${fd}`
36
35
  }
37
36
  }
38
37
  if (jingxiSdx) {
39
38
  this.jdNavigateToNative(`${url}?sdx=${jingxiSdx}`, otherLogInfo)
40
39
  } else {
41
40
  this.jdNavigateToNative(url, logEventInfo)
42
41
  }
43
42
  }
44
43
 
45
44
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
46
45
  const getInfo = Object.assign(
47
46
  {},
48
47
  {
49
48
  shopId: global.info.queryInfo.shopId,
50
49
  venderId: global.info.queryInfo.venderId,
51
50
  },
52
51
  shopInfo,
53
52
  )
54
53
  this.jdNavigateToNative(
55
54
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
56
55
  this.getShopIdOrVenderIdParams(getInfo),
57
56
  )}${this.getTjShopParam()}`,
58
57
  {
59
58
  ...getInfo,
60
59
  },
61
60
  )
62
61
  }
63
62
 
64
63
  jdJumpToWeb(
65
64
  url,
66
65
  logEventInfo,
67
66
  successBack?: Function | undefined,
68
67
  failBack?: Function | undefined,
69
68
  ) {
70
69
  console.log('web.tjm.ts - jdJumpToWeb')
71
70
  if (url.indexOf('tjshop') == -1) {
72
71
  url = url + this.getTjShopParam()
73
72
  }
74
73
  this.jdNavigateToNative(
75
74
  url,
76
75
  {
77
76
  ...logEventInfo,
78
77
  },
79
78
  successBack,
80
79
  failBack,
81
80
  )
82
81
  }
83
82
 
84
83
  jdJumpConfigUrl(detail, logEventInfo = {}) {
85
84
  const { configDataType, configDataValue } = detail
86
85
  console.log(
87
86
  'jdJumpConfigUrl web.tj.base configDataType:',
88
87
  configDataType,
89
88
  configDataValue,
90
89
  )
91
90
  switch (configDataType) {
92
91
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
93
92
  if (logEventInfo?.jsonParam?.logBaseInfo?.mInfo) {
94
93
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid =
95
94
  configDataValue.skuIds
96
95
  }
97
96
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo)
98
97
  break
99
98
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
100
99
  this.jdJumpToWeb(
101
100
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
102
101
  {},
103
102
  )
104
103
  break
105
104
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
106
105
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
107
106
  const getShopSearchParams = this.jdOpenAppParams(
108
107
  configDataValue.clickUrl,
109
108
  )
110
109
  getShopSearchParams &&
111
110
  this.jdJumpToShopSearch(
112
111
  Object.assign({}, getShopSearchParams, {
113
112
  logEventInfo,
114
113
  }),
115
114
  )
116
115
  } else {
117
116
  this.jdJumpToShopSearch(
118
117
  configDataValue['cid']
119
118
  ? Object.assign(
120
119
  {},
121
120
  {
122
121
  shopId: global.info.queryInfo.shopId,
123
122
  categoryId: configDataValue.cid,
124
123
  ...configDataValue,
125
124
  logEventInfo,
126
125
  },
127
126
  )
128
127
  : {
129
128
  shopId: global.info.queryInfo.shopId,
130
129
  logEventInfo,
131
130
  },
132
131
  )
133
132
  }
134
133
  break
135
134
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
136
135
  this.jdJumpToShopCategory({
137
136
  ...configDataValue,
138
137
  logEventInfo,
139
138
  })
140
139
  break
141
140
  case LinkConfigType.CONFIG_TYPE_MEMBER:
142
141
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
143
142
  const getShopMemberParams = this.jdOpenAppParams(
144
143
  configDataValue.clickUrl,
145
144
  )
146
145
  getShopMemberParams &&
147
146
  this.jdJumpToShopMember(
148
147
  Object.assign({}, getShopMemberParams, {
149
148
  logEventInfo,
150
149
  }),
151
150
  )
152
151
  } else {
153
152
  this.jdJumpToShopMember({
154
153
  shopId: global.info.queryInfo.shopId,
155
154
  venderId: configDataValue.shopDetail,
156
155
  logEventInfo,
157
156
  })
158
157
  }
159
158
  break
160
159
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
161
160
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
162
161
  const getShopActivityParams = this.jdOpenAppParams(
163
162
  configDataValue.clickUrl,
164
163
  )
165
164
  if (
166
165
  getShopActivityParams &&
167
166
  getShopActivityParams['des'] == 'jshopActivity'
168
167
  ) {
169
168
  this.jdJumpToShopActivity({
170
169
  projectId: configDataValue['projectId'],
171
170
  configDataValue,
172
171
  logEventInfo,
173
172
  })
174
173
  }
175
174
  } else if (configDataValue['projectId']) {
176
175
  this.jdJumpToShopActivity({
177
176
  projectId: configDataValue['projectId'],
178
177
  configDataValue,
179
178
  logEventInfo,
180
179
  })
181
180
  }
182
181
  break
183
182
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
184
183
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON:
185
184
  let _url = configDataValue.linkUrl
186
185
  const isProductM = /item\.m\.jd\.com/.test(_url)
187
186
  const isProductPC = /item\.jd\.com/.test(_url)
188
187
  if (isTjScence) {
189
188
  const { appCode } = global.info.queryInfo
190
189
 
191
190
  if (/(pro|prodev)\.jd\.com(\/mall\/)/.test(_url)) {
192
191
  if (isH5AdnJxMini) {
193
192
  _url =
194
193
  _url.replace(
195
194
  /([prodev]|[pro])(\.jd\.com)(\/mall)/,
196
195
  '$1.m$2/mini',
197
196
  ) + `appCode=${appCode}&wxAppName=jx`
198
197
  } else {
199
198
  _url = _url.replace(
200
199
  /([prodev]|[pro])(\.jd\.com)(\/mall)/,
201
200
  '$1.m$2/jdlite',
202
201
  )
203
202
  }
204
203
  } else if (/(pro|prodev)\.(m\.jd|jd)\.com(\/mall\/)/.test(_url)) {
205
204
  if (isH5AdnJxMini) {
206
205
  _url =
207
206
  _url.replace(
208
207
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
209
208
  '$1$2/mini',
210
209
  ) + `appCode=${appCode}&wxAppName=jx`
211
210
  } else {
212
211
  _url = _url.replace(
213
212
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
214
213
  '$1$2/jdlite',
215
214
  )
216
215
  }
217
216
  }
218
217
  }
219
218
  if (
220
219
  _url.indexOf('to=') === -1 &&
221
220
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
222
221
  ) {
223
222
  const _shopId = _url.match(/\d+/g)[0]
224
223
  this.jdJumpToShopHome({
225
224
  shopId: `${_shopId}`,
226
225
  logEventInfo,
227
226
  })
228
227
  } else if (this.isOpenJdAppUrl(_url)) {
229
228
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
230
229
  if (getOpenAppParams) {
231
230
  if (getOpenAppParams.jumpTab == 'allProduct') {
232
231
  this.jdJumpToTabAllProduct(
233
232
  global.info.queryInfo.shopId,
234
233
  global.info.queryInfo.venderId,
235
234
  )
236
235
  } else if (
237
236
  getOpenAppParams.des == 'productList' &&
238
237
  getOpenAppParams.from == 'couponBatch'
239
238
  ) {
240
239
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
241
240
  } else if (getOpenAppParams.des == 'vapp') {
242
241
  this.jdJumpToWeb(
243
242
  `https:
244
243
  getOpenAppParams.category
245
244
  }&des=${getOpenAppParams.des}&vapptype=${
246
245
  getOpenAppParams.vapptype
247
246
  }&appId=${getOpenAppParams.appId}&path=${
248
247
  getOpenAppParams.path
249
248
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
250
249
  logEventInfo,
251
250
  )
252
251
  } else {
253
252
  this.jdNavigateToNative(
254
253
  '',
255
254
  Object.assign({}, getOpenAppParams, {
256
255
  logEventInfo,
257
256
  }),
258
257
  )
259
258
  }
260
259
  }
261
260
  } else if (isProductM || isProductPC) {
262
261
  const skuid = _url.match(/\d+/g)[0]
263
262
  if (skuid) {
264
263
  this.jdJumpToProduct(skuid, logEventInfo)
265
264
  }
266
265
  } else {
267
266
  this.jdJumpToWeb(_url, logEventInfo)
268
267
  }
269
268
  break
270
269
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
271
270
  this.jdJumpToShopDetail({
272
271
  venderId: global.info.queryInfo.venderId,
273
272
  shopId: global.info.queryInfo.shopId,
274
273
  logEventInfo,
275
274
  })
276
275
  break
277
276
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
278
277
  this.jdJumpToShopHome({
279
278
  ...configDataValue,
280
279
  logEventInfo,
281
280
  })
282
281
  break
283
282
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
284
283
  break
285
284
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
286
285
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
287
286
  const getShoppingGuideParams = this.jdOpenAppParams(
288
287
  configDataValue.clickUrl,
289
288
  )
290
289
  getShoppingGuideParams &&
291
290
  this.jdJumpToShopActivity(
292
291
  Object.assign({}, getShoppingGuideParams, {
293
292
  logEventInfo,
294
293
  }),
295
294
  )
296
295
  }
297
296
  break
298
297
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
299
298
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
300
299
  const search = linkUrl.match(/\?.+/)
301
300
  if (search) {
302
301
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams = parseQueryUrlString(
303
302
  linkUrl,
304
303
  )
305
304
  try {
306
305
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
307
306
  } catch (e) {
308
307
  console.warn('解析小程序 param 错误:', miniQueryData.param)
309
308
  }
310
309
  this.jdJumpToMiniProgram(miniQueryData)
311
310
  } else {
312
311
  console.warn('小程序地址错误:', linkUrl)
313
312
  }
314
313
  break
315
314
  }
316
315
  default:
317
316
  }
318
317
  }
319
318
 
320
319
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
321
320
  if (isTjM) return
322
321
  let batchParam = isTjScence
323
322
  ? `coupon_batch=${couponId}`
324
323
  : `couponbatch=${couponId}`
325
324
  this.jdJumpToWeb(
326
325
  `${this.jumpWebUrl.jxCouponSearch}?${batchParam}`,
327
326
  logEventInfo,
328
327
  )
329
328
  }
330
329
 
331
330
  jdNavigateToNative(
332
331
  url: string,
333
332
  params: {
334
333
  logEventInfo?: object
335
334
  } = {},
336
335
  successBack?: Function | undefined,
337
336
  failBack?: Function | undefined,
338
337
  ) {
339
338
  const { logEventInfo } = params
340
339
  const getEparam = logEventInfo || params
341
340
  if (url.indexOf('tjshop') == -1) {
342
341
  url = url + this.getTjShopParam()
343
342
  }
344
343
  console.log(`url:::::::${url}`)
345
344
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
346
345
  this.clickEventLog(getEparam)
347
346
  .then(() => {
348
347
  typeof successBack == 'function'
349
348
  ? successBack(url)
350
349
  : (window.location.href = url)
351
350
  })
352
351
  .catch(() => {
353
352
  typeof failBack == 'function' && failBack(url)
354
353
  })
355
354
  }
355
+ import global from '../common'
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(`${url}?sdx=${jingxiSdx}`, otherLogInfo)
394
394
  } else {
395
395
  this.jdNavigateToNative(url, logEventInfo)
396
396
  }
397
397
  }
398
398
 
399
399
  jdJumpSkuInfoToProduct(skuInfo: any = {}, logEventInfo) {
400
400
  const getSkuId = skuInfo?.skuId;
401
401
  this.jdJumpToProduct(getSkuId, logEventInfo)
402
402
  }
403
403
 
404
404
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
405
405
  const getInfo = Object.assign(
406
406
  {},
407
407
  {
408
408
  shopId: global.info.queryInfo.shopId,
409
409
  venderId: global.info.queryInfo.venderId,
410
410
  },
411
411
  shopInfo,
412
412
  )
413
413
  this.jdNavigateToNative(
414
414
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
415
415
  this.getShopIdOrVenderIdParams(getInfo),
416
416
  )}${this.getTjShopParam()}`,
417
417
  {
418
418
  ...getInfo,
419
419
  },
420
420
  )
421
421
  }
422
422
 
423
423
  jdJumpToWeb(
424
424
  url,
425
425
  logEventInfo,
426
426
  successBack?: Function | undefined,
427
427
  failBack?: Function | undefined,
428
428
  ) {
429
429
  console.log('web.tjm.ts - jdJumpToWeb')
430
430
  if (url.indexOf('tjshop') == -1) {
431
431
  url = url + this.getTjShopParam()
432
432
  }
433
433
  this.jdNavigateToNative(
434
434
  url,
435
435
  {
436
436
  ...logEventInfo,
437
437
  },
438
438
  successBack,
439
439
  failBack,
440
440
  )
441
441
  }
442
442
 
443
443
  jdJumpConfigUrl(detail, logEventInfo = {}) {
444
444
  const { configDataType, configDataValue } = detail
445
445
  console.log(
446
446
  'jdJumpConfigUrl web.tj.base configDataType:',
447
447
  configDataType,
448
448
  configDataValue,
449
449
  )
450
450
  switch (configDataType) {
451
451
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
452
452
  if (logEventInfo?.jsonParam?.logBaseInfo?.mInfo) {
453
453
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid =
454
454
  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 =
553
553
  _url.replace(
554
554
  /([prodev]|[pro])(\.jd\.com)(\/mall)/,
555
555
  '$1.m$2/mini',
556
556
  ) + `appCode=${appCode}&wxAppName=jx`
557
557
  } else {
558
558
  _url = _url.replace(
559
559
  /([prodev]|[pro])(\.jd\.com)(\/mall)/,
560
560
  '$1.m$2/jdlite',
561
561
  )
562
562
  }
563
563
  } else if (/(pro|prodev)\.(m\.jd|jd)\.com(\/mall\/)/.test(_url)) {
564
564
  if (isH5AdnJxMini) {
565
565
  _url =
566
566
  _url.replace(
567
567
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
568
568
  '$1$2/mini',
569
569
  ) + `appCode=${appCode}&wxAppName=jx`
570
570
  } else {
571
571
  _url = _url.replace(
572
572
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
573
573
  '$1$2/jdlite',
574
574
  )
575
575
  }
576
576
  }
577
577
  }
578
578
  if (
579
579
  _url.indexOf('to=') === -1 &&
580
580
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
581
581
  ) {
582
582
  const _shopId = _url.match(/\d+/g)[0]
583
583
  this.jdJumpToShopHome({
584
584
  shopId: `${_shopId}`,
585
585
  logEventInfo,
586
586
  })
587
587
  } else if (this.isOpenJdAppUrl(_url)) {
588
588
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
589
589
  if (getOpenAppParams) {
590
590
  if (getOpenAppParams.jumpTab == 'allProduct') {
591
591
  this.jdJumpToTabAllProduct(
592
592
  global.info.queryInfo.shopId,
593
593
  global.info.queryInfo.venderId,
594
594
  )
595
595
  } else if (
596
596
  getOpenAppParams.des == 'productList' &&
597
597
  getOpenAppParams.from == 'couponBatch'
598
598
  ) {
599
599
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
600
600
  } else if (getOpenAppParams.des == 'vapp') {
601
601
  this.jdJumpToWeb(
602
602
  `https://conecli.com/apps/mpshare/index.html?category=${
603
603
  getOpenAppParams.category
604
604
  }&des=${getOpenAppParams.des}&vapptype=${
605
605
  getOpenAppParams.vapptype
606
606
  }&appId=${getOpenAppParams.appId}&path=${
607
607
  getOpenAppParams.path
608
608
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
609
609
  logEventInfo,
610
610
  )
611
611
  } else {
612
612
  this.jdNavigateToNative(
613
613
  '',
614
614
  Object.assign({}, getOpenAppParams, {
615
615
  logEventInfo,
616
616
  }),
617
617
  )
618
618
  }
619
619
  }
620
620
  } else if (isProductM || isProductPC) {
621
621
  const skuid = _url.match(/\d+/g)[0]
622
622
  if (skuid) {
623
623
  this.jdJumpToProduct(skuid, logEventInfo)
624
624
  }
625
625
  } else {
626
626
  this.jdJumpToWeb(_url, logEventInfo)
627
627
  }
628
628
  break
629
629
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
630
630
  this.jdJumpToShopDetail({
631
631
  venderId: global.info.queryInfo.venderId,
632
632
  shopId: global.info.queryInfo.shopId,
633
633
  logEventInfo,
634
634
  })
635
635
  break
636
636
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
637
637
  this.jdJumpToShopHome({
638
638
  ...configDataValue,
639
639
  logEventInfo,
640
640
  })
641
641
  break
642
642
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
643
643
  break
644
644
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
645
645
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
646
646
  const getShoppingGuideParams = this.jdOpenAppParams(
647
647
  configDataValue.clickUrl,
648
648
  )
649
649
  getShoppingGuideParams &&
650
650
  this.jdJumpToShopActivity(
651
651
  Object.assign({}, getShoppingGuideParams, {
652
652
  logEventInfo,
653
653
  }),
654
654
  )
655
655
  }
656
656
  break
657
657
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
658
658
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
659
659
  const search = linkUrl.match(/\?.+/)
660
660
  if (search) {
661
661
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams = parseQueryUrlString(
662
662
  linkUrl,
663
663
  )
664
664
  try {
665
665
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
666
666
  } catch (e) {
667
667
  console.warn('解析小程序 param 错误:', miniQueryData.param)
668
668
  }
669
669
  this.jdJumpToMiniProgram(miniQueryData)
670
670
  } else {
671
671
  console.warn('小程序地址错误:', linkUrl)
672
672
  }
673
673
  break
674
674
  }
675
675
  default:
676
676
  }
677
677
  }
678
678
 
679
679
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
680
680
  if (isTjM) return
681
681
  let batchParam = isTjScence
682
682
  ? `coupon_batch=${couponId}`
683
683
  : `couponbatch=${couponId}`
684
684
  this.jdJumpToWeb(
685
685
  `${this.jumpWebUrl.jxCouponSearch}?${batchParam}`,
686
686
  logEventInfo,
687
687
  )
688
688
  }
689
689
 
690
690
  jdNavigateToNative(
691
691
  url: string,
692
692
  params: {
693
693
  logEventInfo?: object
694
694
  } = {},
695
695
  successBack?: Function | undefined,
696
696
  failBack?: Function | undefined,
697
697
  ) {
698
698
  const { logEventInfo } = params
699
699
  const getEparam = logEventInfo || params
700
700
  if (url.indexOf('tjshop') == -1) {
701
701
  url = url + this.getTjShopParam()
702
702
  }
703
703
  console.log(`url:::::::${url}`)
704
704
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
705
705
  this.clickEventLog(getEparam)
706
706
  .then(() => {
707
707
  typeof successBack == 'function'
708
708
  ? successBack(url)
709
709
  : (window.location.href = url)
710
710
  })
711
711
  .catch(() => {
712
712
  typeof failBack == 'function' && failBack(url)
713
713
  })
714
714
  }