@conecli/cone-render 0.10.1-shop3.8 → 0.10.1-shop3.80

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