@conecli/cone-render 0.10.1-shop3.5 → 0.10.1-shop3.51

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 (99) hide show
  1. package/README.md +1 -1
  2. package/dist/common/accessibility.h5.ts +1 -0
  3. package/dist/common/accessibility.ts +0 -0
  4. package/dist/common/const.ts +1 -1
  5. package/dist/common/index.h5.ts +1 -1
  6. package/dist/common/index.jd.ts +1 -1
  7. package/dist/common/index.ts +1 -1
  8. package/dist/common/index.weapp.ts +1 -1
  9. package/dist/common/jdplayerSdk.weapp.tsx +1 -0
  10. package/dist/common/jssdk.ts +1 -1
  11. package/dist/common/jssdk.weapp.ts +1 -0
  12. package/dist/common/pageType.ts +1 -1
  13. package/dist/common/token/index.h5.ts +1 -1
  14. package/dist/common/token/token.jd.ts +1 -1
  15. package/dist/common/wxappApi.ts +1 -1
  16. package/dist/components/ErrorBoundary.tsx +1 -1
  17. package/dist/components/base/CommonFloorHead/index.module.scss +126 -111
  18. package/dist/components/base/CommonFloorHead/index.tsx +1 -1
  19. package/dist/components/base/CountDown/index.tsx +1 -1
  20. package/dist/components/base/CustomScrollView/index-back.tsx +1 -0
  21. package/dist/components/base/CustomScrollView/index.tsx +1 -1
  22. package/dist/components/base/CustomVideo/index.tsx +1 -1
  23. package/dist/components/base/CustomVideo/index.weapp.tsx +1 -0
  24. package/dist/components/base/Dialog/index.module.scss +11 -0
  25. package/dist/components/base/InOrOutViewObserver/index.weapp.tsx +1 -0
  26. package/dist/components/base/InViewRender/index.tsx +1 -1
  27. package/dist/components/base/ItemViewExposureSmart/index.tsx +1 -1
  28. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
  29. package/dist/components/base/MobileCommonHeader/index.weapp.tsx +1 -0
  30. package/dist/components/base/NetworkDataError/const.ts +1 -1
  31. package/dist/components/base/NetworkDataError/index.module.scss +118 -72
  32. package/dist/components/base/NetworkDataError/index.tsx +1 -1
  33. package/dist/components/base/Price/Base/index.module.scss +12 -0
  34. package/dist/components/base/Price/Base/index.tsx +1 -1
  35. package/dist/components/base/Price/Double/index.module.scss +24 -0
  36. package/dist/components/base/Price/Double/index.tsx +1 -1
  37. package/dist/components/debug/DebugLayout/index.module.scss +2 -2
  38. package/dist/components/floorItem.weapp.tsx +1 -1
  39. package/dist/interface/common.ts +1 -1
  40. package/dist/interface/component.ts +1 -1
  41. package/dist/interface/jumpEventReport.ts +1 -1
  42. package/dist/jumpEventReport/base.ts +1 -1
  43. package/dist/jumpEventReport/const.ts +1 -1
  44. package/dist/jumpEventReport/createReportFloorData.ts +1 -1
  45. package/dist/jumpEventReport/index.h5.ts +1 -1
  46. package/dist/jumpEventReport/index.jd.ts +1 -1
  47. package/dist/jumpEventReport/index.weapp.ts +1 -1
  48. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  49. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  50. package/dist/jumpEventReport/logEventConfig.h5.ts +1 -0
  51. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  52. package/dist/jumpEventReport/web/report.ts +1 -1
  53. package/dist/jumpEventReport/web.base.ts +1 -1
  54. package/dist/jumpEventReport/web.jd.ts +1 -1
  55. package/dist/jumpEventReport/web.pc.ts +1 -1
  56. package/dist/jumpEventReport/web.tjm.ts +1 -1
  57. package/dist/jumpEventReport/web.wxapp.ts +1 -1
  58. package/dist/language/en_US.json +231 -0
  59. package/dist/language/zh_CN.json +231 -0
  60. package/dist/language/zh_HK.json +231 -0
  61. package/dist/libs/taroAppReport.js +2 -2
  62. package/dist/modules/ContainerFloorList/index.h5.module.scss +66 -56
  63. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  64. package/dist/modules/ContainerFloorList/index.tsx +1 -1
  65. package/dist/modules/DecorateContainerFloorList/index.weapp.tsx +1 -0
  66. package/dist/open/api/environment.ts +1 -1
  67. package/dist/open/api/shopMember.ts +1 -1
  68. package/dist/open/api/shopMember.weapp.ts +1 -0
  69. package/dist/open/api/util.ts +1 -1
  70. package/dist/open/index.ts +1 -1
  71. package/dist/sass/app.h5.scss +278 -224
  72. package/dist/service/fetchGateway.ts +1 -1
  73. package/dist/service/fetchGateway.weapp.ts +1 -0
  74. package/dist/service/fetchJsonp.weapp.ts +1 -0
  75. package/dist/service/http/colorSign.ts +1 -1
  76. package/dist/service/http/const.ts +1 -1
  77. package/dist/service/http/h5Http.ts +1 -1
  78. package/dist/service/http/httpInterceptors.weapp.ts +1 -0
  79. package/dist/service/requestServer.h5.ts +1 -1
  80. package/dist/service/requestServer.ts +1 -1
  81. package/dist/service/requestServer.weapp.ts +1 -0
  82. package/dist/utils/connectNativeJsBridge.ts +1 -1
  83. package/dist/utils/h5Utils.ts +1 -1
  84. package/dist/utils/harmonyCallRouter.h5.ts +1 -0
  85. package/dist/utils/harmonyCallRouter.ts +0 -0
  86. package/dist/utils/index.h5.ts +1 -1
  87. package/dist/utils/index.ts +1 -1
  88. package/dist/utils/index.weapp.ts +1 -1
  89. package/dist/utils/jumpExtMapUtil.h5.ts +1 -0
  90. package/dist/utils/jumpExtMapUtil.ts +1 -0
  91. package/dist/utils/log.ts +1 -0
  92. package/dist/utils/{sColor.js → sColor.ts} +1 -1
  93. package/dist/utils/sColor.weapp.ts +1 -0
  94. package/dist/utils/utils.ts +1 -1
  95. package/dist/wxapp/common/address_api/address_api_v2.js +1 -0
  96. package/dist/wxapp/common/user_info.js +1 -1
  97. package/package.json +160 -141
  98. package/dist/jumpEventReport/web/wqshop.report.ts +0 -1
  99. package/dist/utils/priceUtils.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
  jdJumpSkuInfoToProduct(skuInfo: any = {}, logEventInfo) {
46
45
  const getSkuId = skuInfo?.skuId;
47
46
  this.jdJumpToProduct(getSkuId, logEventInfo)
48
47
  }
