@conecli/cone-render 0.10.1-shop3.1 → 0.10.1-shop3.100

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