@conecli/cone-render 0.10.1-isv2.1 → 0.10.1-isv2.4

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 (111) 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/jssdk.ts +1 -1
  9. package/dist/common/pageType.ts +1 -1
  10. package/dist/common/sgmCustomCode.ts +1 -1
  11. package/dist/common/token/index.h5.ts +1 -1
  12. package/dist/common/token/token.jd.ts +1 -1
  13. package/dist/common/wxappApi.ts +1 -1
  14. package/dist/components/ErrorBoundary.tsx +1 -1
  15. package/dist/components/base/CommonFloorHead/index.module.scss +126 -111
  16. package/dist/components/base/CommonFloorHead/index.tsx +1 -1
  17. package/dist/components/base/CountDown/index.module.scss +49 -44
  18. package/dist/components/base/CountDown/index.tsx +1 -1
  19. package/dist/components/base/CustomScrollView/index-back.tsx +1 -0
  20. package/dist/components/base/CustomScrollView/index.tsx +1 -1
  21. package/dist/components/base/CustomVideo/common.ts +1 -0
  22. package/dist/components/base/CustomVideo/index.tsx +1 -1
  23. package/dist/components/base/Dialog/index.module.scss +11 -0
  24. package/dist/components/base/ExposureSmart/index.h5.module.scss +12 -2
  25. package/dist/components/base/ExposureSmart/index.h5.tsx +1 -1
  26. package/dist/components/base/ExposureSmart/reporter.tsx +1 -1
  27. package/dist/components/base/InOrOutViewObserver/index.tsx +1 -1
  28. package/dist/components/base/InViewRender/index.tsx +1 -1
  29. package/dist/components/base/InViewRender/index.weapp.tsx +1 -1
  30. package/dist/components/base/ItemViewExposureSmart/index.module.scss +2 -2
  31. package/dist/components/base/ItemViewExposureSmart/index.tsx +1 -1
  32. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
  33. package/dist/components/base/LazyLayoutLoad/index.weapp.tsx +1 -1
  34. package/dist/components/base/LazyLoadImage/index.h5.module.scss +11 -3
  35. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
  36. package/dist/components/base/LazyLoadImage/index.tsx +1 -1
  37. package/dist/components/base/MobileCommonHeader/index.tsx +1 -1
  38. package/dist/components/base/NetworkDataError/index.module.scss +3 -0
  39. package/dist/components/base/NetworkDataError/index.tsx +1 -1
  40. package/dist/components/base/Price/Base/index.tsx +1 -1
  41. package/dist/components/base/Price/Double/index.module.scss +8 -0
  42. package/dist/components/base/Price/Double/index.tsx +1 -1
  43. package/dist/components/debug/DebugLayout/index.module.scss +2 -2
  44. package/dist/components/decorate/DecorateFloorModule/index.module.scss +11 -0
  45. package/dist/components/decorate/DecorateFloorModule/index.tsx +1 -1
  46. package/dist/components/decorate/EmptyFloorModule/index.tsx +1 -1
  47. package/dist/components/decorate/PlaceHolder/index.tsx +1 -1
  48. package/dist/components/floorItem.jd.tsx +1 -1
  49. package/dist/components/floorItem.tsx +1 -1
  50. package/dist/components/floorItem.weapp.tsx +1 -1
  51. package/dist/components/isv/Floor/index.tsx +1 -1
  52. package/dist/components/remoteFloorItem.tsx +1 -1
  53. package/dist/interface/common.ts +1 -1
  54. package/dist/interface/component.ts +1 -1
  55. package/dist/interface/jumpEventReport.ts +1 -1
  56. package/dist/interface/service.ts +1 -1
  57. package/dist/jumpEventReport/base.ts +1 -1
  58. package/dist/jumpEventReport/const.ts +1 -1
  59. package/dist/jumpEventReport/index.jd.ts +1 -1
  60. package/dist/jumpEventReport/index.weapp.ts +1 -1
  61. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  62. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  63. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  64. package/dist/jumpEventReport/web/report.ts +1 -1
  65. package/dist/jumpEventReport/web.base.ts +1 -1
  66. package/dist/jumpEventReport/web.jd.ts +1 -1
  67. package/dist/jumpEventReport/web.jdb.ts +1 -1
  68. package/dist/jumpEventReport/web.jdjch.ts +1 -1
  69. package/dist/jumpEventReport/web.jxwxapp.ts +1 -1
  70. package/dist/jumpEventReport/web.pc.ts +1 -1
  71. package/dist/jumpEventReport/web.tjapp.ts +1 -1
  72. package/dist/jumpEventReport/web.tjm.ts +1 -1
  73. package/dist/jumpEventReport/web.wxapp.ts +1 -1
  74. package/dist/libs/taroAppReport.js +2 -2
  75. package/dist/modules/ContainerFloorList/index.h5.module.scss +66 -52
  76. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  77. package/dist/modules/ContainerFloorList/index.tsx +1 -1
  78. package/dist/open/api/device.ts +1 -1
  79. package/dist/open/api/environment.ts +1 -1
  80. package/dist/open/api/request.ts +1 -1
  81. package/dist/open/api/shopMember.ts +1 -1
  82. package/dist/open/api/util.ts +1 -1
  83. package/dist/open/components/index.ts +1 -1
  84. package/dist/sass/app.h5.scss +275 -221
  85. package/dist/sass/base.scss +183 -137
  86. package/dist/service/fetchGateway.ts +1 -1
  87. package/dist/service/fetchGateway.weapp.ts +1 -0
  88. package/dist/service/http/colorSign.ts +1 -1
  89. package/dist/service/http/const.ts +1 -1
  90. package/dist/service/http/h5Http.ts +1 -0
  91. package/dist/service/http/index.h5.ts +1 -0
  92. package/dist/service/requestServer.h5.ts +1 -0
  93. package/dist/service/requestServer.ts +1 -1
  94. package/dist/service/requestServer.weapp.ts +1 -0
  95. package/dist/utils/connectNativeJsBridge.ts +1 -1
  96. package/dist/utils/connectNativeJsBridge.weapp.ts +1 -1
  97. package/dist/utils/h5Utils.ts +1 -1
  98. package/dist/utils/index.h5.ts +1 -1
  99. package/dist/utils/index.ts +1 -1
  100. package/dist/utils/index.weapp.ts +1 -1
  101. package/dist/utils/jumpExtMapUtil.h5.ts +1 -0
  102. package/dist/utils/jumpExtMapUtil.ts +1 -0
  103. package/dist/utils/log.ts +1 -0
  104. package/dist/utils/sColor.js +1 -0
  105. package/dist/utils/sgmCodeUtils.ts +1 -1
  106. package/dist/utils/taroRenderUtil.ts +1 -1
  107. package/dist/utils/utils.ts +1 -1
  108. package/dist/wxapp/common/address_api/address_api_v2.js +1 -0
  109. package/dist/wxapp/common/user_info.js +1 -1
  110. package/package.json +158 -135
  111. package/dist/utils/memberFormatUtils.js +0 -1
@@ -1 +1 @@
1
- import global from '../common'
2
1
  BUSINESS_TYPE,
3
2
  SHOP_MENU_ID_TYPE,
4
3
  SHOP_MENU_ID_NAME,
5
4
  SECTION_HOME_TAB_TYPE,
6
5
  SECTION_HOME_TAB_NAME_TYPE,
7
6
  objectToUrlEncode,
8
7
  parseQueryUrlString,
9
8
  filterUrlQueryData,
10
9
  routerInfo: {
11
10
  params: {},
12
11
  },
13
12
  nativeEvent: null,
14
13
  jumpConfig: {
15
14
  venderId: null,
16
15
  shopId: null,
17
16
  sourceValue: '',
18
17
  sourceType: 'M-H5',
19
18
  activityType: 'shopx',
20
19
  moduleId: 'none',
21
20
  entrance: 'none',
22
21
  },
23
22
  logPageParamStr: '',
24
23
  public logPageId: string
25
24
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig
26
25
  getConfig(opt) {
27
26
  return Object.assign(this, {}, defaultConfig, opt)
28
27
  }
