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

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