49
48
 
50
49
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
51
50
  const getInfo = Object.assign(
52
51
  {},
53
52
  {
54
53
  shopId: global.info.queryInfo.shopId,
55
54
  venderId: global.info.queryInfo.venderId,
56
55
  },
57
56
  shopInfo,
58
57
  )
59
58
  this.jdNavigateToNative(
60
59
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
61
60
  this.getShopIdOrVenderIdParams(getInfo),
62
61
  )}${this.getTjShopParam()}`,
63
62
  {
64
63
  ...getInfo,
65
64
  },
66
65
  )
67
66
  }
68
67
 
69
68
  jdJumpToWeb(
70
69
  url,
71
70
  logEventInfo,
72
71
  successBack?: Function | undefined,
73
72
  failBack?: Function | undefined,
74
73
  ) {
75
74
  console.log('web.tjm.ts - jdJumpToWeb')
76
75
  if (url.indexOf('tjshop') == -1) {
77
76
  url = url + this.getTjShopParam()
78
77
  }
79
78
  this.jdNavigateToNative(
80
79
  url,
81
80
  {
82
81
  ...logEventInfo,
83
82
  },
84
83
  successBack,
85
84
  failBack,
86
85
  )
87
86
  }
88
87
 
89
88
  jdJumpConfigUrl(detail, logEventInfo = {}) {
90
89
  const { configDataType, configDataValue } = detail
91
90
  console.log(
92
91
  'jdJumpConfigUrl web.tj.base configDataType:',
93
92
  configDataType,
94
93
  configDataValue,
95
94
  )
96
95
  switch (configDataType) {
97
96
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
98
97
  if (logEventInfo?.jsonParam?.logBaseInfo?.mInfo) {
99
98
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid =
100
99
  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
  const { appCode } = global.info.queryInfo
195
194
 
196
195
  if (/(pro|prodev)\.jd\.com(\/mall\/)/.test(_url)) {
197
196
  if (isH5AdnJxMini) {
198
197
  _url =
199
198
  _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 =
212
211
  _url.replace(
213
212
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
214
213
  '$1$2/mini',
215
214
  ) + `appCode=${appCode}&wxAppName=jx`
216
215
  } else {
217
216
  _url = _url.replace(
218
217
  /([prodev]|[pro])(\.m\.jd\.com)(\/mall)/,
219
218
  '$1$2/jdlite',
220
219
  )
221
220
  }
222
221
  }
223
222
  }
224
223
  if (
225
224
  _url.indexOf('to=') === -1 &&
226
225
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
227
226
  ) {
228
227
  const _shopId = _url.match(/\d+/g)[0]
229
228
  this.jdJumpToShopHome({
230
229
  shopId: `${_shopId}`,
231
230
  logEventInfo,
232
231
  })
233
232
  } else if (this.isOpenJdAppUrl(_url)) {
234
233
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
235
234
  if (getOpenAppParams) {
236
235
  if (getOpenAppParams.jumpTab == 'allProduct') {
237
236
  this.jdJumpToTabAllProduct(
238
237
  global.info.queryInfo.shopId,
239
238
  global.info.queryInfo.venderId,
240
239
  )
241
240
  } else if (
242
241
  getOpenAppParams.des == 'productList' &&
243
242
  getOpenAppParams.from == 'couponBatch'
244
243
  ) {
245
244
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
246
245
  } else if (getOpenAppParams.des == 'vapp') {
247
246
  this.jdJumpToWeb(
248
247
  `https://conecli.com/apps/mpshare/index.html?category=${