29
28
  updateInfo(
30
29
  routerInfo,
31
30
  logPname = LogPnameInfo.HOME,
32
31
  pageId = LogPageIdInfo.APP,
33
32
  ) {
34
33
  this.routerInfo = routerInfo
35
34
  this.logPname = logPname
36
35
  this.jumpConfig = Object.assign(
37
36
  {},
38
37
  this.jumpConfig,
39
38
  filterUrlQueryData(routerInfo?.params || {}),
40
39
  )
41
40
  this.logPageId = pageId
42
41
  }
43
42
 
44
43
  reportInfoPv(
45
44
  pageId = LogPageIdInfo.APP,
46
45
  opt: {
47
46
  pageParam?: any
48
47
  } = {},
49
48
  ) {
50
49
  const { pageParam, ...otherOpts } = opt
51
50
  const pageParamStr =
52
51
  typeof pageParam === 'object' ? JSON.stringify(pageParam) : pageParam
53
52
  this.logPageParamStr = pageParamStr
54
53
  ? pageParamStr
55
54
  : JSON.stringify(this.jumpConfig)
56
55
  return reportPV({
57
56
  pageId,
58
57
  pageParam: this.logPageParamStr,
59
58
  ...otherOpts,
60
59
  })
61
60
  }
62
61
 
63
62
  jdJumpToProduct(skuIds, logEventInfo) {
64
63
  skuIds = skuIds.toString().trim()
65
64
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds
66
65
  const { jingxiSdx, ...otherLogInfo } = logEventInfo
67
66
  if(jingxiSdx){
68
67
  this.jdNavigateToNative(
69
68
  `${this.jumpWebUrl.detail}${getSkuId}.html?sdx=${jingxiSdx}`,
70
69
  otherLogInfo,
71
70
  )
72
71
  }else {
73
72
  this.jdNavigateToNative(
74
73
  `${this.jumpWebUrl.detail}${getSkuId}.html`,
75
74
  logEventInfo,
76
75
  )
77
76
  }
78
77
  }
79
78
 
80
79
  jdJumpToRankList(contentId: string | number, rankType = 10, logEventInfo) {
81
80
  const rankUrl = `${this.jumpWebUrl.rank}?contentId=${contentId}&sku=&rankType=${rankType}&fromName=dcpws&hideAd=1`
82
81
  this.jdNavigateToNative(rankUrl, {
83
82
  contentId,
84
83
  ...logEventInfo,
85
84
  })
86
85
  }
87
86
 
88
87
  jdJumpToShopCategory(shopInfo) {
89
88
  this.jdNavigateToNative(
90
89
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode(
91
90
  this.getShopIdOrVenderIdParams(shopInfo),
92
91
  )}&tabActive=classify`,
93
92
  {
94
93
  ...shopInfo,
95
94
  },
96
95
  )
97
96
  }
98
97
 
99
98
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
100
99
  const getInfo = Object.assign(
101
100
  {},
102
101
  {
103
102
  shopId: global.info.queryInfo.shopId,
104
103
  venderId: global.info.queryInfo.venderId,
105
104
  },
106
105
  shopInfo,
107
106
  )
108
107
  this.jdNavigateToNative(
109
108
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
110
109
  this.getShopIdOrVenderIdParams(getInfo),
111
110
  )}`,
112
111
  {
113
112
  ...getInfo,
114
113
  },
115
114
  )
116
115
  }
117
116
 
118
117
  jdJumpToShopLight(shopInfo) {
119
118
  this.jdNavigateToNative(
120
119
  `${this.jumpWebUrl.shopLight}?${objectToUrlEncode(
121
120
  this.getShopIdOrVenderIdParams(shopInfo),
122
121
  )}`,
123
122
  {
124
123
  ...shopInfo,
125
124
  },
126
125
  )
127
126
  }
128
127
 
129
128
  jdJumpToShopMember(shopInfo) {
130
129
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
131
130
  const memberHomeUrl = window?.shopGlobalSwitch?.openNewMemberEntry === 'true' ? this.jumpWebUrl.memberHome : this.jumpWebUrl.shopMember
132
131
  this.jdJumpToWeb(
133
132
  `${memberHomeUrl}?${objectToUrlEncode(
134
133
  getShopInfo,
135
134
  )}&venderType=1&channel=406`,
136
135
  shopInfo,
137
136
  )
138
137
  }
139
138
 
