@conecli/cone-render 0.10.1-shop-beta.4 → 0.10.1-shop3.0

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 (73) 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/ErrorBoundary.tsx +1 -1
  11. package/dist/components/base/CustomScrollView/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/InOrOutViewObserver/index.tsx +1 -1
  15. package/dist/components/base/InViewRender/index.weapp.tsx +1 -1
  16. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
  17. package/dist/components/base/LazyLayoutLoad/index.weapp.tsx +1 -1
  18. package/dist/components/base/LazyLoadImage/index.h5.module.scss +11 -3
  19. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
  20. package/dist/components/base/LazyLoadImage/index.tsx +1 -1
  21. package/dist/components/base/MobileCommonHeader/index.tsx +1 -1
  22. package/dist/components/base/NetworkDataError/index.module.scss +3 -0
  23. package/dist/components/base/NetworkDataError/index.tsx +1 -1
  24. package/dist/components/base/Price/Base/index.tsx +1 -1
  25. package/dist/components/base/Price/Double/index.tsx +1 -1
  26. package/dist/components/decorate/DecorateFloorModule/index.module.scss +11 -0
  27. package/dist/components/decorate/DecorateFloorModule/index.tsx +1 -1
  28. package/dist/components/decorate/EmptyFloorModule/index.tsx +1 -1
  29. package/dist/components/decorate/PlaceHolder/index.tsx +1 -1
  30. package/dist/components/floorItem.jd.tsx +1 -1
  31. package/dist/components/floorItem.tsx +1 -1
  32. package/dist/components/floorItem.weapp.tsx +1 -1
  33. package/dist/components/isv/Floor/index.tsx +1 -1
  34. package/dist/components/remoteFloorItem.tsx +1 -1
  35. package/dist/interface/common.ts +1 -1
  36. package/dist/interface/component.ts +1 -1
  37. package/dist/interface/jumpEventReport.ts +1 -1
  38. package/dist/interface/service.ts +1 -1
  39. package/dist/jumpEventReport/base.ts +1 -1
  40. package/dist/jumpEventReport/const.ts +1 -1
  41. package/dist/jumpEventReport/index.jd.ts +1 -1
  42. package/dist/jumpEventReport/index.weapp.ts +1 -1
  43. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  44. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  45. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  46. package/dist/jumpEventReport/web.base.ts +1 -1
  47. package/dist/jumpEventReport/web.jd.ts +1 -1
  48. package/dist/jumpEventReport/web.tjm.ts +1 -1
  49. package/dist/modules/ContainerFloorList/index.h5.module.scss +1 -0
  50. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  51. package/dist/modules/ContainerFloorList/index.tsx +1 -1
  52. package/dist/open/api/device.ts +1 -1
  53. package/dist/open/api/request.ts +1 -1
  54. package/dist/open/api/shopMember.ts +1 -1
  55. package/dist/open/api/util.ts +1 -1
  56. package/dist/open/components/index.ts +1 -1
  57. package/dist/sass/app.h5.scss +5 -0
  58. package/dist/sass/base.scss +45 -0
  59. package/dist/service/http/colorSign.ts +1 -1
  60. package/dist/service/http/h5Http.ts +1 -0
  61. package/dist/service/http/index.h5.ts +1 -0
  62. package/dist/service/requestServer.h5.ts +1 -0
  63. package/dist/service/requestServer.ts +1 -1
  64. package/dist/utils/connectNativeJsBridge.ts +1 -1
  65. package/dist/utils/connectNativeJsBridge.weapp.ts +1 -1
  66. package/dist/utils/h5Utils.ts +1 -1
  67. package/dist/utils/index.h5.ts +1 -1
  68. package/dist/utils/index.ts +1 -1
  69. package/dist/utils/index.weapp.ts +1 -1
  70. package/dist/utils/sgmCodeUtils.ts +1 -1
  71. package/dist/utils/taroRenderUtil.ts +1 -1
  72. package/dist/utils/utils.ts +1 -1
  73. package/package.json +24 -23
@@ -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
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
400
400
  const getInfo = Object.assign(
401
401
  {},
402
402
  {
403
403
  shopId: global.info.queryInfo.shopId,
404
404
  venderId: global.info.queryInfo.venderId,
405
405
  },
406
406
  shopInfo,
407
407
  )