249
248
  getOpenAppParams.category
250
249
  }&des=${getOpenAppParams.des}&vapptype=${
251
250
  getOpenAppParams.vapptype
252
251
  }&appId=${getOpenAppParams.appId}&path=${
253
252
  getOpenAppParams.path
254
253
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
255
254
  logEventInfo,
256
255
  )
257
256
  } else {
258
257
  this.jdNavigateToNative(
259
258
  '',
260
259
  Object.assign({}, getOpenAppParams, {
261
260
  logEventInfo,
262
261
  }),
263
262
  )
264
263
  }
265
264
  }
266
265
  } else if (isProductM || isProductPC) {
267
266
  const skuid = _url.match(/\d+/g)[0]
268
267
  if (skuid) {
269
268
  this.jdJumpToProduct(skuid, logEventInfo)
270
269
  }
271
270
  } else {
272
271
  this.jdJumpToWeb(_url, logEventInfo)
273
272
  }
274
273
  break
275
274
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
276
275
  this.jdJumpToShopDetail({
277
276
  venderId: global.info.queryInfo.venderId,
278
277
  shopId: global.info.queryInfo.shopId,
279
278
  logEventInfo,
280
279
  })
281
280
  break
282
281
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
283
282
  this.jdJumpToShopHome({
284
283
  ...configDataValue,
285
284
  logEventInfo,
286
285
  })
287
286
  break
288
287
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
289
288
  break
290
289
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
291
290
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
292
291
  const getShoppingGuideParams = this.jdOpenAppParams(
293
292
  configDataValue.clickUrl,
294
293
  )
295
294
  getShoppingGuideParams &&
296
295
  this.jdJumpToShopActivity(
297
296
  Object.assign({}, getShoppingGuideParams, {
298
297
  logEventInfo,
299
298
  }),
300
299
  )
301
300
  }
302
301
  break
303
302
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
304
303
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
305
304
  const search = linkUrl.match(/\?.+/)
306
305
  if (search) {
307
306
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams = parseQueryUrlString(
308
307
  linkUrl,
309
308
  )
310
309
  try {
311
310
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
312
311
  } catch (e) {
313
312
  console.warn('解析小程序 param 错误:', miniQueryData.param)
314
313
  }
315
314
  this.jdJumpToMiniProgram(miniQueryData)
316
315
  } else {
317
316
  console.warn('小程序地址错误:', linkUrl)
318
317
  }
319
318
  break
320
319
  }
321
320
  default:
322
321
  }
323
322
  }
324
323
 
325
324
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
326
325
  if (isTjM) return
327
326
  let batchParam = isTjScence
328
327
  ? `coupon_batch=${couponId}`
329
328
  : `couponbatch=${couponId}`
330
329
  this.jdJumpToWeb(
331
330
  `${this.jumpWebUrl.jxCouponSearch}?${batchParam}`,
332
331
  logEventInfo,
333
332
  )