140
139
  jdJumpToShopMemberCard(shopInfo) {
141
140
  const { logEventInfo } = shopInfo
142
141
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
143
142
  this.jdJumpToWeb(
144
143
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(getShopInfo)}`,
145
144
  logEventInfo,
146
145
  )
147
146
  }
148
147
 
149
148
  jdJumpToTotalPromotion(shopInfo) {
150
149
  const { url, logEventInfo } = shopInfo
151
150
  if (this.isOpenJdAppUrl(url)) {
152
151
  const getOpenAppParams: any = this.jdOpenAppParams(url)
153
152
  if (getOpenAppParams) {
154
153
  if (getOpenAppParams?.activityId) {
155
154
  this.jdJumpToWeb(
156
155
  `${this.jumpWebUrl.totalPromotion}?activity_id=${getOpenAppParams?.activityId}`,
157
156
  shopInfo,
158
157
  )
159
158
  }
160
159
  }
161
160
  } else {
162
161
  this.jdJumpToWeb(url, logEventInfo)
163
162
  }
164
163
  }
165
164
 
166
165
  jdJumpToDongDongChat(paramInfo) {
167
166
  const getInfo = Object.assign(
168
167
  {},
169
168
  {
170
169
  venderId: global.info.queryInfo.venderId,
171
170
  },
172
171
  paramInfo,
173
172
  )
174
173
  const { venderId = '1', entry = 'm_shop', ...otherInfo } = getInfo
175
174
  const dongdongUrl = `${this.jumpWebUrl.dongDongChat}?venderId=${venderId}&entry=${entry}&sceneval=2`
176
175
  this.jdJumpToWeb(dongdongUrl, otherInfo)
177
176
  }
178
177
 
179
178
  jdJumpToShopDetail(shopInfo) {
180
179
  const getInfo = Object.assign(
181
180
  {},
182
181
  {
183
182
  shopId: global.info.queryInfo.shopId,
184
183
  venderId: global.info.queryInfo.venderId,
185
184
  },
186
185
  shopInfo,
187
186
  )
188
187
  const getShopInfo = this.getShopIdOrVenderIdParams(getInfo)
189
188
  this.jdJumpToWeb(
190
189
  `${this.jumpWebUrl.shopIntroduce}?${objectToUrlEncode(getShopInfo)}`,
191
190
  getInfo,
192
191
  )
193
192
  }
194
193
 
195
194
  jdJumpToShopSearch(shopInfo) {
196
195
  const getInfo = Object.assign(
197
196
  {},
198
197
  {
199
198
  shopId: global.info.queryInfo.shopId,
200
199
  venderId: global.info.queryInfo.venderId,
201
200
  },
202
201
  shopInfo,
203
202
  )
204
203
  const { shopId, categoryId, keyword, pageId, description, shopName } =
205
204
  getInfo
206
205
  const cateId = categoryId ? `&cateId=${typeof categoryId === 'string' ? categoryId?.trim() : categoryId}` : ''
207
206
  const addKeyWord = keyword ? `&keyword=${keyword}` : ''
208
207
  const addPageId = pageId ? `&pageId=${pageId}` : ''
209
208
  const searchDes = description ? `&description=${description}` : ''
210
209
  const shopNameDes = shopName ? `&shopName=${shopName}` : ''
211
210
  const searchType = categoryId ? 5 : keyword ? 4 : 3
212
211
  this.jdJumpToWeb(
213
212
  `${this.jumpWebUrl.shopSearch}?shopId=${shopId}&searchType=${searchType}${cateId}${addKeyWord}${addPageId}${searchDes}${shopNameDes}`,
214
213
  getInfo,
215
214
  )
216
215
  }
217
216
 
218
217
  jdJumpToWeb(
219
218
  url,
220
219
  logEventInfo,
221
220
  successBack?: Function | undefined,
222
221
  failBack?: Function | undefined,
223
222
  ) {
224
223
  console.log('web.base.ts - jdJumpToWeb')
225
224
  this.jdNavigateToNative(
226
225
  url,
227
226
  {
228
227
  ...logEventInfo,
229
228
  },
230
229
  successBack,
231
230
  failBack,
232
231
  )
233
232
  }
234
233
 
235
234
  jdJumpToWebInner(url, logEventInfo) {
236
235
  this.jdJumpToWeb(url, logEventInfo)
237
236
  }
238
237
 
239
238
  jdJumpToLive(liveInfo, logEventInfo = {}) {
240
239
  if (liveInfo?.liveId) {
241
240
  this.jdJumpToWeb(
242
241
  `${this.jumpWebUrl.mLive}/${liveInfo?.liveId}?origin=30`,
243
242
  logEventInfo,
244
243
  )
245
244
  }
246
245
  }
247
246
 
248
247
  jdJumpToShopActivity(shopInfo) {
249
248
  const { configDataValue, logEventInfo, projectId } = shopInfo
250
249
  if (projectId && configDataValue) {
251
250
  this.jdJumpToWeb(
252
251
  `${this.jumpWebUrl.shopSecondActivity}${configDataValue.data}.html`,
253
252
  logEventInfo,
254
253
  )
255
254
  }
256
255
  }
257
256
 
258
257
  jdJumpToActivityPlace(spUrl, logEventInfo) {
259
258
  this.jdNavigateToNative(spUrl, logEventInfo)
260
259
  }
261
260
 
262
261
  jdJumpConfigUrl(detail, logEventInfo = {}) {
263
262
  const { configDataType, configDataValue } = detail
264
263
  console.log(
265
264
  'jdJumpConfigUrl web.base configDataType:',
266
265
  configDataType,
267
266
  configDataValue,
268
267
  )
269
268
  switch (configDataType) {
270
269
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
271
270
  if(logEventInfo?.jsonParam?.logBaseInfo?.mInfo){
272
271
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid = configDataValue.skuIds
273
272
  }
274
273
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo)
275
274
  break
276
275
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
277
276
  this.jdJumpToWeb(
278
277
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
279
278
  {},
280
279
  )
281
280
  break
282
281
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
283
282
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
284
283
  const getShopSearchParams = this.jdOpenAppParams(
285
284
  configDataValue.clickUrl,
286
285
  )
287
286
  getShopSearchParams &&
288
287
  this.jdJumpToShopSearch(
289
288
  Object.assign({}, getShopSearchParams, {
290
289
  logEventInfo,
291
290
  }),
292
291
  )
293
292
  } else {
294
293
  this.jdJumpToShopSearch(
295
294
  configDataValue['cid']
296
295
  ? Object.assign(
297
296
  {},
298
297
  {
299
298
  shopId: global.info.queryInfo.shopId,
300
299
  categoryId: configDataValue.cid,
301
300
  ...configDataValue,
302
301
  logEventInfo,
303
302
  },
304
303
  )
305
304
  : {
306
305
  shopId: global.info.queryInfo.shopId,
307
306
  logEventInfo,
308
307
  },
309
308
  )
310
309
  }
311
310
  break
312
311
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
313
312
  this.jdJumpToShopCategory({
314
313
  ...configDataValue,
315
314
  logEventInfo,
316
315
  })
317
316
  break
318
317
  case LinkConfigType.CONFIG_TYPE_MEMBER:
319
318
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
320
319
  const getShopMemberParams = this.jdOpenAppParams(
321
320
  configDataValue.clickUrl,
322
321
  )
323
322
  getShopMemberParams &&
324
323
  this.jdJumpToShopMember(
325
324
  Object.assign({}, getShopMemberParams, {
326
325
  logEventInfo,
327
326
  }),
328
327
  )
329
328
  } else {
330
329
  this.jdJumpToShopMember({
331
330
  shopId: global.info.queryInfo.shopId,
332
331
  venderId: configDataValue.shopDetail,
333
332
  logEventInfo,
334
333
  })
335
334
  }
336
335
  break
337
336
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
338
337
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
339
338
  const getShopActivityParams = this.jdOpenAppParams(
340
339
  configDataValue.clickUrl,
341
340
  )
342
341
  if (
343
342
  getShopActivityParams &&
344
343
  getShopActivityParams['des'] == 'jshopActivity'
345
344
  ) {
346
345
  this.jdJumpToShopActivity({
347
346
  projectId: configDataValue['projectId'],
348
347
  configDataValue,
349
348
  logEventInfo,
350
349
  })
351
350
  }
352
351
  } else if (configDataValue['projectId']) {
353
352
  this.jdJumpToShopActivity({
354
353
  projectId: configDataValue['projectId'],
355
354
  configDataValue,
356
355
  logEventInfo,
357
356
  })
358
357
  }
359
358
  break
360
359
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
361
360
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON:
362
361
  const _url = configDataValue.linkUrl
363
362
  const isProductM = /item\.m\.jd\.com/.test(_url)
364
363
  const isProductPC = /item\.jd\.com/.test(_url)
365
364
  if (
366
365
  _url.indexOf('to=') === -1 &&
367
366
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
368
367
  ) {
369
368
  const _shopId = _url.match(/\d+/g)[0]
370
369
  this.jdJumpToShopHome({
371
370
  shopId: `${_shopId}`,
372
371
  logEventInfo,
373
372
  })
374
373
  } else if (this.isOpenJdAppUrl(_url)) {
375
374
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
376
375
  if (getOpenAppParams) {
377
376
  if (getOpenAppParams.jumpTab == 'allProduct') {
378
377
  this.jdJumpToTabAllProduct(
379
378
  global.info.queryInfo.shopId,
380
379
  global.info.queryInfo.venderId,
381
380
  )
382
381
  } else if (
383
382
  getOpenAppParams.des == 'productList' &&
384
383
  getOpenAppParams.from == 'couponBatch'
385
384
  ) {
386
385
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
387
386
  } else if (getOpenAppParams.des == 'vapp') {
388
387
  this.jdJumpToWeb(
389
388
  `https:
390
389
  getOpenAppParams.category
391
390
  }&des=${getOpenAppParams.des}&vapptype=${
392
391
  getOpenAppParams.vapptype
393
392
  }&appId=${getOpenAppParams.appId}&path=${
394
393
  getOpenAppParams.path
395
394
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
396
395
  logEventInfo,
397
396
  )
398
397
  } else {
399
398
  this.jdNavigateToNative(
400
399
  '',
401
400
  Object.assign({}, getOpenAppParams, {
402
401
  logEventInfo,
403
402
  }),
404
403
  )
405
404
  }
406
405
  }
407
406
  } else if (isProductM || isProductPC) {
408
407
  const skuid = _url.match(/\d+/g)[0]
409
408
  if (skuid) {
410
409
  this.jdJumpToProduct(skuid, logEventInfo)
411
410
  }
412
411
  } else {
413
412
  this.jdJumpToWeb(_url, logEventInfo)
414
413
  }
415
414
  break
416
415
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
417
416
  this.jdJumpToShopDetail({
418
417
  venderId: global.info.queryInfo.venderId,
419
418
  shopId: global.info.queryInfo.shopId,
420
419
  logEventInfo,
421
420
  })
422
421
  break
423
422
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
424
423
  this.jdJumpToShopHome({
425
424
  ...configDataValue,
426
425
  logEventInfo,
427
426
  })
428
427
  break
429
428
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
430
429
  break
431
430
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
432
431
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
433
432
  const getShoppingGuideParams = this.jdOpenAppParams(
434
433
  configDataValue.clickUrl,
435
434
  )
436
435
  getShoppingGuideParams &&
437
436
  this.jdJumpToShopActivity(
438
437
  Object.assign({}, getShoppingGuideParams, {
439
438
  logEventInfo,
440
439
  }),
441
440
  )
442
441
  }
443
442
  break
444
443
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
445
444
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
446
445
  const search = linkUrl.match(/\?.+/)