408
408
  this.jdNavigateToNative(
409
409
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
410
410
  this.getShopIdOrVenderIdParams(getInfo),
411
411
  )}${this.getTjShopParam()}`,
412
412
  {
413
413
  ...getInfo,
414
414
  },
415
415
  )
416
416
  }
417
417
 
418
418
  jdJumpToWeb(
419
419
  url,
420
420
  logEventInfo,
421
421
  successBack?: Function | undefined,
422
422
  failBack?: Function | undefined,
423
423
  ) {
424
424
  console.log('web.tjm.ts - jdJumpToWeb')
425
425
  if (url.indexOf('tjshop') == -1) {
426
426
  url = url + this.getTjShopParam()
427
427
  }
428
428
  this.jdNavigateToNative(
429
429
  url,
430
430
  {
431
431
  ...logEventInfo,
432
432
  },
433
433
  successBack,
434
434
  failBack,
435
435
  )
436
436
  }
437
437
 
438
438
  jdJumpConfigUrl(detail, logEventInfo = {}) {
439
439
  const { configDataType, configDataValue } = detail
440
440
  console.log(
441
441
  'jdJumpConfigUrl web.tj.base configDataType:',
442
442
  configDataType,
443
443
  configDataValue,
444
444
  )
445
445
  switch (configDataType) {
446
446
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
447
447
  if (logEventInfo?.jsonParam?.logBaseInfo?.mInfo) {
448
448
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid =
449
449
  configDataValue.skuIds
450
450
  }
451
451
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo)
452
452
  break
453
453
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
454
454
  this.jdJumpToWeb(
455
455
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
456
456
  {},
457
457
  )
458
458
  break
459
459
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
460
460
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
461
461
  const getShopSearchParams = this.jdOpenAppParams(
462
462
  configDataValue.clickUrl,
463
463
  )
464
464
  getShopSearchParams &&
465
465
  this.jdJumpToShopSearch(
466
466
  Object.assign({}, getShopSearchParams, {
467
467
  logEventInfo,
468
468
  }),
469
469
  )
470
470
  } else {
471
471
  this.jdJumpToShopSearch(
472
472
  configDataValue['cid']
473
473
  ? Object.assign(
474
474
  {},
475
475
  {
476
476
  shopId: global.info.queryInfo.shopId,
477
477
  categoryId: configDataValue.cid,
478
478
  ...configDataValue,
479
479
  logEventInfo,
480
480
  },
481
481
  )
482
482
  : {
483
483
  shopId: global.info.queryInfo.shopId,
484
484
  logEventInfo,
485
485
  },
486
486
  )
487
487
  }
488
488
  break
489
489
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
490
490
  this.jdJumpToShopCategory({
491
491
  ...configDataValue,
492
492
  logEventInfo,
493
493
  })
494
494
  break
495
495
  case LinkConfigType.CONFIG_TYPE_MEMBER:
496
496
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
497
497
  const getShopMemberParams = this.jdOpenAppParams(
498
498
  configDataValue.clickUrl,
499
499
  )
500
500
  getShopMemberParams &&
501
501
  this.jdJumpToShopMember(
502
502
  Object.assign({}, getShopMemberParams, {
503
503
  logEventInfo,
504
504
  }),
505
505
  )
506
506
  } else {
507
507
  this.jdJumpToShopMember({
508
508
  shopId: global.info.queryInfo.shopId,
509
509
  venderId: configDataValue.shopDetail,
510
510
  logEventInfo,
511
511
  })
512
512
  }
513
513
  break
514
514
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
515
515
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
516
516
  const getShopActivityParams = this.jdOpenAppParams(
517
517
  configDataValue.clickUrl,
518
518
  )
519
519
  if (
520
520
  getShopActivityParams &&
521
521
  getShopActivityParams['des'] == 'jshopActivity'
522
522
  ) {
523
523
  this.jdJumpToShopActivity({
524
524
  projectId: configDataValue['projectId'],
525
525
  configDataValue,
526
526
  logEventInfo,
527
527
  })
528
528
  }
529
529
  } else if (configDataValue['projectId']) {
530
530
  this.jdJumpToShopActivity({
531
531
  projectId: configDataValue['projectId'],
532
532
  configDataValue,
533
533
  logEventInfo,
534
534
  })
535
535
  }
536
536
  break
537
537
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
538
538
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON:
539
539
  let _url = configDataValue.linkUrl
540
540
  const isProductM = /item\.m\.jd\.com/.test(_url)
541
541
  const isProductPC = /item\.jd\.com/.test(_url)
542
542
  if (isTjScence) {
543
543
  const { appCode } = global.info.queryInfo
544
544
 
545
545
  if (/(pro|prodev)\.jd\.com(\/mall\/)/.test(_url)) {
546
546
  if (isH5AdnJxMini) {
547
547
  _url =
548
548
  _url.replace(
549
549
  /([prodev]|[pro])(\.jd\.com)(\/mall)/,
550
550
  '$1.m$2/mini',
551
551
  ) + `appCode=${appCode}&wxAppName=jx`
552
552
  } else {
553
553
  _url = _url.replace(
554
554
  /([prodev]|[pro])(\.jd\.com)(\/mall)/,
555
555
  '$1.m$2/jdlite',
556
556
  )
557
557
  }
558
558
  } else if (/(pro|prodev)\.(m\.jd|jd)\.com(\/mall\/)/.test(_url)) {
559
559
  if (isH5AdnJxMini) {
560
560
  _url =
561
561
  _url.replace(
562
562
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
563
563
  '$1$2/mini',
564
564
  ) + `appCode=${appCode}&wxAppName=jx`
565
565
  } else {
566
566
  _url = _url.replace(
567
567
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
568
568
  '$1$2/jdlite',
569
569
  )
570
570
  }
571
571
  }
572
572
  }
573
573
  if (
574
574
  _url.indexOf('to=') === -1 &&
575
575
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
576
576
  ) {
577
577
  const _shopId = _url.match(/\d+/g)[0]
578
578
  this.jdJumpToShopHome({
579
579
  shopId: `${_shopId}`,
580
580
  logEventInfo,
581
581
  })
582
582
  } else if (this.isOpenJdAppUrl(_url)) {
583
583
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
584
584
  if (getOpenAppParams) {
585
585
  if (getOpenAppParams.jumpTab == 'allProduct') {
586
586
  this.jdJumpToTabAllProduct(
587
587
  global.info.queryInfo.shopId,
588
588
  global.info.queryInfo.venderId,
589
589
  )
590
590
  } else if (
591
591
  getOpenAppParams.des == 'productList' &&
592
592
  getOpenAppParams.from == 'couponBatch'
593
593
  ) {
594
594
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
595
595
  } else if (getOpenAppParams.des == 'vapp') {
596
596
  this.jdJumpToWeb(
597
597
  `https://conecli.com/apps/mpshare/index.html?category=${