334
333
  }
335
334
 
336
335
  jdNavigateToNative(
337
336
  url: string,
338
337
  params: {
339
338
  logEventInfo?: object
340
339
  } = {},
341
340
  successBack?: Function | undefined,
342
341
  failBack?: Function | undefined,
343
342
  ) {
344
343
  const { logEventInfo } = params
345
344
  const getEparam = logEventInfo || params
346
345
  if (url.indexOf('tjshop') == -1) {
347
346
  url = url + this.getTjShopParam()
348
347
  }
349
348
  console.log(`url:::::::${url}`)
350
349
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
351
350
  this.clickEventLog(getEparam)
352
351
  .then(() => {
353
352
  typeof successBack == 'function'
354
353
  ? successBack(url)
355
354
  : (window.location.href = url)
356
355
  })
357
356
  .catch(() => {
358
357
  typeof failBack == 'function' && failBack(url)
359
358
  })
360
359
  }
360
+ import global from '../common';
361
361
  objectToUrlEncode,
362
362
  parseQueryUrlString,
363
363
  isTjScence,
364
364
  isTjM,
365
365
  isTjJxM,
366
366
  isH5AdnJxMini,
367
367
  tjChannel,
368
368
  public logPageId: string;
369
369
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig;
370
370
  constructor(opt) {
371
371
  super(opt);
372
372
  this.getConfig(opt);
373
373
  console.log('加载特价/京喜m的跳转js文件....');
374
374
  }
375
375
 
376
376
  getTjShopParam() {
377
377
  const { tjshop } = global.info.queryInfo;
378
378
  const tjshopParam = tjshop ? `&tjshop=${tjshop}` : '';
379
379
  const tjChannelStr = tjChannel ? `&tjChannel=${tjChannel}` : '';
380
380
  return `${tjshopParam}${tjChannelStr}`;
381
381
  }
382
382
 
383
383
  jdJumpToProduct(skuIds, logEventInfo) {
384
384
  skuIds = skuIds.toString().trim();
385
385
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds;
386
386
  const { jingxiSdx, ...otherLogInfo } = logEventInfo;
387
387
  let url = `${this.jumpWebUrl.detail}${getSkuId}.html`;
388
388
  if (isTjScence) {
389
389
  if (isTjM) {
390
390
  url = `${this.jumpWebUrl.tjDetail}?wareId=${getSkuId}`;
391
391
  } else if (isTjJxM) {
392
392
  const { _fd } = global.info.queryInfo;
393
393
  const fd = _fd ? `&_fd=${_fd}` : '';
394
394
  url = `${this.jumpWebUrl.jxDetail}?sku=${getSkuId}${fd}`;
395
395
  }
396
396
  }
397
397
  if (jingxiSdx) {
398
398
  this.jdNavigateToNative(`${url}?sdx=${jingxiSdx}`, otherLogInfo);
399
399
  } else {
400
400
  this.jdNavigateToNative(url, logEventInfo);
401
401
  }
402
402
  }
403
403
 
404
404
  jdJumpSkuInfoToProduct(skuInfo: any = {}, logEventInfo) {
405
405
  const getSkuId = skuInfo?.skuId;
406
406
  this.jdJumpToProduct(getSkuId, logEventInfo);
407
407
  }
408
408
 
409
409
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
410
410
  const currentShopInfo = {
411
411
  shopId: global.info.queryInfo.shopId,
412
412
  venderId: global.info.queryInfo.venderId,
413
413
  };
414
414
  const restParams =
415
415
  (shopInfo?.shopId && shopInfo.shopId !== currentShopInfo.shopId) ||
416
416
  (shopInfo?.venderId && shopInfo.venderId !== currentShopInfo.venderId)
417
417
  ? {}
418
418
  : currentShopInfo;
419
419
  const getInfo = Object.assign({}, restParams, shopInfo);