447
446
  if (search) {
448
447
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
449
448
  parseQueryUrlString(linkUrl)
450
449
  try {
451
450
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
452
451
  } catch (e) {
453
452
  console.warn('解析小程序 param 错误:', miniQueryData.param)
454
453
  }
455
454
  this.jdJumpToMiniProgram(miniQueryData)
456
455
  } else {
457
456
  console.warn('小程序地址错误:', linkUrl)
458
457
  }
459
458
  break
460
459
  }
461
460
  default:
462
461
  }
463
462
  }
464
463
 
465
464
  jdJumpToTabAllProduct(shopId, venderId, logEventInfo = {}) {
466
465
  console.log('web.base.ts - jdJumpToTabAllProduct')
467
466
  if(typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId
468
467
  if(typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId
469
468
  this.jdJumpToWeb(
470
469
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode({
471
470
  shopId,
472
471
  venderId,
473
472
  tabActive: 'home-product'
474
473
  })}`,
475
474
  logEventInfo,
476
475
  )
477
476
  }
478
477
 
479
478
  jdJumpToTabAllProductInner(shopId, venderId, logEventInfo = {}) {
480
479
  if(typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId
481
480
  if(typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId
482
481
  this.jdJumpToTabAllProduct(shopId, venderId, logEventInfo)
483
482
  }
484
483
 
485
484
  jdJumpToTopTabBase(type, shopInfo = {}) {
486
485
  const getInfo = Object.assign(
487
486
  {},
488
487
  {
489
488
  shopId: global.info.queryInfo.shopId,
490
489
  venderId: global.info.queryInfo.venderId,
491
490
  },
492
491
  shopInfo,
493
492
  )
494
493
  this.jdJumpToWeb(
495
494
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode(
496
495
  this.getShopIdOrVenderIdParams(getInfo),
497
496
  )}&tabActive=${type}`,
498
497
  getInfo,
499
498
  )
500
499
  }
501
500
 
502
501
  jdJumpToTabNew(shopInfo = {}) {
503
502
  console.log('上新tab')
504
503
  this.jdJumpToTopTabBase(
505
504
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_NEW_PRODUCT],
506
505
  shopInfo,
507
506
  )
508
507
  }
509
508
 
510
509
  jdJumpToTabNewInner(shopInfo = {}) {
511
510
  this.jdJumpToTabNew(shopInfo)
512
511
  }
513
512
 
514
513
  jdJumpToTabRank(shopInfo = {}) {
515
514
  console.log('榜单tab')
516
515
  this.jdJumpToTopTabBase(
517
516
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_RANK],
518
517
  shopInfo,
519
518
  )
520
519
  }
521
520
  jdJumpToTabRankInner(shopInfo = {}) {
522
521
  this.jdJumpToTabRank(shopInfo)
523
522
  }
524
523
  jdJumpToTabBuyerShow(shopInfo = {}) {
525
524
  console.log('买家秀tab')
526
525
  this.jdJumpToTopTabBase(
527
526
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_BUYER_SHOW],
528
527
  shopInfo,
529
528
  )
530
529
  }
531
530
  jdJumpToTabBuyerShowInner(shopInfo = {}) {
532
531
  this.jdJumpToTabBuyerShow(shopInfo)
533
532
  }
534
533
  jdJumpToTabActivity(shopInfo = {}) {
535
534
  console.log('活动tab')
536
535
  this.jdJumpToTopTabBase(
537
536
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_ACTIVITY],
538
537
  shopInfo,
539
538
  )
540
539
  }
541
540
  jdJumpToTabActivityInner(shopInfo = {}) {
542
541
  this.jdJumpToTabActivity(shopInfo)
543
542
  }
544
543
  jdJumpToTabSecKill(shopInfo = {}) {
545
544
  console.log('秒杀tab')
546
545
  this.jdJumpToTopTabBase(
547
546
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_SECKILL],
548
547
  shopInfo,
549
548
  )
550
549
  }
551
550
  jdJumpToTabSecKillInner(shopInfo = {}) {
552
551
  this.jdJumpToTabSecKill(shopInfo)
553
552
  }
554
553
 
555
554
  jdJumpToBottomTabBase(type, shopInfo = {}) {
556
555
  this.jdJumpToTopTabBase(type, shopInfo)
557
556
  }
558
557
  jdJumpToBottomTabProduct(shopInfo = {}) {
559
558
  this.jdJumpToBottomTabBase(
560
559
  SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.PRODUCT],
561
560
  shopInfo,
562
561
  )
563
562
  }
564
563
  jdJumpToBottomTabCategory(shopInfo = {}) {
565
564
  this.jdJumpToBottomTabBase(
566
565
  SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.CLASSIFY],
567
566
  shopInfo,
568
567
  )
569
568
  }
570
569
  jdJumpToBottomTabFind(shopInfo = {}) {
571
570
  console.log('发现tab')
572
571
  }