598
598
  getOpenAppParams.category
599
599
  }&des=${getOpenAppParams.des}&vapptype=${
600
600
  getOpenAppParams.vapptype
601
601
  }&appId=${getOpenAppParams.appId}&path=${
602
602
  getOpenAppParams.path
603
603
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
604
604
  logEventInfo,
605
605
  )
606
606
  } else {
607
607
  this.jdNavigateToNative(
608
608
  '',
609
609
  Object.assign({}, getOpenAppParams, {
610
610
  logEventInfo,
611
611
  }),
612
612
  )
613
613
  }
614
614
  }
615
615
  } else if (isProductM || isProductPC) {
616
616
  const skuid = _url.match(/\d+/g)[0]
617
617
  if (skuid) {
618
618
  this.jdJumpToProduct(skuid, logEventInfo)
619
619
  }
620
620
  } else {
621
621
  this.jdJumpToWeb(_url, logEventInfo)
622
622
  }
623
623
  break
624
624
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
625
625
  this.jdJumpToShopDetail({
626
626
  venderId: global.info.queryInfo.venderId,
627
627
  shopId: global.info.queryInfo.shopId,
628
628
  logEventInfo,
629
629
  })
630
630
  break
631
631
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
632
632
  this.jdJumpToShopHome({
633
633
  ...configDataValue,
634
634
  logEventInfo,
635
635
  })
636
636
  break
637
637
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
638
638
  break
639
639
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
640
640
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
641
641
  const getShoppingGuideParams = this.jdOpenAppParams(
642
642
  configDataValue.clickUrl,
643
643
  )
644
644
  getShoppingGuideParams &&
645
645
  this.jdJumpToShopActivity(
646
646
  Object.assign({}, getShoppingGuideParams, {
647
647
  logEventInfo,
648
648
  }),
649
649
  )
650
650
  }
651
651
  break
652
652
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
653
653
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
654
654
  const search = linkUrl.match(/\?.+/)
655
655
  if (search) {
656
656
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams = parseQueryUrlString(
657
657
  linkUrl,
658
658
  )
659
659
  try {
660
660
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
661
661
  } catch (e) {
662
662
  console.warn('解析小程序 param 错误:', miniQueryData.param)
663
663
  }
664
664
  this.jdJumpToMiniProgram(miniQueryData)
665
665
  } else {
666
666
  console.warn('小程序地址错误:', linkUrl)
667
667
  }
668
668
  break
669
669
  }
670
670
  default:
671
671
  }
672
672
  }
673
673
 
674
674
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
675
675
  if (isTjM) return
676
676
  let batchParam = isTjScence
677
677
  ? `coupon_batch=${couponId}`
678
678
  : `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
  }