420
420
  this.jdNavigateToNative(
421
421
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
422
422
  this.getShopIdOrVenderIdParams(getInfo),
423
423
  )}${this.getTjShopParam()}`,
424
424
  {
425
425
  ...getInfo,
426
426
  },
427
427
  );
428
428
  }
429
429
 
430
430
  jdJumpToWeb(
431
431
  url,
432
432
  logEventInfo,
433
433
  successBack?: Function | undefined,
434
434
  failBack?: Function | undefined,
435
435
  ) {
436
436
  console.log('web.tjm.ts - jdJumpToWeb');
437
437
  if (url.indexOf('tjshop') == -1) {
438
438
  url = url + this.getTjShopParam();
439
439
  }
440
440
  this.jdNavigateToNative(
441
441
  url,
442
442
  {
443
443
  ...logEventInfo,
444
444
  },
445
445
  successBack,
446
446
  failBack,
447
447
  );
448
448
  }
449
449
 
450
450
  jdJumpConfigUrl(detail, logEventInfo = {}) {
451
451
  const { configDataType, configDataValue } = detail;
452
452
  console.log('jdJumpConfigUrl web.tj.base configDataType:', configDataType, configDataValue);
453
453
  switch (configDataType) {
454
454
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
455
455
  if (logEventInfo?.jsonParam?.logBaseInfo?.mInfo) {
456
456
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid = configDataValue.skuIds;
457
457
  }
458
458
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo);
459
459
  break;
460
460
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
461
461
  this.jdJumpToWeb(
462
462
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
463
463
  {},
464
464
  );
465
465
  break;
466
466
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
467
467
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
468
468
  const getShopSearchParams = this.jdOpenAppParams(configDataValue.clickUrl);
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(configDataValue.clickUrl);
503
503
  getShopMemberParams &&
504
504
  this.jdJumpToShopMember(
505
505
  Object.assign({}, getShopMemberParams, {
506
506
  logEventInfo,
507
507
  }),
508
508
  );
509
509
  } else {
510
510
  this.jdJumpToShopMember({
511
511
  shopId: global.info.queryInfo.shopId,
512
512
  venderId: configDataValue.shopDetail,
513
513
  logEventInfo,
514
514
  });
515
515
  }
516
516
  break;
517
517
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
518
518
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
519
519
  const getShopActivityParams = this.jdOpenAppParams(configDataValue.clickUrl);
520
520
  if (getShopActivityParams && getShopActivityParams['des'] == 'jshopActivity') {
521
521
  this.jdJumpToShopActivity({
522
522
  projectId: configDataValue['projectId'],
523
523
  configDataValue,
524
524
  logEventInfo,
525
525
  });
526
526
  }
527
527
  } else if (configDataValue['projectId']) {
528
528
  this.jdJumpToShopActivity({
529
529
  projectId: configDataValue['projectId'],
530
530
  configDataValue,
531
531
  logEventInfo,
532
532
  });
533
533
  }
534
534
  break;
535
535
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
536
536
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON:
537
537
  let _url = configDataValue.linkUrl;
538
538
  const isProductM = /item\.m\.jd\.com/.test(_url);
539
539
  const isProductPC = /item\.jd\.com/.test(_url);
540
540
  if (isTjScence) {
541
541
  const { appCode } = global.info.queryInfo;
542
542
 
543
543
  if (/(pro|prodev)\.jd\.com(\/mall\/)/.test(_url)) {
544
544
  if (isH5AdnJxMini) {
545
545
  _url =
546
546
  _url.replace(/([prodev]|[pro])(\.jd\.com)(\/mall)/, '$1.m$2/mini') +
547
547
  `appCode=${appCode}&wxAppName=jx`;
548
548
  } else {
549
549
  _url = _url.replace(/([prodev]|[pro])(\.jd\.com)(\/mall)/, '$1.m$2/jdlite');
550
550
  }
551
551
  } else if (/(pro|prodev)\.(m\.jd|jd)\.com(\/mall\/)/.test(_url)) {
552
552
  if (isH5AdnJxMini) {
553
553
  _url =
554
554
  _url.replace(/([prodev]|[pro])(\.m\.jd\.com)(\/mall)/, '$1$2/mini') +
555
555
  `appCode=${appCode}&wxAppName=jx`;
556
556
  } else {
557
557
  _url = _url.replace(/([prodev]|[pro])(\.m\.jd\.com)(\/mall)/, '$1$2/jdlite');
558
558
  }
559
559
  }
560
560
  }
561
561
  if (
562
562
  _url.indexOf('to=') === -1 &&
563
563
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
564
564
  ) {
565
565
  const _shopId = _url.match(/\d+/g)[0];
566
566
  this.jdJumpToShopHome({
567
567
  shopId: `${_shopId}`,
568
568
  logEventInfo,
569
569
  });
570
570
  } else if (this.isOpenJdAppUrl(_url)) {
571
571
  const getOpenAppParams: any = this.jdOpenAppParams(_url);
572
572
  if (getOpenAppParams) {
573
573
  if (getOpenAppParams.jumpTab == 'allProduct') {
574
574
  this.jdJumpToTabAllProduct(
575
575
  global.info.queryInfo.shopId,
576
576
  global.info.queryInfo.venderId,
577
577
  );
578
578
  } else if (
579
579
  getOpenAppParams.des == 'productList' &&
580
580
  getOpenAppParams.from == 'couponBatch'
581
581
  ) {
582
582
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId);
583
583
  } else if (getOpenAppParams.des == 'vapp') {
584
584
  this.jdJumpToWeb(
585
585
  `https://conecli.com/apps/mpshare/index.html?category=${