573
572
  jdJumpToBottomTabBrandMember(shopInfo = {}) {
574
573
  const getInfo = Object.assign(
575
574
  {},
576
575
  {
577
576
  shopId: global.info.queryInfo.shopId,
578
577
  venderId: global.info.queryInfo.venderId,
579
578
  },
580
579
  shopInfo,
581
580
  )
582
581
  this.jdJumpToWeb(
583
582
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(
584
583
  this.getShopIdOrVenderIdParams(getInfo),
585
584
  )}`,
586
585
  getInfo,
587
586
  )
588
587
  }
589
588
  jdJumpToBottomTabBrandMemberInner(shopInfo = {}) {
590
589
  this.jdJumpToBottomTabBrandMember(shopInfo)
591
590
  }
592
591
 
593
592
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
594
593
  this.jdJumpToWeb(
595
594
  `${this.jumpWebUrl.couponSearch}?couponbatch=${couponId}&sceneval=2`,
596
595
  logEventInfo,
597
596
  )
598
597
  }
599
598
 
600
599
  jdNavigateToNative(
601
600
  url: string,
602
601
  params: {
603
602
  logEventInfo?: object
604
603
  } = {},
605
604
  successBack?: Function | undefined,
606
605
  failBack?: Function | undefined,
607
606
  ) {
608
607
  const { logEventInfo } = params
609
608
  const getEparam = logEventInfo || params
610
609
  console.log(`url:::::::${url}`)
611
610
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
612
611
  this.clickEventLog(getEparam)
613
612
  .then(() => {
614
613
  typeof successBack == 'function'
615
614
  ? successBack(url)
616
615
  : (window.location.href = url)
617
616
  })
618
617
  .catch(() => {
619
618
  typeof failBack == 'function' && failBack(url)
620
619
  })
621
620
  }
622
621
 
623
622
  clickEventLog(
624
623
  opts: JumpEventReportInterFace.OptEventLogParams = {},
625
624
  reportKey = 'click',
626
625
  ) {
627
626
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts
628
627
  ;/TerminatorNew_/.test(`${eventId}`) &&
629
628
  console.log(`当前h5的楼层模块eventId为====${eventId}`)
630
629
  if (eventId && jsonParam) {
631
630
  const { etModelInfo, logBaseInfo } = jsonParam
632
631
  let getJsonParam = {}
633
632
  if (etModelInfo && logBaseInfo) {
634
633
  getJsonParam = logBaseInfo
635
634
  } else {
636
635
  if (Array.isArray(jsonParam)){
637
636
  getJsonParam = jsonParam
638
637
  } else {
639
638
  getJsonParam = Object.assign(
640
639
  {},
641
640
  {
642
641
  shopid: global.info.queryInfo?.shopId,
643
642
  },
644
643
  jsonParam,
645
644
  )
646
645
  }
647
646
  }
648
647
  if(reportKey === 'exposure' && /^TerminatorNew/.test(eventId) && !Array.isArray(getJsonParam)){
649
648
  getJsonParam = [getJsonParam]
650
649
  }
651
650
  const webLogParams = {
652
651
  eid: eventId,
653
652
  elevel: eventLevel,
654
653
  jsonParam: JSON.stringify(getJsonParam),
655
654
  etModel: JSON.stringify(etModelInfo || {}),
656
655
  pageId: this.logPageId,
657
656
  pageParam: this.logPageParamStr,
658
657
  ...otherParams,
659
658
  }
660
659
  return /click|exposure/.test(reportKey)
661
660
  ? reportClick(webLogParams)
662
661
  : reportToCart(opts, webLogParams)
663
662
  } else {
664
663
  console.log('暂无埋点参数eventId和jsonParam')
665
664
  return Promise.resolve(false)
666
665
  }
667
666
  }
668
667
 
669
668
  exposureEventLog(opts) {
670
669
  return global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE
671
670
  ? this.clickEventLog(
672
671
  {
673
672
  ...opts,
674
673
  exposureState: true,
675
674
  },
676
675
  'exposure',
677
676
  )
678
677
  : Promise.resolve(false)
679
678
  }
679
+ import global from '../common';
680
680
  BUSINESS_TYPE,
681
681
  SHOP_MENU_ID_TYPE,
682
682
  SHOP_MENU_ID_NAME,
683
683
  SECTION_HOME_TAB_TYPE,
684
684
  SECTION_HOME_TAB_NAME_TYPE,
685
685
  objectToUrlEncode,
686
686
  parseQueryUrlString,
687
687
  filterUrlQueryData,
688
688
  isJdAndHarmonyDevice,
689
689
  showNormalToast,
690
690
  routerInfo: {
691
691
  params: {},
692
692
  },
693
693
  nativeEvent: null,
694
694
  jumpConfig: {
695
695
  venderId: null,
696
696
  shopId: null,
697
697
  sourceValue: '',
698
698
  sourceType: 'M-H5',
699
699
  activityType: 'shopx',
700
700
  moduleId: 'none',
701
701
  entrance: 'none',
702
702
  },
703
703
  logPageParamStr: '',
704
704
  public logPageId: string;
705
705
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig;
706
706
  getConfig(opt) {
707
707
  return Object.assign(this, {}, defaultConfig, opt);
708
708
  }
709
709
  updateInfo(routerInfo, logPname = LogPnameInfo.HOME, pageId = LogPageIdInfo.APP) {
710
710
  this.routerInfo = routerInfo;
711
711
  this.logPname = logPname;
712
712
  this.jumpConfig = Object.assign(
713
713
  {},
714
714
  this.jumpConfig,
715
715
  filterUrlQueryData(routerInfo?.params || {}),
716
716
  );
717
717
  this.logPageId = pageId;
718
718
  }
719
719
 
720
720
  reportInfoPv(
721
721
  pageId = LogPageIdInfo.APP,
722
722
  opt: {
723
723
  pageParam?: any;
724
724
  } = {},
725
725
  ) {
726
726
  const { pageParam, ...otherOpts } = opt;
727
727
  const pageParamStr = typeof pageParam === 'object' ? JSON.stringify(pageParam) : pageParam;
728
728
  this.logPageParamStr = pageParamStr ? pageParamStr : JSON.stringify(this.jumpConfig);
729
729
  return reportPV({
730
730
  pageId,
731
731
  pageParam: this.logPageParamStr,
732
732
  ...otherOpts,
733
733
  });
734
734
  }
735
735
 
736
736
  jdJumpToProduct(skuIds, logEventInfo) {
737
737
  skuIds = skuIds.toString().trim();
738
738
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds;
739
739
  const { jingxiSdx, ...otherLogInfo } = logEventInfo;
740
740
  if (jingxiSdx) {
741
741
  this.jdNavigateToNative(
742
742
  `${this.jumpWebUrl.detail}${getSkuId}.html?sdx=${jingxiSdx}`,
743
743
  otherLogInfo,
744
744
  );
745
745
  } else {
746
746
  this.jdNavigateToNative(`${this.jumpWebUrl.detail}${getSkuId}.html`, logEventInfo);
747
747
  }
748
748
  }
749
749
 
750
750
  jdJumpSkuInfoToProduct(skuInfo: any = {}, logEventInfo) {
751
751
  const getSkuId = skuInfo?.skuId;
752
752
  this.jdJumpToProduct(getSkuId, logEventInfo);
753
753
  }
754
754
 
755
755
  jdJumpToRankList(contentId: string | number, rankType = 10, logEventInfo) {
756
756
  const rankUrl = `${this.jumpWebUrl.rank}?contentId=${contentId}&sku=&rankType=${rankType}&fromName=dcpws&hideAd=1`;
757
757
  this.jdNavigateToNative(rankUrl, {
758
758
  contentId,
759
759
  ...logEventInfo,
760
760
  });
761
761
  }
762
762
 
763
763
  jdJumpToShopCategory(shopInfo) {
764
764
  this.jdNavigateToNative(
765
765
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode(
766
766
  this.getShopIdOrVenderIdParams(shopInfo),
767
767
  )}&tabActive=classify`,
768
768
  {
769
769
  ...shopInfo,
770
770
  },
771
771
  );
772
772
  }
773
773
 
774
774
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
775
775
  const getInfo = Object.assign(
776
776
  {},
777
777
  {
778
778
  shopId: global.info.queryInfo.shopId,
779
779
  venderId: global.info.queryInfo.venderId,
780
780
  },
781
781
  shopInfo,
782
782
  );
783
783
  this.jdNavigateToNative(
784
784
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(this.getShopIdOrVenderIdParams(getInfo))}`,
785
785
  {
786
786
  ...getInfo,
787
787
  },
788
788
  );
789
789
  }
790
790
 
791
791
  jdJumpToShopLight(shopInfo) {
792
792
  this.jdNavigateToNative(
793
793
  `${this.jumpWebUrl.shopLight}?${objectToUrlEncode(this.getShopIdOrVenderIdParams(shopInfo))}`,
794
794
  {
795
795
  ...shopInfo,
796
796
  },
797
797
  );
798
798
  }
799
799
 
800
800
  jdJumpToShopMember(shopInfo) {
801
801
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo);
802
802
  const memberHomeUrl =
803
803
  window?.shopGlobalSwitch?.openNewMemberEntry === 'true'
804
804
  ? this.jumpWebUrl.memberHome
805
805
  : this.jumpWebUrl.shopMember;
806
806
  this.jdJumpToWeb(
807
807
  `${memberHomeUrl}?${objectToUrlEncode(getShopInfo)}&venderType=1&channel=406`,
808
808
  shopInfo,
809
809
  );
810
810
  }
811
811
 
812
812
  jdJumpToShopMemberCard(shopInfo) {
813
813
  const { logEventInfo } = shopInfo;
814
814
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo);
815
815
  this.jdJumpToWeb(
816
816
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(getShopInfo)}`,
817
817
  logEventInfo,
818
818
  );
819
819
  }
820
820
 
821
821
  jdJumpToTotalPromotion(shopInfo) {
822
822
  const { url, logEventInfo } = shopInfo;
823
823
  if (this.isOpenJdAppUrl(url)) {
824
824
  const getOpenAppParams: any = this.jdOpenAppParams(url);
825
825
  if (getOpenAppParams) {
826
826
  if (getOpenAppParams?.activityId) {
827
827
  this.jdJumpToWeb(
828
828
  `${this.jumpWebUrl.totalPromotion}?activity_id=${getOpenAppParams?.activityId}`,
829
829
  shopInfo,
830
830
  );
831
831
  }
832
832
  }
833
833
  } else {
834
834
  this.jdJumpToWeb(url, logEventInfo);
835
835
  }
836
836
  }
837
837
 
838
838
  jdJumpToDongDongChat(paramInfo) {
839
839
  const getInfo = Object.assign(
840
840
  {},
841
841
  {
842
842
  venderId: global.info.queryInfo.venderId,
843
843
  },
844
844
  paramInfo,
845
845
  );
846
846
  const { venderId = '1', entry = 'm_shop', ...otherInfo } = getInfo;
847
847
  const dongdongUrl = `${this.jumpWebUrl.dongDongChat}?venderId=${venderId}&entry=${entry}&sceneval=2`;
848
848
  this.jdJumpToWeb(dongdongUrl, otherInfo);
849
849
  }
850
850
 
