@conecli/cone-render 0.10.1-isv2.2 → 0.10.1-isv3.1

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