586
586
  getOpenAppParams.category
587
587
  }&des=${getOpenAppParams.des}&vapptype=${getOpenAppParams.vapptype}&appId=${
588
588
  getOpenAppParams.appId
589
589
  }&path=${getOpenAppParams.path}&param=${encodeURI(
590
590
  JSON.stringify(getOpenAppParams.param),
591
591
  )}`,
592
592
  logEventInfo,
593
593
  );
594
594
  } else {
595
595
  this.jdNavigateToNative(
596
596
  '',
597
597
  Object.assign({}, getOpenAppParams, {
598
598
  logEventInfo,
599
599
  }),
600
600
  );
601
601
  }
602
602
  }
603
603
  } else if (isProductM || isProductPC) {
604
604
  const skuid = _url.match(/\d+/g)[0];
605
605
  if (skuid) {
606
606
  this.jdJumpToProduct(skuid, logEventInfo);
607
607
  }
608
608
  } else {
609
609
  this.jdJumpToWeb(_url, logEventInfo);
610
610
  }
611
611
  break;
612
612
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
613
613
  this.jdJumpToShopDetail({
614
614
  venderId: global.info.queryInfo.venderId,
615
615
  shopId: global.info.queryInfo.shopId,
616
616
  logEventInfo,
617
617
  });
618
618
  break;
619
619
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
620
620
  this.jdJumpToShopHome({
621
621
  ...configDataValue,
622
622
  logEventInfo,
623
623
  });
624
624
  break;
625
625
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
626
626
  break;
627
627
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
628
628
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
629
629
  const getShoppingGuideParams = this.jdOpenAppParams(configDataValue.clickUrl);
630
630
  getShoppingGuideParams &&
631
631
  this.jdJumpToShopActivity(
632
632
  Object.assign({}, getShoppingGuideParams, {
633
633
  logEventInfo,
634
634
  }),
635
635
  );
636
636
  }
637
637
  break;
638
638
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
639
639
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '');
640
640
  const search = linkUrl.match(/\?.+/);
641
641
  if (search) {
642
642
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
643
643
  parseQueryUrlString(linkUrl);
644
644
  try {
645
645
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param);
646
646
  } catch (e) {
647
647
  console.warn('解析小程序 param 错误:', miniQueryData.param);
648
648
  }
649
649
  this.jdJumpToMiniProgram(miniQueryData);
650
650
  } else {
651
651
  console.warn('小程序地址错误:', linkUrl);
652
652
  }
653
653
  break;
654
654
  }
655
655
  default:
656
656
  }
657
657
  }
658
658
 
659
659
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
660
660
  if (isTjM) return;
661
661
  let batchParam = isTjScence ? `coupon_batch=${couponId}` : `couponbatch=${couponId}`;
662
662
  this.jdJumpToWeb(`${this.jumpWebUrl.jxCouponSearch}?${batchParam}`, logEventInfo);
663
663
  }
664
664
 
665
665
  jdNavigateToNative(
666
666
  url: string,
667
667
  params: {
668
668
  logEventInfo?: object;
669
669
  } = {},
670
670
  successBack?: Function | undefined,
671
671
  failBack?: Function | undefined,
672
672
  ) {
673
673
  const { logEventInfo } = params;
674
674
  const getEparam = logEventInfo || params;
675
675
  if (url.indexOf('tjshop') == -1) {
676
676
  url = url + this.getTjShopParam();
677
677
  }
678
678
  console.log(`url:::::::${url}`);
679
679
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
680
680
  this.clickEventLog(getEparam)
681
681
  .then(() => {
682
682
  typeof successBack == 'function' ? successBack(url) : (window.location.href = url);
683
683
  })
684
684
  .catch(() => {
685
685
  typeof failBack == 'function' && failBack(url);
686
686
  });
687
687
  }