851
851
  jdJumpToShopDetail(shopInfo) {
852
852
  const getInfo = Object.assign(
853
853
  {},
854
854
  {
855
855
  shopId: global.info.queryInfo.shopId,
856
856
  venderId: global.info.queryInfo.venderId,
857
857
  },
858
858
  shopInfo,
859
859
  );
860
860
  const getShopInfo = this.getShopIdOrVenderIdParams(getInfo);
861
861
  this.jdJumpToWeb(`${this.jumpWebUrl.shopIntroduce}?${objectToUrlEncode(getShopInfo)}`, getInfo);
862
862
  }
863
863
 
864
864
  jdJumpToShopSearch(shopInfo) {
865
865
  const getInfo = Object.assign(
866
866
  {},
867
867
  {
868
868
  shopId: global.info.queryInfo.shopId,
869
869
  venderId: global.info.queryInfo.venderId,
870
870
  },
871
871
  shopInfo,
872
872
  );
873
873
  const {
874
874
  shopId,
875
875
  categoryId,
876
876
  keyword,
877
877
  pageId,
878
878
  description,
879
879
  shopName,
880
880
  keyWord,
881
881
  seller_actId,
882
882
  seller_actType,
883
883
  } = getInfo;
884
884
  const cateId = categoryId
885
885
  ? `&cateId=${typeof categoryId === 'string' ? categoryId?.trim() : categoryId}`
886
886
  : '';
887
887
  const addKeyWord = keyword || keyWord ? `&keyword=${keyword || keyWord}` : '';
888
888
  const addPageId = pageId ? `&pageId=${pageId}` : '';
889
889
  const searchDes = description ? `&description=${description}` : '';
890
890
  const shopNameDes = shopName ? `&shopName=${shopName}` : '';
891
891
  const searchType = categoryId ? 5 : keyword || keyWord ? 4 : 3;
892
892
  const activityId = seller_actId ? `&activityId=${seller_actId}` : '';
893
893
  const activityType = seller_actType ? `&activityType=${seller_actType}` : '';
894
894
  this.jdJumpToWeb(
895
895
  `${this.jumpWebUrl.shopSearch}?shopId=${shopId}&searchType=${searchType}${cateId}${addKeyWord}${addPageId}${searchDes}${shopNameDes}${activityId}${activityType}`,
896
896
  getInfo,
897
897
  );
898
898
  }
899
899
 
900
900
  jdJumpToWeb(
901
901
  url,
902
902
  logEventInfo,
903
903
  successBack?: Function | undefined,
904
904
  failBack?: Function | undefined,
905
905
  ) {
906
906
  console.log('web.base.ts - jdJumpToWeb');
907
907
  this.jdNavigateToNative(
908
908
  url,
909
909
  {
910
910
  ...logEventInfo,
911
911
  },
912
912
  successBack,
913
913
  failBack,
914
914
  );
915
915
  }
916
916
 
917
917
  jdJumpToWebInner(url, logEventInfo) {
918
918
  this.jdJumpToWeb(url, logEventInfo);
919
919
  }
920
920
 
921
921
  jdJumpToLive(liveInfo, logEventInfo = {}) {
922
922
  if (liveInfo?.liveId) {
923
923
  this.jdJumpToWeb(`${this.jumpWebUrl.mLive}/${liveInfo?.liveId}?origin=30`, logEventInfo);
924
924
  } else if (isJdAndHarmonyDevice) {
925
925
  const getShopLiveParams = this.jdOpenAppParams(liveInfo);
926
926
  console.log('getShopLiveParams=====', getShopLiveParams);
927
927
  if (typeof getShopLiveParams === 'object') {
928
928
  this.jdNavigateToNativeOpenApp({
929
929
  ...getShopLiveParams,
930
930
  logEventInfo,
931
931
  });
932
932
  }
933
933
  }
934
934
  }
935
935
 
936
936
  jdJumpToShopActivity(shopInfo) {
937
937
  const { configDataValue, logEventInfo, projectId } = shopInfo;
938
938
  if (projectId && configDataValue) {
939
939
  this.jdJumpToWeb(
940
940
  `${this.jumpWebUrl.shopSecondActivity}${configDataValue.data}.html`,
941
941
  logEventInfo,
942
942
  );
943
943
  }
944
944
  }
945
945
 
946
946
  jdJumpToActivityPlace(spUrl, logEventInfo) {
947
947
  this.jdNavigateToNative(spUrl, logEventInfo);
948
948
  }
949
949
 
950
950
  jdJumpConfigUrl(detail, logEventInfo = {}) {
951
951
  const { configDataType, configDataValue } = detail;
952
952
  console.log('jdJumpConfigUrl web.base configDataType:', configDataType, configDataValue);
953
953
  switch (configDataType) {
954
954
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
955
955
  if (logEventInfo?.jsonParam?.logBaseInfo?.mInfo) {
956
956
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid = configDataValue.skuIds;
957
957
  }
958
958
  if (
959
959
  isJdAndHarmonyDevice &&
960
960
  global.info?.nonSellableSkuids?.[configDataValue.nonSellableKey]
961
961
  ) {
962
962
  showNormalToast({ title: '商品暂不可购买,请查看店内其他商品' });
963
963
  return;
964
964
  }
965
965
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo);
966
966
  break;
967
967
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
968
968
  this.jdJumpToWeb(
969
969
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
970
970
  {},
971
971
  );
972
972
  break;
973
973
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
974
974
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
975
975
  const getShopSearchParams = this.jdOpenAppParams(configDataValue.clickUrl);
976
976
  getShopSearchParams &&
977
977
  this.jdJumpToShopSearch(
978
978
  Object.assign({}, getShopSearchParams, {
979
979
  logEventInfo,
980
980
  }),
981
981
  );
982
982
  } else {
983
983
  this.jdJumpToShopSearch(
984
984
  configDataValue['cid']
985
985
  ? Object.assign(
986
986
  {},
987
987
  {
988
988
  shopId: global.info.queryInfo.shopId,
989
989
  categoryId: configDataValue.cid,
990
990
  ...configDataValue,
991
991
  logEventInfo,
992
992
  },
993
993
  )
994
994
  : {
995
995
  shopId: global.info.queryInfo.shopId,
996
996
  logEventInfo,
997
997
  },
998
998
  );
999
999
  }
1000
1000
  break;
1001
1001
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
1002
1002
  this.jdJumpToShopCategory({
1003
1003
  ...configDataValue,
1004
1004
  logEventInfo,
1005
1005
  });
1006
1006
  break;
1007
1007
  case LinkConfigType.CONFIG_TYPE_MEMBER:
1008
1008
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
1009
1009
  const getShopMemberParams = this.jdOpenAppParams(configDataValue.clickUrl);
1010
1010
  getShopMemberParams &&
1011
1011
  this.jdJumpToShopMember(
1012
1012
  Object.assign({}, getShopMemberParams, {
1013
1013
  logEventInfo,
1014
1014
  }),
1015
1015
  );
1016
1016
  } else {
1017
1017
  this.jdJumpToShopMember({
1018
1018
  shopId: global.info.queryInfo.shopId,
1019
1019
  venderId: configDataValue.shopDetail,
1020
1020
  logEventInfo,
1021
1021
  });
1022
1022
  }
1023
1023
  break;
1024
1024
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
1025
1025
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
1026
1026
  const getShopActivityParams = this.jdOpenAppParams(configDataValue.clickUrl);
1027
1027
  if (getShopActivityParams && getShopActivityParams['des'] == 'jshopActivity') {
1028
1028
  this.jdJumpToShopActivity({
1029
1029
  projectId: configDataValue['projectId'],
1030
1030
  configDataValue,
1031
1031
  logEventInfo,
1032
1032
  });
1033
1033
  }
1034
1034
  } else if (configDataValue['projectId']) {
1035
1035
  this.jdJumpToShopActivity({
1036
1036
  projectId: configDataValue['projectId'],
1037
1037
  configDataValue,
1038
1038
  logEventInfo,
1039
1039
  });
1040
1040
  }
1041
1041
  break;
1042
1042
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
1043
1043
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON:
1044
1044
  const _url = configDataValue.linkUrl;
1045
1045
  const isProductM = /item\.m\.jd\.com/.test(_url);
1046
1046
  const isProductPC = /item\.jd\.com/.test(_url);
1047
1047
  if (
1048
1048
  _url.indexOf('to=') === -1 &&
1049
1049
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
1050
1050
  ) {
1051
1051
  const _shopId = _url.match(/\d+/g)[0];
1052
1052
  this.jdJumpToShopHome({
1053
1053
  shopId: `${_shopId}`,
1054
1054
  logEventInfo,
1055
1055
  });
1056
1056
  } else if (this.isOpenJdAppUrl(_url)) {
1057
1057
  const getOpenAppParams: any = this.jdOpenAppParams(_url);
1058
1058
  if (getOpenAppParams) {
1059
1059
  if (getOpenAppParams.jumpTab == 'allProduct') {
1060
1060
  this.jdJumpToTabAllProduct(
1061
1061
  global.info.queryInfo.shopId || getOpenAppParams?.shopId,
1062
1062
  global.info.queryInfo.venderId || getOpenAppParams?.venderId,
1063
1063
  );
1064
1064
  } else if (
1065
1065
  getOpenAppParams.des == 'productList' &&
1066
1066
  getOpenAppParams.from == 'couponBatch'
1067
1067
  ) {
1068
1068
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId);
1069
1069
  } else if (getOpenAppParams.des == 'vapp') {
1070
1070
  this.jdJumpToWeb(
1071
1071
  `https://conecli.com/apps/mpshare/index.html?category=${
1072
1072
  getOpenAppParams.category
1073
1073
  }&des=${getOpenAppParams.des}&vapptype=${
1074
1074
  getOpenAppParams.vapptype
1075
1075
  }&appId=${getOpenAppParams.appId}&path=${
1076
1076
  getOpenAppParams.path
1077
1077
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
1078
1078
  logEventInfo,
1079
1079
  );
1080
1080
  } else {
1081
1081
  this.jdNavigateToNative(
1082
1082
  '',
1083
1083
  Object.assign({}, getOpenAppParams, {
1084
1084
  logEventInfo,
1085
1085
  }),
1086
1086
  );
1087
1087
  }
1088
1088
  }
1089
1089
  } else if (isProductM || isProductPC) {
1090
1090
  const skuid = _url.match(/\d+/g)[0];
1091
1091
  if (skuid) {
1092
1092
  this.jdJumpToProduct(skuid, logEventInfo);
1093
1093
  }
1094
1094
  } else {
1095
1095
  this.jdJumpToWeb(_url, logEventInfo);
1096
1096
  }
1097
1097
  break;
1098
1098
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
1099
1099
  this.jdJumpToShopDetail({
1100
1100
  venderId: global.info.queryInfo.venderId,
1101
1101
  shopId: global.info.queryInfo.shopId,
1102
1102
  logEventInfo,
1103
1103
  });
1104
1104
  break;
1105
1105
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
1106
1106
  this.jdJumpToShopHome({
1107
1107
  ...configDataValue,
1108
1108
  logEventInfo,
1109
1109
  });
1110
1110
  break;
1111
1111
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
1112
1112
  break;
1113
1113
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
1114
1114
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
1115
1115
  const getShoppingGuideParams = this.jdOpenAppParams(configDataValue.clickUrl);
1116
1116
  getShoppingGuideParams &&
1117
1117
  this.jdJumpToShopActivity(
1118
1118
  Object.assign({}, getShoppingGuideParams, {
1119
1119
  logEventInfo,
1120
1120
  }),
1121
1121
  );
1122
1122
  }
1123
1123
  break;
1124
1124
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
1125
1125
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '');
1126
1126
  const search = linkUrl.match(/\?.+/);
1127
1127
  if (search) {
1128
1128
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
1129
1129
  parseQueryUrlString(linkUrl);
1130
1130
  try {
1131
1131
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param);
1132
1132
  } catch (e) {
1133
1133
  console.warn('解析小程序 param 错误:', miniQueryData.param);
1134
1134
  }
1135
1135
  this.jdJumpToMiniProgram(miniQueryData);
1136
1136
  } else {
1137
1137
  console.warn('小程序地址错误:', linkUrl);
1138
1138
  }
1139
1139
  break;
1140
1140
  }
1141
1141
  case LinkConfigType.CONFIG_TYPE_SHOP_SEARCH: {
1142
1142
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
1143
1143
  const getShopSearchParams = this.jdOpenAppParams(configDataValue.clickUrl);
1144
1144
  console.log('web base 获取店铺结果落地页链接解析后的参数结果', getShopSearchParams);
1145
1145
  getShopSearchParams &&
1146
1146
  this.jdJumpToShopSearch(
1147
1147
  Object.assign({}, getShopSearchParams, {
1148
1148
  logEventInfo,
1149
1149
  }),
1150
1150
  );
1151
1151
  } else {
1152
1152
  this.jdJumpToWeb(configDataValue.clickUrl, logEventInfo);
1153
1153
  }
1154
1154
  break;
1155
1155
  }
1156
1156
  default:
1157
1157
  }
1158
1158
  }
1159
1159
 
1160
1160
  jdJumpToTabAllProduct(shopId, venderId, logEventInfo = {}) {
1161
1161
  console.log('web.base.ts - jdJumpToTabAllProduct');
1162
1162
  if (typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId;
1163
1163
  if (typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId;
1164
1164
  this.jdJumpToWeb(
1165
1165
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode({
1166
1166
  shopId,
1167
1167
  venderId,
1168
1168
  tabActive: 'home-product',
1169
1169
  })}`,
1170
1170
  logEventInfo,
1171
1171
  );
1172
1172
  }
1173
1173
 
1174
1174
  jdJumpToTabAllProductInner(shopId, venderId, logEventInfo = {}) {
1175
1175
  if (typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId;
1176
1176
  if (typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId;
1177
1177
  this.jdJumpToTabAllProduct(shopId, venderId, logEventInfo);
1178
1178
  }
1179
1179
 
1180
1180
  jdJumpToTopTabBase(type, shopInfo = {}) {
1181
1181
  const getInfo = Object.assign(
1182
1182
  {},
1183
1183
  {
1184
1184
  shopId: global.info.queryInfo.shopId,
1185
1185
  venderId: global.info.queryInfo.venderId,
1186
1186
  },
1187
1187
  shopInfo,
1188
1188
  );
1189
1189
  this.jdJumpToWeb(
1190
1190
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode(
1191
1191
  this.getShopIdOrVenderIdParams(getInfo),
1192
1192
  )}&tabActive=${type}`,
1193
1193
  getInfo,
1194
1194
  );
1195
1195
  }
1196
1196
 
1197
1197
  jdJumpToTabNew(shopInfo = {}) {
1198
1198
  console.log('上新tab');
1199
1199
  this.jdJumpToTopTabBase(
1200
1200
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_NEW_PRODUCT],
1201
1201
  shopInfo,
1202
1202
  );
1203
1203
  }
1204
1204
 
1205
1205
  jdJumpToTabNewInner(shopInfo = {}) {
1206
1206
  this.jdJumpToTabNew(shopInfo);
1207
1207
  }
1208
1208
 
1209
1209
  jdJumpToTabRank(shopInfo = {}) {
1210
1210
  console.log('榜单tab');
1211
1211
  this.jdJumpToTopTabBase(SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_RANK], shopInfo);
1212
1212
  }
1213
1213
  jdJumpToTabRankInner(shopInfo = {}) {
1214
1214
  this.jdJumpToTabRank(shopInfo);
1215
1215
  }
1216
1216
  jdJumpToTabBuyerShow(shopInfo = {}) {
1217
1217
  console.log('买家秀tab');
1218
1218
  this.jdJumpToTopTabBase(
1219
1219
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_BUYER_SHOW],
1220
1220
  shopInfo,
1221
1221
  );
1222
1222
  }
1223
1223
  jdJumpToTabBuyerShowInner(shopInfo = {}) {
1224
1224
  this.jdJumpToTabBuyerShow(shopInfo);
1225
1225
  }
1226
1226
  jdJumpToTabActivity(shopInfo = {}) {
1227
1227
  console.log('活动tab');
1228
1228
  this.jdJumpToTopTabBase(
1229
1229
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_ACTIVITY],
1230
1230
  shopInfo,
1231
1231
  );
1232
1232
  }
1233
1233
  jdJumpToTabActivityInner(shopInfo = {}) {
1234
1234
  this.jdJumpToTabActivity(shopInfo);
1235
1235
  }
1236
1236
  jdJumpToTabSecKill(shopInfo = {}) {
1237
1237
  console.log('秒杀tab');
1238
1238
  this.jdJumpToTopTabBase(
1239
1239
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_SECKILL],
1240
1240
  shopInfo,
1241
1241
  );
1242
1242
  }
1243
1243
  jdJumpToTabSecKillInner(shopInfo = {}) {
1244
1244
  this.jdJumpToTabSecKill(shopInfo);
1245
1245
  }
1246
1246
 
1247
1247
  jdJumpToBottomTabBase(type, shopInfo = {}) {
1248
1248
  this.jdJumpToTopTabBase(type, shopInfo);
1249
1249
  }
1250
1250
  jdJumpToBottomTabProduct(shopInfo = {}) {
1251
1251
  this.jdJumpToBottomTabBase(SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.PRODUCT], shopInfo);
1252
1252
  }
1253
1253
  jdJumpToBottomTabCategory(shopInfo = {}) {
1254
1254
  this.jdJumpToBottomTabBase(SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.CLASSIFY], shopInfo);
1255
1255
  }
1256
1256
  jdJumpToBottomTabFind(shopInfo = {}) {
1257
1257
  console.log('发现tab');
1258
1258
  }
1259
1259
  jdJumpToBottomTabBrandMember(shopInfo = {}) {
1260
1260
  const getInfo = Object.assign(
1261
1261
  {},
1262
1262
  {
1263
1263
  shopId: global.info.queryInfo.shopId,
1264
1264
  venderId: global.info.queryInfo.venderId,
1265
1265
  },
1266
1266
  shopInfo,
1267
1267
  );
1268
1268
  this.jdJumpToWeb(
1269
1269
  `${this.jumpWebUrl.memberHome}?${objectToUrlEncode(this.getShopIdOrVenderIdParams(getInfo))}`,
1270
1270
  getInfo,
1271
1271
  );
1272
1272
  }
1273
1273
  jdJumpToBottomTabBrandMemberInner(shopInfo = {}) {
1274
1274
  this.jdJumpToBottomTabBrandMember(shopInfo);
1275
1275
  }
1276
1276
 
1277
1277
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
1278
1278
  this.jdJumpToWeb(
1279
1279
  `${this.jumpWebUrl.couponSearch}?couponbatch=${couponId}&sceneval=2`,
1280
1280
  logEventInfo,
1281
1281
  );
1282
1282
  }
1283
1283
 
1284
1284
  jdNavigateToNative(
1285
1285
  url: string,
1286
1286
  params: {
1287
1287
  logEventInfo?: object;
1288
1288
  } = {},
1289
1289
  successBack?: Function | undefined,
1290
1290
  failBack?: Function | undefined,
1291
1291
  ) {
1292
1292
  const { logEventInfo } = params;
1293
1293
  const getEparam = logEventInfo || params;
1294
1294
  console.log(`url:::::::${url}`);
1295
1295
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
1296
1296
  this.clickEventLog(getEparam)
1297
1297
  .then(() => {
1298
1298
  typeof successBack === 'function' ? successBack(url) : (window.location.href = url);
1299
1299
  })
1300
1300
  .catch(() => {
1301
1301
  typeof failBack === 'function' && failBack(url);
1302
1302
  });
1303
1303
  }
1304
1304
 
1305
1305
  jdNavigateToNativeOpenApp(
1306
1306
  params: {},
1307
1307
  url = 'openapp.jdmobile://virtual',
1308
1308
  successBack?: Function | null,
1309
1309
  failBack?: Function | null,
1310
1310
  ) {
1311
1311
  console.log('[降级H5] jdNavigateToNative web.jd:', params);
1312
1312
  const getResParams: JumpEventReportInterFace.JdMiniJumpParams = Object.assign(
1313
1313
  {},
1314
1314
  {
1315
1315
  sourceValue: 'sourceValue_jshopModuleWeb',
1316
1316
  sourceType: 'sourceType_jshopModuleWeb',
1317
1317
  param: {},
1318
1318
  },
1319
1319
  params,
1320
1320
  );
1321
1321
  const { logEventInfo, ...otherParams } = getResParams;
1322
1322
  console.log('jd web 获取open协议参数 jdNavigateToNative params: ', getResParams);
1323
1323
  console.log('logEventInfo params: ', logEventInfo);
1324
1324
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
1325
1325
  this.clickEventLog(logEventInfo || getResParams)
1326
1326
  .then(() => {
1327
1327
  if (typeof successBack === 'function') {
1328
1328
  successBack(getResParams);
1329
1329
  } else {
1330
1330
  try {
1331
1331
  const paramsStr = JSON.stringify(otherParams);
1332
1332
  console.log('跳转web jd open协议', `${url}?params=${paramsStr}`);
1333
1333
  window.location.href = `${url}?params=${paramsStr}`;
1334
1334
  } catch (e) {
1335
1335
  console.log('跳转异常', e);
1336
1336
  }
1337
1337
  }
1338
1338
  })
1339
1339
  .catch(() => {
1340
1340
  typeof failBack === 'function' && failBack(getResParams);
1341
1341
  });
1342
1342
  }
1343
1343
 
1344
1344
  clickEventLog(opts: JumpEventReportInterFace.OptEventLogParams = {}, reportKey = 'click') {
1345
1345
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts;
1346
1346
  /TerminatorNew_/.test(`${eventId}`) && console.log(`当前h5的楼层模块eventId为====${eventId}`);
1347
1347
  if (eventId && jsonParam) {
1348
1348
  const { etModelInfo, logBaseInfo } = jsonParam;
1349
1349
  let getJsonParam = {};
1350
1350
  if (etModelInfo && logBaseInfo) {
1351
1351
  getJsonParam = logBaseInfo;
1352
1352
  } else {
1353
1353
  if (Array.isArray(jsonParam)) {
1354
1354
  getJsonParam = jsonParam;
1355
1355
  } else {
1356
1356
  getJsonParam = Object.assign(
1357
1357
  {},
1358
1358
  {
1359
1359
  shopid: global.info.queryInfo?.shopId,
1360
1360
  },
1361
1361
  jsonParam,
1362
1362
  );
1363
1363
  }
1364
1364
  }
1365
1365
  if (
1366
1366
  reportKey === 'exposure' &&
1367
1367
  /^TerminatorNew/.test(eventId) &&
1368
1368
  !Array.isArray(getJsonParam)
1369
1369
  ) {
1370
1370
  getJsonParam = [getJsonParam];
1371
1371
  }
1372
1372
  const webLogParams = {
1373
1373
  isExpo: reportKey === 'exposure',
1374
1374
  eid: eventId,
1375
1375
  elevel: eventLevel,
1376
1376
  jsonParam: JSON.stringify(getJsonParam),
1377
1377
  etModel: JSON.stringify(etModelInfo || {}),
1378
1378
  pageId: this.logPageId,
1379
1379
  pageParam: this.logPageParamStr,
1380
1380
  ...otherParams,
1381
1381
  };
1382
1382
  return /click|exposure/.test(reportKey)
1383
1383
  ? reportClick(webLogParams)
1384
1384
  : reportToCart(opts, webLogParams);
1385
1385
  } else {
1386
1386
  console.log('暂无埋点参数eventId和jsonParam');
1387
1387
  return Promise.resolve(false);
1388
1388
  }
1389
1389
  }
1390
1390
 
1391
1391
  exposureEventLog(opts) {
1392
1392
  return global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE
1393
1393
  ? this.clickEventLog(
1394
1394
  {
1395
1395
  ...opts,
1396
1396
  exposureState: true,
1397
1397
  },
1398
1398
  'exposure',
1399
1399
  )
1400
1400
  : Promise.resolve(false);
1401
1401
  }