@conecli/cone-render 0.10.1-shop-beta.43 → 0.10.1-shop-beta.44

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.
@@ -1 +1 @@
1
- import Taro from '@tarojs/taro';
2
1
  JUMP_MEMBER_CHANNEL,
3
2
  SECTION_HOME_TAB_NAME_TYPE,
4
3
  SECTION_HOME_TAB_TYPE,
5
4
  SHOP_MENU_ID_NAME,
6
5
  SHOP_MENU_ID_TYPE,
7
6
  routerInfo: {
8
7
  params: {},
9
8
  },
10
9
  nativeEvent: null,
11
10
  logPageParamStr: '',
12
11
  public jingGouMiniState: boolean;
13
12
  public logPageId: string;
14
13
  public logPageParamStr: string;
15
14
  public nativeEvent: any;
16
15
  public routerInfo: JumpEventReportInterFace.RouterInfo;
17
16
  public logPname: LogPnameInfo;
18
17
  public jumpMiniPath: JumpEventReportInterFace.JumpMiniPath;
19
18
  public jumpWebUrl: JumpEventReportInterFace.jumpWebUrl;
20
19
  public sectionExposureInfo: object;
21
20
  public logPageIdInfo: any;
22
21
  public logPnameInfo: any;
23
22
  constructor(opt = {}) {
24
23
  this.logPageId = LogPageIdInfo.APP;
25
24
  this.logPageIdInfo = LogPageIdInfo;
26
25
  this.logPnameInfo = LogPnameInfo;
27
26
  this.jingGouMiniState = false;
28
27
  this.jumpMiniPath = JumpMiniPath;
29
28
  this.jumpWebUrl = JumpWebUrl;
30
29
  this.sectionExposureInfo = {};
31
30
  this.getConfig(opt);
32
31
  }
33
32
  getConfig(opt) {
34
33
  return Object.assign(this, {}, defaultConfig, opt);
35
34
  }
36
35
 
37
36
  updateInfo(routerInfo, logPname = LogPnameInfo.HOME, pageId = LogPageIdInfo.APP) {
38
37
  this.routerInfo = routerInfo;
39
38
  this.logPname = logPname;
40
39
  this.logPageId = pageId;
41
40
  }
42
41
  reportInfoPv(_pageId, _opt = {}) {}
43
42
 
44
43
  getShopIdOrVenderIdParams(
45
44
  params: JumpEventReportInterFace.ShopIdsInfo = {},
46
45
  ): JumpEventReportInterFace.ShopIdsInfo {
47
46
  const setParams = {};
48
47
  params.shopId && (setParams['shopId'] = `${params.shopId}`);
49
48
  params.venderId && (setParams['venderId'] = `${params.venderId}`);
50
49
  return setParams;
51
50
  }
52
51
 
53
52
  getShopIdsInfo(params = {}): JumpEventReportInterFace.ShopIdsInfo {
54
53
  let setParams = this.getShopIdOrVenderIdParams(params);
55
54
  setParams = {
56
55
  ...params,
57
56
  ...setParams,
58
57
  };
59
58
  return setParams;
60
59
  }
61
60
 
62
61
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
63
62
  console.log('[降级H5] jdJumpToShopHome base');
64
63
  const currentShopInfo = {
65
64
  shopId: global.info.queryInfo.shopId,
66
65
  venderId: global.info.queryInfo.venderId,
67
66
  };
68
67
  const restParams =
69
68
  (shopInfo?.shopId && shopInfo.shopId !== currentShopInfo.shopId) ||
70
69
  (shopInfo?.venderId && shopInfo.venderId !== currentShopInfo.venderId)
71
70
  ? {}
72
71
  : currentShopInfo;
73
72
  const getInfo = Object.assign({}, restParams, shopInfo);
74
73
  this.jdJumpToShopBase(getInfo);
75
74
  }
76
75
 
77
76
  jdJumpToShopHomeInner(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
78
77
  this.jdJumpToShopHome(shopInfo);
79
78
  }
80
79
 
81
80
  jdJumpToShopBase(shopInfo) {
82
81
  console.log('[降级H5] jdJumpToShopBase');
83
82
  this.jdNavigateToNative(
84
83
  `${this.jumpMiniPath.shop}?${objectToUrlEncode(this.getShopIdOrVenderIdParams(shopInfo))}`,
85
84
  {
86
85
  ...shopInfo,
87
86
  },
88
87
  );
89
88
  }
90
89
 
91
90
  jdJumpToShopLight(shopInfo) {
92
91
  this.jdNavigateToNative(
93
92
  `${this.jumpMiniPath.shopLight}?${objectToUrlEncode(
94
93
  this.getShopIdOrVenderIdParams(shopInfo),
95
94
  )}`,
96
95
  {
97
96
  ...shopInfo,
98
97
  },
99
98
  );
100
99
  }
101
100
 
102
101
  jdJumpToProduct(skuIds, logEventInfo) {
103
102
  skuIds = skuIds.toString().trim();
104
103
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds;
105
104
  this.jdNavigateToNative(`${this.jumpMiniPath.detail}?sku=${getSkuId}`, logEventInfo);
106
105
  }
107
106
 
108
107
  jdJumpSkuInfoToProduct(skuInfo: any = {}, logEventInfo) {
109
108
  const getSkuId = skuInfo?.skuId;
110
109
  getSkuId &&
111
110
  this.jdNavigateToNative(`${this.jumpMiniPath.detail}?sku=${getSkuId}`, logEventInfo);
112
111
  }
113
112
 
114
113
  jdJumpToCartPage(logEventInfo) {
115
114
  console.log('跳转到购物车页面', logEventInfo);
116
115
  }
117
116
 
118
117
  jdJumpToFlashSaleTab(_logEventInfo) {
119
118
  console.log('跳转闪购', _logEventInfo);
120
119
  }
121
120
 
122
121
 
123
122
  jdJumpToShopMemberInfo(logEventInfo) {
124
123
  console.log('跳转修改会员信息页', logEventInfo);
125
124
  }
126
125
 
127
126
  jdJumpToShopMemberPointDetail(logEventInfo) {
128
127
  const venderId = global.info.queryInfo.venderId;
129
128
  const shopId = global.info.queryInfo.shopId;
130
129
  this.jdJumpToWeb(
131
130
  `${this.jumpWebUrl.memberScores}?venderId=${venderId}&shopId=${shopId}`,
132
131
  logEventInfo,
133
132
  );
134
133
  }
135
134
 
136
135
  jdJumpToShopMemberBenefit(logEventInfo) {
137
136
  const venderId = global.info.queryInfo.venderId;
138
137
  const shopId = global.info.queryInfo.shopId;
139
138
  this.jdJumpToWeb(
140
139
  `${this.jumpWebUrl.memberBenefit}?venderId=${venderId}&shopId=${shopId}`,
141
140
  logEventInfo,
142
141
  );
143
142
  }
144
143
 
145
144
  jdJumpToShopMemberRule(logEventInfo) {
146
145
  const venderId = global.info.queryInfo.venderId;
147
146
  const shopId = global.info.queryInfo.shopId;
148
147
  console.log('会员规则页h5 global.info', global.info);
149
148
  this.jdJumpToWeb(
150
149
  `${this.jumpWebUrl.shopMemberRule}?venderId=${venderId}&shopId=${shopId}&sign=member`,
151
150
  logEventInfo,
152
151
  );
153
152
  }
154
153
 
155
154
  jdJumpToShopMemberCloseAccount(venderType, logEventInfo) {
156
155
  const venderId = global.info.queryInfo.venderId;
157
156
  const shopId = global.info.queryInfo.shopId;
158
157
  console.log('注销会员页h5 global.info', global.info);
159
158
  this.jdJumpToWeb(
160
159
  `${this.jumpWebUrl.shopMemberCloseAccount}?venderId=${venderId}&shopId=${shopId}&venderType=${venderType}`,
161
160
  logEventInfo,
162
161
  );
163
162
  }
164
163
 
165
164
  jdJumpToShopMemberPointExchange(venderType, levelZeroMenuUrl, logEventInfo) {
166
165
  const venderId = global.info.queryInfo.venderId;
167
166
  const shopId = global.info.queryInfo.shopId;
168
167
  const channel = JUMP_MEMBER_CHANNEL.H5;
169
168
  this.jdJumpToWeb(
170
169
  `${this.jumpWebUrl.shopMemberPointExchange}?venderId=${venderId}&shopId=${shopId}&venderType=${venderType}&channel=${channel}&levelZeroMenuUrl=${levelZeroMenuUrl}`,
171
170
  logEventInfo,
172
171
  );
173
172
  }
174
173
 
175
174
  jdJumpToShopMemberBonusPurchase(customerLevel, logEventInfo) {
176
175
  const venderId = global.info.queryInfo.venderId;
177
176
  const shopId = global.info.queryInfo.shopId;
178
177
  this.jdJumpToWeb(
179
178
  `${this.jumpWebUrl.shopMemberBonusPurchase}?venderId=${venderId}&shopId=${shopId}&customerLevel=${customerLevel}`,
180
179
  logEventInfo,
181
180
  );
182
181
  }
183
182
 
184
183
  jdJumpToShopMemberGood(customerLevel, logEventInfo) {
185
184
  const venderId = global.info.queryInfo.venderId;
186
185
  const shopId = global.info.queryInfo.shopId;
187
186
  this.jdJumpToWeb(
188
187
  `${this.jumpWebUrl.shopMemberGood}?venderId=${venderId}&shopId=${shopId}&customerLevel=${customerLevel}`,
189
188
  logEventInfo,
190
189
  );
191
190
  }
192
191
 
193
192
  jdJumpToBeanDetail(logEventInfo) {
194
193
  console.log('this.jumpWebUrl.beanDetail', this.jumpWebUrl.beanDetail);
195
194
  this.jdJumpToWeb(`${this.jumpWebUrl.beanDetail}?source=dianpuhuiyuan`, logEventInfo);
196
195
  }
197
196
 
198
197
  jdJumpToMyRedEnvelope(logEventInfo) {
199
198
  this.jdJumpToWeb(this.jumpWebUrl.myRedPacketList, logEventInfo);
200
199
  }
201
200
 
202
201
  jdJumpToMyCoupon(logEventInfo) {
203
202
  this.jdJumpToWeb(this.jumpWebUrl.myCouponList, logEventInfo);
204
203
  }
205
204
 
206
205
  jdJumpToNewH5MemberCard(logEventInfo?) {
207
206
  const venderId = global.info.queryInfo.venderId;
208
207
  const shopId = global.info.queryInfo.shopId;
209
208
  this.jdJumpToWeb(
210
209
  `${this.jumpWebUrl.shopH5MemberCardM}?venderId=${venderId}&shopId=${shopId}`,
211
210
  logEventInfo,
212
211
  );
213
212
  }
214
213
 
215
214
 
216
215
  jdJumpToTabAllProduct(shopId, venderId, logEventInfo = {}) {
217
216
  console.log('base.ts - jdJumpToTabAllProduct');
218
217
  if (typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId;
219
218
  if (typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId;
220
219
  this.jdJumpToWeb(
221
220
  `${this.jumpWebUrl.pages}?shopId=${shopId}&venderId=${venderId}&tabActive=home-product`,
222
221
  logEventInfo,
223
222
  );
224
223
  }
225
224
 
226
225
  jdJumpToTabAllProductInner(shopId, venderId, logEventInfo = {}) {
227
226
  if (typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId;
228
227
  if (typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId;
229
228
  this.jdJumpToTabAllProduct(shopId, venderId, logEventInfo);
230
229
  }
231
230
 
232
231
  jdJumpToTopTabBase(type, shopInfo = {}) {
233
232
  const getInfo = Object.assign(
234
233
  {},
235
234
  {
236
235
  shopId: global.info.queryInfo.shopId,
237
236
  venderId: global.info.queryInfo.venderId,
238
237
  },
239
238
  shopInfo,
240
239
  );
241
240
  this.jdJumpToWeb(
242
241
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode(
243
242
  this.getShopIdOrVenderIdParams(getInfo),
244
243
  )}&tabActive=${type}`,
245
244
  getInfo,
246
245
  );
247
246
  }
248
247
 
249
248
  jdJumpToTabNew(shopInfo = {}) {
250
249
  console.log('上新tab');
251
250
  this.jdJumpToTopTabBase(
252
251
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_NEW_PRODUCT],
253
252
  shopInfo,
254
253
  );
255
254
  }
256
255
 
257
256
  jdJumpToTabNewInner(shopInfo = {}) {
258
257
  this.jdJumpToTabNew(shopInfo);
259
258
  }
260
259
 
261
260
  jdJumpToTabRank(shopInfo = {}) {
262
261
  console.log('榜单tab');
263
262
  this.jdJumpToTopTabBase(SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_RANK], shopInfo);
264
263
  }
265
264
  jdJumpToTabRankInner(shopInfo = {}) {
266
265
  this.jdJumpToTabRank(shopInfo);
267
266
  }
268
267
  jdJumpToTabBuyerShow(shopInfo = {}) {
269
268
  console.log('买家秀tab');
270
269
  this.jdJumpToTopTabBase(
271
270
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_BUYER_SHOW],
272
271
  shopInfo,
273
272
  );
274
273
  }
275
274
  jdJumpToTabBuyerShowInner(shopInfo = {}) {
276
275
  this.jdJumpToTabBuyerShow(shopInfo);
277
276
  }
278
277
  jdJumpToTabActivity(shopInfo = {}) {
279
278
  console.log('活动tab');
280
279
  this.jdJumpToTopTabBase(
281
280
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_ACTIVITY],
282
281
  shopInfo,
283
282
  );
284
283
  }
285
284
  jdJumpToTabActivityInner(shopInfo = {}) {
286
285
  this.jdJumpToTabActivity(shopInfo);
287
286
  }
288
287
  jdJumpToTabSecKill(shopInfo = {}) {
289
288
  console.log('秒杀tab');
290
289
  this.jdJumpToTopTabBase(
291
290
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_SECKILL],
292
291
  shopInfo,
293
292
  );
294
293
  }
295
294
  jdJumpToTabSecKillInner(shopInfo = {}) {
296
295
  this.jdJumpToTabSecKill(shopInfo);
297
296
  }
298
297
 
299
298
  jdJumpToBottomTabBase(type, shopInfo = {}) {
300
299
  this.jdJumpToTopTabBase(type, shopInfo);
301
300
  }
302
301
  jdJumpToBottomTabProduct(shopInfo = {}) {
303
302
  this.jdJumpToBottomTabBase(SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.PRODUCT], shopInfo);
304
303
  }
305
304
  jdJumpToBottomTabCategory(shopInfo = {}) {
306
305
  this.jdJumpToBottomTabBase(SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.CLASSIFY], shopInfo);
307
306
  }
308
307
  jdJumpToBottomTabFind(shopInfo = {}) {
309
308
  console.log('发现tab');
310
309
  }
311
310
  jdJumpToBottomTabBrandMember(shopInfo = {}) {
312
311
  const getInfo = Object.assign(
313
312
  {},
314
313
  {
315
314
  shopId: global.info.queryInfo.shopId,
316
315
  venderId: global.info.queryInfo.venderId,
317
316
  },
318
317
  shopInfo,
319
318
  );
320
319
  this.jdJumpToWeb(
321
320
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(this.getShopIdOrVenderIdParams(getInfo))}`,
322
321
  getInfo,
323
322
  );
324
323
  }
325
324
  jdJumpToBottomTabBrandMemberInner(shopInfo = {}) {
326
325
  this.jdJumpToBottomTabBrandMember(shopInfo);
327
326
  }
328
327
 
329
328
  jdJumpToAppHome(logEventInfo) {
330
329
  this.jdJumpToWeb(`${this.jumpWebUrl.mobileHome}?originReferer=shopx`, logEventInfo);
331
330
  }
332
331
 
333
332
  jdJumpToShopSearch(queryParams) {
334
333
  const getInfo = Object.assign(
335
334
  {},
336
335
  {
337
336
  shopId: global.info.queryInfo.shopId,
338
337
  venderId: global.info.queryInfo.venderId,
339
338
  },
340
339
  queryParams,
341
340
  );
342
341
  const {
343
342
  shopId,
344
343
  categoryId,
345
344
  keyword,
346
345
  pageId,
347
346
  description,
348
347
  shopName,
349
348
  keyWord,
350
349
  seller_actId,
351
350
  seller_actType,
352
351
  ad_smart_coupons,
353
352
  } = getInfo;
354
353
  const cateId = categoryId
355
354
  ? `&cateId=${typeof categoryId === 'string' ? categoryId?.trim() : categoryId}`
356
355
  : '';
357
356
  const addKeyWord = keyword || keyWord ? `&keyword=${keyword || keyWord}` : '';
358
357
  const addPageId = pageId ? `&pageId=${pageId}` : '';
359
358
  const searchDes = description ? `&description=${description}` : '';
360
359
  const shopNameDes = shopName ? `&shopName=${shopName}` : '';
361
360
  const searchType = categoryId ? 5 : keyword || keyWord ? 4 : 3;
362
361
  const activityId = seller_actId ? `&activityId=${seller_actId}` : '';
363
362
  const activityType = seller_actType ? `&activityType=${seller_actType}` : '';
364
363
  const adInfos = ad_smart_coupons ? `&ad_smart_coupons=${ad_smart_coupons}` : '';
365
364
  this.jdJumpToWeb(
366
365
  `${this.jumpWebUrl.shopSearch}?shopId=${shopId}&searchType=${searchType}${cateId}${addKeyWord}${addPageId}${searchDes}${shopNameDes}${activityId}${activityType}${adInfos}`,
367
366
  getInfo,
368
367
  );
369
368
  }
370
369
 
371
370
  jdJumpToSearch(shopId, suggestWord) {
372
371
  console.log('搜索中间页');
373
372
  }
374
373
 
375
374
  jdJumpToOrderList(orderType, logEventInfo = {}) {
376
375
  this.jdJumpToWeb(
377
376
  `${this.jumpWebUrl.orderList}?orderType=${orderType}&source=shopx`,
378
377
  logEventInfo,
379
378
  );
380
379
  }
381
380
 
382
381
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
383
382
  this.jdJumpToWeb(
384
383
  `${this.jumpWebUrl.couponSearch}?couponbatch=${couponId}&sceneval=2`,
385
384
  logEventInfo,
386
385
  );
387
386
  }
388
387
 
389
388
  jdJumpToWeb(
390
389
  spUrl,
391
390
  logEventInfo,
392
391
  successBack?: functionType | undefined,
393
392
  failBack?: functionType | undefined,
394
393
  ) {
395
394
  this.jdNavigateToNative(
396
395
  `${this.jumpMiniPath.h5}?encode_url=` + encodeURIComponent(spUrl),
397
396
  {
398
397
  ...logEventInfo,
399
398
  },
400
399
  successBack,
401
400
  failBack,
402
401
  );
403
402
  }
404
403
 
405
404
  jdJumpToWebInner(url, logEventInfo) {
406
405
  this.jdJumpToWeb(url, logEventInfo);
407
406
  }
408
407
 
409
408
  weappRedirectToWeb(url: string, logEventInfo: JumpEventReportInterFace.OptEventLogParams = {}) {
410
409
  console.log('weappRedirectToWeb base:', url, logEventInfo);
411
410
  }
412
411
 
413
412
  jdJumpToLive(liveInfo, logEventInfo = {}) {
414
413
  if (liveInfo?.liveId) {
415
414
  this.jdJumpToWeb(`${this.jumpWebUrl.mLive}/${liveInfo?.liveId}?origin=30`, logEventInfo);
416
415
  }
417
416
  }
418
417
 
419
418
  jdJumpToUgcContent(urlObj, logEventInfo = {}) {
420
419
  if (typeof urlObj === 'object') {
421
420
  this.jdJumpToWeb(
422
421
  `${this.jumpWebUrl.shopUseShareOrderUgcContent}?${objectToUrlEncode(urlObj)}`,
423
422
  { logEventInfo },
424
423
  );
425
424
  } else {
426
425
  const getShopUgcParams = this.jdOpenAppParams(urlObj);
427
426
  console.log('getShopUgcParams=====', getShopUgcParams);
428
427
  if (getShopUgcParams) {
429
428
  getShopUgcParams['category'] && delete getShopUgcParams['category'];
430
429
  getShopUgcParams['des'] && delete getShopUgcParams['des'];
431
430
  this.jdJumpToWeb(
432
431
  `${this.jumpWebUrl.shopUseShareOrderUgcContent}?${objectToUrlEncode(
433
432
  getShopUgcParams as object,
434
433
  )}`,
435
434
  { logEventInfo },
436
435
  );
437
436
  }
438
437
  }
439
438
  }
440
439
 
441
440
  jdJumpToRankList(contentId: string | number, rankType = 10, logEventInfo) {
442
441
  const rankUrl = `${this.jumpWebUrl.rank}?contentId=${contentId}&sku=&rankType=${rankType}&fromName=dcpws&hideAd=1`;
443
442
  this.jdJumpToWeb(rankUrl, {
444
443
  contentId,
445
444
  ...logEventInfo,
446
445
  });
447
446
  }
448
447
 
449
448
  jdJumpToShopActivity(shopInfo) {
450
449
  const getParams = Object.assign(
451
450
  {},
452
451
  {
453
452
  category: 'jump',
454
453
  des: 'jshopActivity',
455
454
  shopId: global.info.queryInfo.shopId,
456
455
  venderId: global.info.queryInfo.venderId,
457
456
  },
458
457
  shopInfo,
459
458
  );
460
459
  getParams['projectId'] && (getParams['projectId'] = `${getParams['projectId']}`);
461
460
  }
462
461
 
463
462
  jdJumpToShopMember(shopInfo) {
464
463
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo);
465
464
  this.jdJumpToWeb(`${this.jumpWebUrl.shopMember}?${objectToUrlEncode(getShopInfo)}`, shopInfo);
466
465
  }
467
466
 
468
467
  jdJumpToMemberTab(shopInfo?) {
469
468
  console.log('店内跳转会员tab', shopInfo);
470
469
  }
471
470
 
472
471
  jdJumpToShopMemberCard(shopInfo) {
473
472
  const { logEventInfo } = shopInfo;
474
473
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo);
475
474
  this.jdJumpToWeb(
476
475
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(getShopInfo)}`,
477
476
  logEventInfo,
478
477
  );
479
478
  }
480
479
 
481
480
  jdJumpToTotalPromotion(shopInfo) {
482
481
  const { url, logEventInfo } = shopInfo;
483
482
  if (this.isOpenJdAppUrl(url)) {
484
483
  const getOpenAppParams: any = this.jdOpenAppParams(url);
485
484
  if (getOpenAppParams) {
486
485
  if (getOpenAppParams?.activityId) {
487
486
  this.jdJumpToWeb(
488
487
  `${this.jumpWebUrl.totalPromotion}?activity_id=${getOpenAppParams?.activityId}`,
489
488
  shopInfo,
490
489
  );
491
490
  }
492
491
  }
493
492
  } else {
494
493
  this.jdJumpToWeb(url, logEventInfo);
495
494
  }
496
495
  }
497
496
 
498
497
  jdJumpToDongDongChatGroup(groupId, source = 'jdmini') {
499
498
  console.warn(
500
499
  'JdJumpToDongDongChatGroup method is invoked, but should be implemented in subclasses',
501
500
  );
502
501
  }
503
502
 
504
503
  jdJumpToDongDongChat(paramInfo) {
505
504
  const getInfo = Object.assign(
506
505
  {},
507
506
  {
508
507
  venderId: global.info.queryInfo.venderId,
509
508
  },
510
509
  paramInfo,
511
510
  );
512
511
  const { venderId = '1', entry = 'm_shop', ...otherInfo } = getInfo;
513
512
  const dongdongUrl = `${this.jumpWebUrl.dongDongChat}?venderId=${venderId}&entry=${entry}&sceneval=2`;
514
513
  this.jdJumpToWeb(dongdongUrl, otherInfo);
515
514
  }
516
515
 
517
516
  jdJumpToShopDetail(shopInfo) {
518
517
  const getInfo = Object.assign(
519
518
  {},
520
519
  {
521
520
  shopId: global.info.queryInfo.shopId,
522
521
  venderId: global.info.queryInfo.venderId,
523
522
  },
524
523
  shopInfo,
525
524
  );
526
525
  const getShopInfo = this.getShopIdOrVenderIdParams(getInfo);
527
526
  this.jdJumpToWeb(`${this.jumpWebUrl.shopIntroduce}?${objectToUrlEncode(getShopInfo)}`, getInfo);
528
527
  }
529
528
 
530
529
  jdJumpToShopLottery(shopTotalInfo) {
531
530
  const getInfo = Object.assign(
532
531
  {},
533
532
  {
534
533
  shopId: global.info.queryInfo.shopId,
535
534
  venderId: global.info.queryInfo.venderId,
536
535
  },
537
536
  shopTotalInfo,
538
537
  );
539
538
  const getShopInfo = this.getShopIdOrVenderIdParams(getInfo);
540
539
  this.jdJumpToWeb(`${this.jumpWebUrl.shopLottery}?${objectToUrlEncode(getShopInfo)}`, getInfo);
541
540
  }
542
541
 
543
542
  jdJumpToSageAuthorHome(shopTotalInfo) {
544
543
  const { logEventInfo, ...otherParams } = shopTotalInfo;
545
544
  const getInfo = Object.assign(
546
545
  {},
547
546
  {
548
547
  channel: 'shopHomePage',
549
548
  selectTab: '0',
550
549
  },
551
550
  otherParams,
552
551
  );
553
552
  this.jdJumpToWeb(`${this.jumpWebUrl.sageAuthorHome}?${objectToUrlEncode(getInfo)}`, {
554
553
  ...getInfo,
555
554
  ...logEventInfo,
556
555
  });
557
556
  }
558
557
 
559
558
  jdJumpToOrderInfoView(skuInfos, logEventInfo) {
560
559
  console.log(
561
560
  '🚀 ~ 跳转结算页 JumpEventReportBase ~ jdJumpToOrderInfoView ~ skuInfos, logEventInfo:',
562
561
  skuInfos,
563
562
  logEventInfo,
564
563
  );
565
564
  }
566
565
 
567
566
  jdJumpToMiniProgram({ appId, path, param = {} }: JumpEventReportInterFace.LinkMiniParams) {
568
567
  const pageName = param['pageType'] || 'home';
569
568
  path = `pages/${pageName}/index`;
570
569
  if (appId === global.info.pageInfo?.appId) {
571
570
  Taro.navigateTo({
572
571
  url: `/${path}?${objectToUrlEncode(param)}`,
573
572
  }).catch((err) => {
574
573
  console.warn('跳转小程序页面错误:', err);
575
574
  });
576
575
  } else {
577
576
  console.log('一个小程序跳转到另一个小程序暂无此业务');
578
577
  }
579
578
  }
580
579
 
581
580
  jdJumpToAppMiniProgram(
582
581
  path: string,
583
582
  param = {},
584
583
  successBack?: functionType,
585
584
  failBack?: functionType,
586
585
  ) {
587
586
  this.jdNavigateToNative(path, param, successBack, failBack);
588
587
  }
589
588
 
590
589
  jdJumpToMemberPaidCenter({ paidMemberShopType = 1 }, logEventInfo) {
591
590
  const venderId = global.info.queryInfo.venderId;
592
591
  const shopId = global.info.queryInfo.shopId;
593
592
  this.jdJumpToWeb(
594
593
  `${this.jumpWebUrl.memberPaidCenter}?venderId=${venderId}&shopId=${shopId}&paidMemberShopType=${paidMemberShopType}`,
595
594
  logEventInfo,
596
595
  );
597
596
  }
598
597
 
599
598
  jdJumpToMemberPaidCard({ paidMemberShopType = 1 }, logEventInfo) {
600
599
  const venderId = global.info.queryInfo.venderId;
601
600
  const shopId = global.info.queryInfo.shopId;
602
601
  this.jdJumpToWeb(
603
602
  `${this.jumpWebUrl.memberPaidCard}?venderId=${venderId}&shopId=${shopId}&paidMemberShopType=${paidMemberShopType}`,
604
603
  logEventInfo,
605
604
  );
606
605
  }
607
606
 
608
607
  jdJumpTodMemberPaidBind({ paidMemberShopType = 1 }, logEventInfo) {
609
608
  const venderId = global.info.queryInfo.venderId;
610
609
  const shopId = global.info.queryInfo.shopId;
611
610
  this.jdJumpToWeb(
612
611
  `${this.jumpWebUrl.memberPaidBind}?venderId=${venderId}&shopId=${shopId}&paidMemberShopType=${paidMemberShopType}`,
613
612
  logEventInfo,
614
613
  );
615
614
  }
616
615
 
617
616
  jdJumpConfigUrl(detail, logEventInfo = {}) {
618
617
  const { configDataType, configDataValue } = detail;
619
618
  switch (configDataType) {
620
619
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
621
620
  if (logEventInfo?.jsonParam?.logBaseInfo?.mInfo) {
622
621
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid = configDataValue.skuIds;
623
622
  }
624
623
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo);
625
624
  break;
626
625
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
627
626
  this.jdJumpToWeb(
628
627
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
629
628
  logEventInfo,
630
629
  );
631
630
  break;
632
631
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
633
632
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
634
633
  const getShopSearchParams = this.jdOpenAppParams(configDataValue.clickUrl);
635
634
  getShopSearchParams &&
636
635
  this.jdJumpToShopSearch(
637
636
  Object.assign({}, getShopSearchParams, {
638
637
  logEventInfo,
639
638
  }),
640
639
  );
641
640
  } else {
642
641
  this.jdJumpToShopSearch(
643
642
  configDataValue['cid']
644
643
  ? Object.assign(
645
644
  {},
646
645
  {
647
646
  shopId: global.info.queryInfo.shopId,
648
647
  categoryId: configDataValue.cid,
649
648
  logEventInfo,
650
649
  },
651
650
  )
652
651
  : {
653
652
  shopId: global.info.queryInfo.shopId,
654
653
  logEventInfo,
655
654
  },
656
655
  );
657
656
  }
658
657
  break;
659
658
  case LinkConfigType.CONFIG_TYPE_MEMBER:
660
659
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
661
660
  const getShopMemberParams = this.jdOpenAppParams(configDataValue.clickUrl);
662
661
  getShopMemberParams &&
663
662
  this.jdJumpToShopMember(
664
663
  Object.assign({}, getShopMemberParams, {
665
664
  logEventInfo,
666
665
  }),
667
666
  );
668
667
  } else {
669
668
  this.jdJumpToShopMember({
670
669
  shopId: global.info.queryInfo.shopId,
671
670
  venderId: configDataValue.shopDetail,
672
671
  logEventInfo,
673
672
  });
674
673
  }
675
674
  break;
676
675
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
677
676
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
678
677
  const getShopActivityParams = this.jdOpenAppParams(configDataValue.clickUrl);
679
678
  getShopActivityParams &&
680
679
  this.jdJumpToShopActivity(
681
680
  Object.assign({}, getShopActivityParams, {
682
681
  logEventInfo,
683
682
  }),
684
683
  );
685
684
  } else if (configDataValue['projectId']) {
686
685
  this.jdJumpToShopActivity({
687
686
  projectId: configDataValue['projectId'],
688
687
  configDataValue,
689
688
  logEventInfo,
690
689
  });
691
690
  }
692
691
  break;
693
692
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
694
693
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON: {
695
694
  const _url = configDataValue.linkUrl;
696
695
  if (
697
696
  _url.indexOf('to=') === -1 &&
698
697
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
699
698
  ) {
700
699
  const _shopId = _url.match(/\d+/g)[0];
701
700
  this.jdJumpToShopHome({
702
701
  shopId: `${_shopId}`,
703
702
  logEventInfo,
704
703
  });
705
704
  } else if (this.isOpenJdAppUrl(_url)) {
706
705
  const getOpenAppParams = this.jdOpenAppParams(_url);
707
706
  console.log('获取解析后的参数结果', getOpenAppParams);
708
707
  if (getOpenAppParams) {
709
708
  isJdApp
710
709
  ? this.jdNavigateToNative(
711
710
  Object.assign({}, getOpenAppParams, {
712
711
  logEventInfo,
713
712
  }),
714
713
  )
715
714
  : this.jdNavigateToNative(
716
715
  '',
717
716
  Object.assign({}, getOpenAppParams, {
718
717
  logEventInfo,
719
718
  }),
720
719
  );
721
720
  } else {
722
721
  this.jdNavigateToNative(
723
722
  '',
724
723
  Object.assign({}, getOpenAppParams, {
725
724
  logEventInfo,
726
725
  }),
727
726
  );
728
727
  }
729
728
  } else {
730
729
  this.jdJumpToWeb(_url, logEventInfo);
731
730
  }
732
731
  break;
733
732
  }
734
733
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
735
734
  this.jdJumpToShopDetail({
736
735
  venderId: global.info.queryInfo.venderId,
737
736
  shopId: global.info.queryInfo.shopId,
738
737
  logEventInfo,
739
738
  });
740
739
  break;
741
740
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
742
741
  this.jdJumpToShopHome({
743
742
  ...configDataValue,
744
743
  logEventInfo,
745
744
  });
746
745
  break;
747
746
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
748
747
  break;
749
748
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
750
749
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
751
750
  const getShoppingGuideParams = this.jdOpenAppParams(configDataValue.clickUrl);
752
751
  getShoppingGuideParams &&
753
752
  this.jdJumpToShopActivity(
754
753
  Object.assign({}, getShoppingGuideParams, {
755
754
  logEventInfo,
756
755
  }),
757
756
  );
758
757
  }
759
758
  break;
760
759
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
761
760
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '');
762
761
  const search = linkUrl.match(/\?.+/);
763
762
  if (search) {
764
763
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
765
764
  parseQueryUrlString(linkUrl);
766
765
  try {
767
766
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param);
768
767
  } catch (e) {
769
768
  console.warn('解析小程序 param 错误:', miniQueryData.param);
770
769
  }
771
770
  this.jdJumpToMiniProgram(miniQueryData);
772
771
  } else {
773
772
  console.warn('小程序地址错误:', linkUrl);
774
773
  }
775
774
  break;
776
775
  }
777
776
  case LinkConfigType.CONFIG_TYPE_SHOP_SEARCH: {
778
777
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
779
778
  const getShopSearchParams = this.jdOpenAppParams(configDataValue.clickUrl);
780
779
  console.log('base 获取店铺结果落地页链接解析后的参数结果', getShopSearchParams);
781
780
  getShopSearchParams &&
782
781
  this.jdJumpToShopSearch(
783
782
  Object.assign({}, getShopSearchParams, {
784
783
  logEventInfo,
785
784
  }),
786
785
  );
787
786
  } else {
788
787
  this.jdJumpToWeb(configDataValue.clickUrl, logEventInfo);
789
788
  }
790
789
  break;
791
790
  }
792
791
  default:
793
792
  }
794
793
  }
795
794
 
796
795
  jdOpenAppParams(openAppUrl): object | boolean {
797
796
  let getParams: boolean | object = false;
798
797
  if (this.isOpenJdAppUrl(openAppUrl)) {
799
798
  try {
800
799
  getParams = openAppUrl.replace(/openApp\.jdMobile:\/\/virtual\?params=/i, '');
801
800
  getParams = JSON.parse(String(getParams));
802
801
  } catch (e) {
803
802
  console.log(e);
804
803
  }
805
804
  }
806
805
  return getParams;
807
806
  }
808
807
  isOpenJdAppUrl(openAppUrl) {
809
808
  return /openApp\.jdMobile:\/\/virtual\?params=/i.test(openAppUrl);
810
809
  }
811
810
 
812
811
  creatParamToLogStr(eventParam) {
813
812
  return eventParam
814
813
  ? Object.keys(eventParam)
815
814
  .map((key) => {
816
815
  return `${key}_${eventParam[key]}`;
817
816
  })
818
817
  .join('_')
819
818
  : '';
820
819
  }
821
820
 
822
821
  jdNavigateToNative(
823
822
  url: string,
824
823
  params: {
825
824
  logEventInfo?: object;
826
825
  } = {},
827
826
  successBack?: functionType | undefined,
828
827
  failBack?: functionType | undefined,
829
828
  ) {
830
829
  const { logEventInfo } = params;
831
830
  const getEparam = logEventInfo || params;
832
831
  console.log('jdNavigateToNative params: ', params);
833
832
  console.log('logEventInfo params: ', logEventInfo);
834
833
  try {
835
834
  this.clickEventLog(getEparam);
836
835
  } catch (e) {
837
836
  console.log(e);
838
837
  }
839
838
  setTimeout(() => {
840
839
  Taro.navigateTo({
841
840
  url,
842
841
  })
843
842
  .then((res) => {
844
843
  typeof successBack === 'function' && successBack(res);
845
844
  console.log('navigateToWxapp.success', res);
846
845
  })
847
846
  .catch((err) => {
848
847
  typeof failBack === 'function' && failBack(err);
849
848
  console.log('navigateToWxapp.fail', err);
850
849
  });
851
850
  }, 200);
852
851
  }
853
852
 
854
853
  clickEventLog(opts: JumpEventReportInterFace.OptEventLogParams = {}, clickKey = 'click') {
855
854
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts;
856
855
  if (eventId && jsonParam) {
857
856
  const { etModelInfo, logBaseInfo } = jsonParam;
858
857
  let getJsonParam = logBaseInfo || jsonParam;
859
858
  if (etModelInfo && logBaseInfo) {
860
859
  getJsonParam = logBaseInfo;
861
860
  } else {
862
861
  if (Array.isArray(jsonParam)) {
863
862
  getJsonParam = jsonParam;
864
863
  } else {
865
864
  getJsonParam = Object.assign(
866
865
  {},
867
866
  {
868
867
  shopid: global.info.queryInfo?.shopId,
869
868
  },
870
869
  jsonParam,
871
870
  );
872
871
  }
873
872
  }
874
873
  const miniClickKey = clickKey === 'addToCart' ? 'addToCart' : 'click';
875
874
  const miniLogParams = {
876
875
  eid: eventId,
877
876
  elevel: eventLevel,
878
877
  ext: JSON.stringify(getJsonParam),
879
878
  etModel: JSON.stringify(etModelInfo || {}),
880
879
  pname: this.logPname,
881
880
  pparam: JSON.stringify(this.routerInfo.params),
882
881
  target: this.routerInfo.path,
883
882
  event: this.nativeEvent,
884
883
  pageId: this.logPageId,
885
884
  ...otherParams,
886
885
  };
887
886
  console.log('点击埋点参数对象', miniLogParams, miniClickKey);
888
887
  global.miniAppLogInstance && global.miniAppLogInstance[miniClickKey](miniLogParams);
889
888
  }
890
889
  }
891
890
 
892
891
  exposureEventLog(opts: JumpEventReportInterFace.OptEventLogParams = {}) {
893
892
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts;
894
893
  if (eventId && jsonParam) {
895
894
  const { etModelInfo, logBaseInfo } = jsonParam;
896
895
  let getJsonParam = {};
897
896
  if (etModelInfo && logBaseInfo) {
898
897
  getJsonParam = logBaseInfo;
899
898
  } else {
900
899
  if (Array.isArray(jsonParam)) {
901
900
  getJsonParam = jsonParam;
902
901
  } else {
903
902
  getJsonParam = Object.assign(
904
903
  {},
905
904
  {
906
905
  shopid: global.info.queryInfo?.shopId,
907
906
  },
908
907
  jsonParam,
909
908
  );
910
909
  }
911
910
  }
912
911
  const miniLogParams = {
913
912
  eid: eventId,
914
913
  elevel: eventLevel,
915
914
  ext: JSON.stringify(getJsonParam),
916
915
  etModel: JSON.stringify(etModelInfo || {}),
917
916
  pname: this.logPname,
918
917
  pparam: JSON.stringify(this.routerInfo.params),
919
918
  target: this.routerInfo.path,
920
919
  pageId: this.logPageId,
921
920
  ...otherParams,
922
921
  };
923
922
  global.miniAppLogInstance && global.miniAppLogInstance['exposure'](miniLogParams);
924
923
  }
925
924
  }
926
925
 
927
926
  initOpenTriggerExposure(type) {
928
927
  if (!this.sectionExposureInfo[type]) {
929
928
  Taro.nextTick(() => {
930
929
  setTimeout(() => {
931
930
  global.info.pageInfo.isExposureState = true;
932
931
  taroEventInitExposure();
933
932
  this.sectionExposureInfo[`${type}`] = true;
934
933
  }, 200);
935
934
  });
936
935
  }
937
936
  }
937
+ import Taro from '@tarojs/taro';
938
938
  JUMP_MEMBER_CHANNEL,
939
939
  SECTION_HOME_TAB_NAME_TYPE,
940
940
  SECTION_HOME_TAB_TYPE,
941
941
  SHOP_MENU_ID_NAME,
942
942
  SHOP_MENU_ID_TYPE,
943
943
  routerInfo: {
944
944
  params: {},
945
945
  },
946
946
  nativeEvent: null,
947
947
  logPageParamStr: '',
948
948
  public jingGouMiniState: boolean;
949
949
  public logPageId: string;
950
950
  public logPageParamStr: string;
951
951
  public nativeEvent: any;
952
952
  public routerInfo: JumpEventReportInterFace.RouterInfo;
953
953
  public logPname: LogPnameInfo;
954
954
  public jumpMiniPath: JumpEventReportInterFace.JumpMiniPath;
955
955
  public jumpWebUrl: JumpEventReportInterFace.jumpWebUrl;
956
956
  public sectionExposureInfo: object;
957
957
  public logPageIdInfo: any;
958
958
  public logPnameInfo: any;
959
959
  constructor(opt = {}) {
960
960
  this.logPageId = LogPageIdInfo.APP;
961
961
  this.logPageIdInfo = LogPageIdInfo;
962
962
  this.logPnameInfo = LogPnameInfo;
963
963
  this.jingGouMiniState = false;
964
964
  this.jumpMiniPath = JumpMiniPath;
965
965
  this.jumpWebUrl = JumpWebUrl;
966
966
  this.sectionExposureInfo = {};
967
967
  this.getConfig(opt);
968
968
  }
969
969
  getConfig(opt) {
970
970
  return Object.assign(this, {}, defaultConfig, opt);
971
971
  }
972
972
 
973
973
  updateInfo(routerInfo, logPname = LogPnameInfo.HOME, pageId = LogPageIdInfo.APP) {
974
974
  this.routerInfo = routerInfo;
975
975
  this.logPname = logPname;
976
976
  this.logPageId = pageId;
977
977
  }
978
978
  reportInfoPv(_pageId, _opt = {}) {}
979
979
 
980
980
  getShopIdOrVenderIdParams(
981
981
  params: JumpEventReportInterFace.ShopIdsInfo = {},
982
982
  ): JumpEventReportInterFace.ShopIdsInfo {
983
983
  const setParams = {};
984
984
  params.shopId && (setParams['shopId'] = `${params.shopId}`);
985
985
  params.venderId && (setParams['venderId'] = `${params.venderId}`);
986
986
  return setParams;
987
987
  }
988
988
 
989
989
  getShopIdsInfo(params = {}): JumpEventReportInterFace.ShopIdsInfo {
990
990
  let setParams = this.getShopIdOrVenderIdParams(params);
991
991
  setParams = {
992
992
  ...params,
993
993
  ...setParams,
994
994
  };
995
995
  return setParams;
996
996
  }
997
997
 
998
998
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
999
999
  console.log('[降级H5] jdJumpToShopHome base');
1000
1000
  const currentShopInfo = {
1001
1001
  shopId: global.info.queryInfo.shopId,
1002
1002
  venderId: global.info.queryInfo.venderId,
1003
1003
  };
1004
1004
  const restParams =
1005
1005
  (shopInfo?.shopId && shopInfo.shopId !== currentShopInfo.shopId) ||
1006
1006
  (shopInfo?.venderId && shopInfo.venderId !== currentShopInfo.venderId)
1007
1007
  ? {}
1008
1008
  : currentShopInfo;
1009
1009
  const getInfo = Object.assign({}, restParams, shopInfo);
1010
1010
  this.jdJumpToShopBase(getInfo);
1011
1011
  }
1012
1012
 
1013
1013
  jdJumpToShopHomeInner(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
1014
1014
  this.jdJumpToShopHome(shopInfo);
1015
1015
  }
1016
1016
 
1017
1017
  jdJumpToShopBase(shopInfo) {
1018
1018
  console.log('[降级H5] jdJumpToShopBase');
1019
1019
  this.jdNavigateToNative(
1020
1020
  `${this.jumpMiniPath.shop}?${objectToUrlEncode(this.getShopIdOrVenderIdParams(shopInfo))}`,
1021
1021
  {
1022
1022
  ...shopInfo,
1023
1023
  },
1024
1024
  );
1025
1025
  }
1026
1026
 
1027
1027
  jdJumpToShopLight(shopInfo) {
1028
1028
  this.jdNavigateToNative(
1029
1029
  `${this.jumpMiniPath.shopLight}?${objectToUrlEncode(
1030
1030
  this.getShopIdOrVenderIdParams(shopInfo),
1031
1031
  )}`,
1032
1032
  {
1033
1033
  ...shopInfo,
1034
1034
  },
1035
1035
  );
1036
1036
  }
1037
1037
 
1038
1038
  jdJumpToProduct(skuIds, logEventInfo) {
1039
1039
  skuIds = skuIds.toString().trim();
1040
1040
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds;
1041
1041
  this.jdNavigateToNative(`${this.jumpMiniPath.detail}?sku=${getSkuId}`, logEventInfo);
1042
1042
  }
1043
1043
 
1044
1044
  jdJumpSkuInfoToProduct(skuInfo: any = {}, logEventInfo) {
1045
1045
  const getSkuId = skuInfo?.skuId;
1046
1046
  getSkuId &&
1047
1047
  this.jdNavigateToNative(`${this.jumpMiniPath.detail}?sku=${getSkuId}`, logEventInfo);
1048
1048
  }
1049
1049
 
1050
1050
  jdJumpToCartPage(logEventInfo) {
1051
1051
  console.log('跳转到购物车页面', logEventInfo);
1052
1052
  }
1053
1053
 
1054
1054
  jdJumpToFlashSaleTab(_logEventInfo) {
1055
1055
  console.log('跳转闪购', _logEventInfo);
1056
1056
  }
1057
1057
 
1058
1058
 
1059
1059
  jdJumpToShopMemberInfo(logEventInfo) {
1060
1060
  console.log('跳转修改会员信息页', logEventInfo);
1061
1061
  }
1062
1062
 
1063
1063
  jdJumpToShopMemberPointDetail(logEventInfo) {
1064
1064
  const venderId = global.info.queryInfo.venderId;
1065
1065
  const shopId = global.info.queryInfo.shopId;
1066
1066
  this.jdJumpToWeb(
1067
1067
  `${this.jumpWebUrl.memberScores}?venderId=${venderId}&shopId=${shopId}`,
1068
1068
  logEventInfo,
1069
1069
  );
1070
1070
  }
1071
1071
 
1072
1072
  jdJumpToShopMemberBenefit(logEventInfo) {
1073
1073
  const venderId = global.info.queryInfo.venderId;
1074
1074
  const shopId = global.info.queryInfo.shopId;
1075
1075
  this.jdJumpToWeb(
1076
1076
  `${this.jumpWebUrl.memberBenefit}?venderId=${venderId}&shopId=${shopId}`,
1077
1077
  logEventInfo,
1078
1078
  );
1079
1079
  }
1080
1080
 
1081
1081
  jdJumpToShopMemberRule(logEventInfo) {
1082
1082
  const venderId = global.info.queryInfo.venderId;
1083
1083
  const shopId = global.info.queryInfo.shopId;
1084
1084
  console.log('会员规则页h5 global.info', global.info);
1085
1085
  this.jdJumpToWeb(
1086
1086
  `${this.jumpWebUrl.shopMemberRule}?venderId=${venderId}&shopId=${shopId}&sign=member`,
1087
1087
  logEventInfo,
1088
1088
  );
1089
1089
  }
1090
1090
 
1091
1091
  jdJumpToShopMemberCloseAccount(venderType, logEventInfo) {
1092
1092
  const venderId = global.info.queryInfo.venderId;
1093
1093
  const shopId = global.info.queryInfo.shopId;
1094
1094
  console.log('注销会员页h5 global.info', global.info);
1095
1095
  this.jdJumpToWeb(
1096
1096
  `${this.jumpWebUrl.shopMemberCloseAccount}?venderId=${venderId}&shopId=${shopId}&venderType=${venderType}`,
1097
1097
  logEventInfo,
1098
1098
  );
1099
1099
  }
1100
1100
 
1101
1101
  jdJumpToShopMemberPointExchange(venderType, levelZeroMenuUrl, logEventInfo) {
1102
1102
  const venderId = global.info.queryInfo.venderId;
1103
1103
  const shopId = global.info.queryInfo.shopId;
1104
1104
  const channel = JUMP_MEMBER_CHANNEL.H5;
1105
1105
  this.jdJumpToWeb(
1106
1106
  `${this.jumpWebUrl.shopMemberPointExchange}?venderId=${venderId}&shopId=${shopId}&venderType=${venderType}&channel=${channel}&levelZeroMenuUrl=${levelZeroMenuUrl}`,
1107
1107
  logEventInfo,
1108
1108
  );
1109
1109
  }
1110
1110
 
1111
1111
  jdJumpToShopMemberBonusPurchase(customerLevel, logEventInfo) {
1112
1112
  const venderId = global.info.queryInfo.venderId;
1113
1113
  const shopId = global.info.queryInfo.shopId;
1114
1114
  this.jdJumpToWeb(
1115
1115
  `${this.jumpWebUrl.shopMemberBonusPurchase}?venderId=${venderId}&shopId=${shopId}&customerLevel=${customerLevel}`,
1116
1116
  logEventInfo,
1117
1117
  );
1118
1118
  }
1119
1119
 
1120
1120
  jdJumpToShopMemberGood(customerLevel, logEventInfo) {
1121
1121
  const venderId = global.info.queryInfo.venderId;
1122
1122
  const shopId = global.info.queryInfo.shopId;
1123
1123
  this.jdJumpToWeb(
1124
1124
  `${this.jumpWebUrl.shopMemberGood}?venderId=${venderId}&shopId=${shopId}&customerLevel=${customerLevel}`,
1125
1125
  logEventInfo,
1126
1126
  );
1127
1127
  }
1128
1128
 
1129
1129
  jdJumpToBeanDetail(logEventInfo) {
1130
1130
  console.log('this.jumpWebUrl.beanDetail', this.jumpWebUrl.beanDetail);
1131
1131
  this.jdJumpToWeb(`${this.jumpWebUrl.beanDetail}?source=dianpuhuiyuan`, logEventInfo);
1132
1132
  }
1133
1133
 
1134
1134
  jdJumpToMyRedEnvelope(logEventInfo) {
1135
1135
  this.jdJumpToWeb(this.jumpWebUrl.myRedPacketList, logEventInfo);
1136
1136
  }
1137
1137
 
1138
1138
  jdJumpToMyCoupon(logEventInfo) {
1139
1139
  this.jdJumpToWeb(this.jumpWebUrl.myCouponList, logEventInfo);
1140
1140
  }
1141
1141
 
1142
1142
  jdJumpToNewH5MemberCard(logEventInfo?) {
1143
1143
  const venderId = global.info.queryInfo.venderId;
1144
1144
  const shopId = global.info.queryInfo.shopId;
1145
1145
  this.jdJumpToWeb(
1146
1146
  `${this.jumpWebUrl.shopH5MemberCardM}?venderId=${venderId}&shopId=${shopId}`,
1147
1147
  logEventInfo,
1148
1148
  );
1149
1149
  }
1150
1150
 
1151
1151
 
1152
1152
  jdJumpToTabAllProduct(shopId, venderId, logEventInfo = {}) {
1153
1153
  console.log('base.ts - jdJumpToTabAllProduct');
1154
1154
  if (typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId;
1155
1155
  if (typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId;
1156
1156
  this.jdJumpToWeb(
1157
1157
  `${this.jumpWebUrl.pages}?shopId=${shopId}&venderId=${venderId}&tabActive=home-product`,
1158
1158
  logEventInfo,
1159
1159
  );
1160
1160
  }
1161
1161
 
1162
1162
  jdJumpToTabAllProductInner(shopId, venderId, logEventInfo = {}) {
1163
1163
  if (typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId;
1164
1164
  if (typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId;
1165
1165
  this.jdJumpToTabAllProduct(shopId, venderId, logEventInfo);
1166
1166
  }
1167
1167
 
1168
1168
  jdJumpToTopTabBase(type, shopInfo = {}) {
1169
1169
  const getInfo = Object.assign(
1170
1170
  {},
1171
1171
  {
1172
1172
  shopId: global.info.queryInfo.shopId,
1173
1173
  venderId: global.info.queryInfo.venderId,
1174
1174
  },
1175
1175
  shopInfo,
1176
1176
  );
1177
1177
  this.jdJumpToWeb(
1178
1178
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode(
1179
1179
  this.getShopIdOrVenderIdParams(getInfo),
1180
1180
  )}&tabActive=${type}`,
1181
1181
  getInfo,
1182
1182
  );
1183
1183
  }
1184
1184
 
1185
1185
  jdJumpToTabNew(shopInfo = {}) {
1186
1186
  console.log('上新tab');
1187
1187
  this.jdJumpToTopTabBase(
1188
1188
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_NEW_PRODUCT],
1189
1189
  shopInfo,
1190
1190
  );
1191
1191
  }
1192
1192
 
1193
1193
  jdJumpToTabNewInner(shopInfo = {}) {
1194
1194
  this.jdJumpToTabNew(shopInfo);
1195
1195
  }
1196
1196
 
1197
1197
  jdJumpToTabRank(shopInfo = {}) {
1198
1198
  console.log('榜单tab');
1199
1199
  this.jdJumpToTopTabBase(SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_RANK], shopInfo);
1200
1200
  }
1201
1201
  jdJumpToTabRankInner(shopInfo = {}) {
1202
1202
  this.jdJumpToTabRank(shopInfo);
1203
1203
  }
1204
1204
  jdJumpToTabBuyerShow(shopInfo = {}) {
1205
1205
  console.log('买家秀tab');
1206
1206
  this.jdJumpToTopTabBase(
1207
1207
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_BUYER_SHOW],
1208
1208
  shopInfo,
1209
1209
  );
1210
1210
  }
1211
1211
  jdJumpToTabBuyerShowInner(shopInfo = {}) {
1212
1212
  this.jdJumpToTabBuyerShow(shopInfo);
1213
1213
  }
1214
1214
  jdJumpToTabActivity(shopInfo = {}) {
1215
1215
  console.log('活动tab');
1216
1216
  this.jdJumpToTopTabBase(
1217
1217
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_ACTIVITY],
1218
1218
  shopInfo,
1219
1219
  );
1220
1220
  }
1221
1221
  jdJumpToTabActivityInner(shopInfo = {}) {
1222
1222
  this.jdJumpToTabActivity(shopInfo);
1223
1223
  }
1224
1224
  jdJumpToTabSecKill(shopInfo = {}) {
1225
1225
  console.log('秒杀tab');
1226
1226
  this.jdJumpToTopTabBase(
1227
1227
  SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_SECKILL],
1228
1228
  shopInfo,
1229
1229
  );
1230
1230
  }
1231
1231
  jdJumpToTabSecKillInner(shopInfo = {}) {
1232
1232
  this.jdJumpToTabSecKill(shopInfo);
1233
1233
  }
1234
1234
 
1235
1235
  jdJumpToBottomTabBase(type, shopInfo = {}) {
1236
1236
  this.jdJumpToTopTabBase(type, shopInfo);
1237
1237
  }
1238
1238
  jdJumpToBottomTabProduct(shopInfo = {}) {
1239
1239
  this.jdJumpToBottomTabBase(SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.PRODUCT], shopInfo);
1240
1240
  }
1241
1241
  jdJumpToBottomTabCategory(shopInfo = {}) {
1242
1242
  this.jdJumpToBottomTabBase(SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.CLASSIFY], shopInfo);
1243
1243
  }
1244
1244
  jdJumpToBottomTabFind(shopInfo = {}) {
1245
1245
  console.log('发现tab');
1246
1246
  }
1247
1247
  jdJumpToBottomTabBrandMember(shopInfo = {}) {
1248
1248
  const getInfo = Object.assign(
1249
1249
  {},
1250
1250
  {
1251
1251
  shopId: global.info.queryInfo.shopId,
1252
1252
  venderId: global.info.queryInfo.venderId,
1253
1253
  },
1254
1254
  shopInfo,
1255
1255
  );
1256
1256
  this.jdJumpToWeb(
1257
1257
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(this.getShopIdOrVenderIdParams(getInfo))}`,
1258
1258
  getInfo,
1259
1259
  );
1260
1260
  }
1261
1261
  jdJumpToBottomTabBrandMemberInner(shopInfo = {}) {
1262
1262
  this.jdJumpToBottomTabBrandMember(shopInfo);
1263
1263
  }
1264
1264
 
1265
1265
  jdJumpToAppHome(logEventInfo) {
1266
1266
  this.jdJumpToWeb(`${this.jumpWebUrl.mobileHome}?originReferer=shopx`, logEventInfo);
1267
1267
  }
1268
1268
 
1269
1269
  jdJumpToShopSearch(queryParams) {
1270
1270
  const getInfo = Object.assign(
1271
1271
  {},
1272
1272
  {
1273
1273
  shopId: global.info.queryInfo.shopId,
1274
1274
  venderId: global.info.queryInfo.venderId,
1275
1275
  },
1276
1276
  queryParams,
1277
1277
  );
1278
1278
  const {
1279
1279
  shopId,
1280
1280
  categoryId,
1281
1281
  keyword,
1282
1282
  pageId,
1283
1283
  description,
1284
1284
  shopName,
1285
1285
  keyWord,
1286
1286
  seller_actId,
1287
1287
  seller_actType,
1288
1288
  ad_smart_coupons,
1289
1289
  } = getInfo;
1290
1290
  const cateId = categoryId
1291
1291
  ? `&cateId=${typeof categoryId === 'string' ? categoryId?.trim() : categoryId}`
1292
1292
  : '';
1293
1293
  const addKeyWord = keyword || keyWord ? `&keyword=${keyword || keyWord}` : '';
1294
1294
  const addPageId = pageId ? `&pageId=${pageId}` : '';
1295
1295
  const searchDes = description ? `&description=${description}` : '';
1296
1296
  const shopNameDes = shopName ? `&shopName=${shopName}` : '';
1297
1297
  const searchType = categoryId ? 5 : keyword || keyWord ? 4 : 3;
1298
1298
  const activityId = seller_actId ? `&activityId=${seller_actId}` : '';
1299
1299
  const activityType = seller_actType ? `&activityType=${seller_actType}` : '';
1300
1300
  const adInfos = ad_smart_coupons ? `&ad_smart_coupons=${ad_smart_coupons}` : '';
1301
1301
  this.jdJumpToWeb(
1302
1302
  `${this.jumpWebUrl.shopSearch}?shopId=${shopId}&searchType=${searchType}${cateId}${addKeyWord}${addPageId}${searchDes}${shopNameDes}${activityId}${activityType}${adInfos}`,
1303
1303
  getInfo,
1304
1304
  );
1305
1305
  }
1306
1306
 
1307
1307
  jdJumpToSearch(shopId, suggestWord) {
1308
1308
  console.log('搜索中间页');
1309
1309
  }
1310
1310
 
1311
1311
  jdJumpToOrderList(orderType, logEventInfo = {}) {
1312
1312
  this.jdJumpToWeb(
1313
1313
  `${this.jumpWebUrl.orderList}?orderType=${orderType}&source=shopx`,
1314
1314
  logEventInfo,
1315
1315
  );
1316
1316
  }
1317
1317
 
1318
1318
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
1319
1319
  this.jdJumpToWeb(
1320
1320
  `${this.jumpWebUrl.couponSearch}?couponbatch=${couponId}&sceneval=2`,
1321
1321
  logEventInfo,
1322
1322
  );
1323
1323
  }
1324
1324
 
1325
1325
  jdJumpToWeb(
1326
1326
  spUrl,
1327
1327
  logEventInfo,
1328
1328
  successBack?: functionType | undefined,
1329
1329
  failBack?: functionType | undefined,
1330
1330
  ) {
1331
1331
  this.jdNavigateToNative(
1332
1332
  `${this.jumpMiniPath.h5}?encode_url=` + encodeURIComponent(spUrl),
1333
1333
  {
1334
1334
  ...logEventInfo,
1335
1335
  },
1336
1336
  successBack,
1337
1337
  failBack,
1338
1338
  );
1339
1339
  }
1340
1340
 
1341
1341
  jdJumpToWebInner(url, logEventInfo) {
1342
1342
  this.jdJumpToWeb(url, logEventInfo);
1343
1343
  }
1344
1344
 
1345
1345
  weappRedirectToWeb(url: string, logEventInfo: JumpEventReportInterFace.OptEventLogParams = {}) {
1346
1346
  console.log('weappRedirectToWeb base:', url, logEventInfo);
1347
1347
  }
1348
1348
 
1349
1349
  jdJumpToLive(liveInfo, logEventInfo = {}) {
1350
1350
  if (liveInfo?.liveId) {
1351
1351
  this.jdJumpToWeb(`${this.jumpWebUrl.mLive}/${liveInfo?.liveId}?origin=30`, logEventInfo);
1352
1352
  }
1353
1353
  }
1354
1354
 
1355
1355
  jdJumpToUgcContent(urlObj, logEventInfo = {}) {
1356
1356
  if (typeof urlObj === 'object') {
1357
1357
  this.jdJumpToWeb(
1358
1358
  `${this.jumpWebUrl.shopUseShareOrderUgcContent}?${objectToUrlEncode(urlObj)}`,
1359
1359
  { logEventInfo },
1360
1360
  );
1361
1361
  } else {
1362
1362
  const getShopUgcParams = this.jdOpenAppParams(urlObj);
1363
1363
  console.log('getShopUgcParams=====', getShopUgcParams);
1364
1364
  if (getShopUgcParams) {
1365
1365
  getShopUgcParams['category'] && delete getShopUgcParams['category'];
1366
1366
  getShopUgcParams['des'] && delete getShopUgcParams['des'];
1367
1367
  this.jdJumpToWeb(
1368
1368
  `${this.jumpWebUrl.shopUseShareOrderUgcContent}?${objectToUrlEncode(
1369
1369
  getShopUgcParams as object,
1370
1370
  )}`,
1371
1371
  { logEventInfo },
1372
1372
  );
1373
1373
  }
1374
1374
  }
1375
1375
  }
1376
1376
 
1377
1377
  jdJumpToRankList(contentId: string | number, rankType = 10, logEventInfo) {
1378
1378
  const rankUrl = `${this.jumpWebUrl.rank}?contentId=${contentId}&sku=&rankType=${rankType}&fromName=dcpws&hideAd=1`;
1379
1379
  this.jdJumpToWeb(rankUrl, {
1380
1380
  contentId,
1381
1381
  ...logEventInfo,
1382
1382
  });
1383
1383
  }
1384
1384
 
1385
1385
  jdJumpToShopActivity(shopInfo) {
1386
1386
  const getParams = Object.assign(
1387
1387
  {},
1388
1388
  {
1389
1389
  category: 'jump',
1390
1390
  des: 'jshopActivity',
1391
1391
  shopId: global.info.queryInfo.shopId,
1392
1392
  venderId: global.info.queryInfo.venderId,
1393
1393
  },
1394
1394
  shopInfo,
1395
1395
  );
1396
1396
  getParams['projectId'] && (getParams['projectId'] = `${getParams['projectId']}`);
1397
1397
  }
1398
1398
 
1399
1399
  jdJumpToShopMember(shopInfo) {
1400
1400
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo);
1401
1401
  this.jdJumpToWeb(`${this.jumpWebUrl.shopMember}?${objectToUrlEncode(getShopInfo)}`, shopInfo);
1402
1402
  }
1403
1403
 
1404
1404
  jdJumpToMemberTab(shopInfo?) {
1405
1405
  console.log('店内跳转会员tab', shopInfo);
1406
1406
  }
1407
1407
 
1408
1408
  jdJumpToShopMemberCard(shopInfo) {
1409
1409
  const { logEventInfo } = shopInfo;
1410
1410
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo);
1411
1411
  this.jdJumpToWeb(
1412
1412
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(getShopInfo)}`,
1413
1413
  logEventInfo,
1414
1414
  );
1415
1415
  }
1416
1416
 
1417
1417
  jdJumpToTotalPromotion(shopInfo) {
1418
1418
  const { url, logEventInfo } = shopInfo;
1419
1419
  if (this.isOpenJdAppUrl(url)) {
1420
1420
  const getOpenAppParams: any = this.jdOpenAppParams(url);
1421
1421
  if (getOpenAppParams) {
1422
1422
  if (getOpenAppParams?.activityId) {
1423
1423
  this.jdJumpToWeb(
1424
1424
  `${this.jumpWebUrl.totalPromotion}?activity_id=${getOpenAppParams?.activityId}`,
1425
1425
  shopInfo,
1426
1426
  );
1427
1427
  }
1428
1428
  }
1429
1429
  } else {
1430
1430
  this.jdJumpToWeb(url, logEventInfo);
1431
1431
  }
1432
1432
  }
1433
1433
 
1434
1434
  jdJumpToDongDongChatGroup(groupId, source = 'jdmini') {
1435
1435
  console.warn(
1436
1436
  'JdJumpToDongDongChatGroup method is invoked, but should be implemented in subclasses',
1437
1437
  );
1438
1438
  }
1439
1439
 
1440
1440
  jdJumpToDongDongChat(paramInfo) {
1441
1441
  const getInfo = Object.assign(
1442
1442
  {},
1443
1443
  {
1444
1444
  venderId: global.info.queryInfo.venderId,
1445
1445
  },
1446
1446
  paramInfo,
1447
1447
  );
1448
1448
  const { venderId = '1', entry = 'm_shop', ...otherInfo } = getInfo;
1449
1449
  const dongdongUrl = `${this.jumpWebUrl.dongDongChat}?venderId=${venderId}&entry=${entry}&sceneval=2`;
1450
1450
  this.jdJumpToWeb(dongdongUrl, otherInfo);
1451
1451
  }
1452
1452
 
1453
1453
  jdJumpToShopDetail(shopInfo) {
1454
1454
  const getInfo = Object.assign(
1455
1455
  {},
1456
1456
  {
1457
1457
  shopId: global.info.queryInfo.shopId,
1458
1458
  venderId: global.info.queryInfo.venderId,
1459
1459
  },
1460
1460
  shopInfo,
1461
1461
  );
1462
1462
  const getShopInfo = this.getShopIdOrVenderIdParams(getInfo);
1463
1463
  this.jdJumpToWeb(`${this.jumpWebUrl.shopIntroduce}?${objectToUrlEncode(getShopInfo)}`, getInfo);
1464
1464
  }
1465
1465
 
1466
1466
  jdJumpToShopLottery(shopTotalInfo) {
1467
1467
  const getInfo = Object.assign(
1468
1468
  {},
1469
1469
  {
1470
1470
  shopId: global.info.queryInfo.shopId,
1471
1471
  venderId: global.info.queryInfo.venderId,
1472
1472
  },
1473
1473
  shopTotalInfo,
1474
1474
  );
1475
1475
  const getShopInfo = this.getShopIdOrVenderIdParams(getInfo);
1476
1476
  this.jdJumpToWeb(`${this.jumpWebUrl.shopLottery}?${objectToUrlEncode(getShopInfo)}`, getInfo);
1477
1477
  }
1478
1478
 
1479
1479
  jdJumpToSageAuthorHome(shopTotalInfo) {
1480
1480
  const { logEventInfo, ...otherParams } = shopTotalInfo;
1481
1481
  const getInfo = Object.assign(
1482
1482
  {},
1483
1483
  {
1484
1484
  channel: 'shopHomePage',
1485
1485
  selectTab: '0',
1486
1486
  },
1487
1487
  otherParams,
1488
1488
  );
1489
1489
  this.jdJumpToWeb(`${this.jumpWebUrl.sageAuthorHome}?${objectToUrlEncode(getInfo)}`, {
1490
1490
  ...getInfo,
1491
1491
  ...logEventInfo,
1492
1492
  });
1493
1493
  }
1494
1494
 
1495
1495
  jdJumpToOrderInfoView(skuInfos, logEventInfo) {
1496
1496
  console.log(
1497
1497
  '🚀 ~ 跳转结算页 JumpEventReportBase ~ jdJumpToOrderInfoView ~ skuInfos, logEventInfo:',
1498
1498
  skuInfos,
1499
1499
  logEventInfo,
1500
1500
  );
1501
1501
  }
1502
1502
 
1503
1503
  jdJumpToMiniProgram({ appId, path, param = {} }: JumpEventReportInterFace.LinkMiniParams) {
1504
1504
  const pageName = param['pageType'] || 'home';
1505
1505
  path = `pages/${pageName}/index`;
1506
1506
  if (appId === global.info.pageInfo?.appId) {
1507
1507
  Taro.navigateTo({
1508
1508
  url: `/${path}?${objectToUrlEncode(param)}`,
1509
1509
  }).catch((err) => {
1510
1510
  console.warn('跳转小程序页面错误:', err);
1511
1511
  });
1512
1512
  } else {
1513
1513
  console.log('一个小程序跳转到另一个小程序暂无此业务');
1514
1514
  }
1515
1515
  }
1516
1516
 
1517
1517
  jdJumpToAppMiniProgram(
1518
1518
  path: string,
1519
1519
  param = {},
1520
1520
  successBack?: functionType,
1521
1521
  failBack?: functionType,
1522
1522
  ) {
1523
1523
  this.jdNavigateToNative(path, param, successBack, failBack);
1524
1524
  }
1525
1525
 
1526
1526
  jdJumpToMemberPaidCenter({ paidMemberShopType = 1 }, logEventInfo) {
1527
1527
  const venderId = global.info.queryInfo.venderId;
1528
1528
  const shopId = global.info.queryInfo.shopId;
1529
1529
  this.jdJumpToWeb(
1530
1530
  `${this.jumpWebUrl.memberPaidCenter}?venderId=${venderId}&shopId=${shopId}&paidMemberShopType=${paidMemberShopType}`,
1531
1531
  logEventInfo,
1532
1532
  );
1533
1533
  }
1534
1534
 
1535
1535
  jdJumpToMemberPaidCard({ paidMemberShopType = 1 }, logEventInfo) {
1536
1536
  const venderId = global.info.queryInfo.venderId;
1537
1537
  const shopId = global.info.queryInfo.shopId;
1538
1538
  this.jdJumpToWeb(
1539
1539
  `${this.jumpWebUrl.memberPaidCard}?venderId=${venderId}&shopId=${shopId}&paidMemberShopType=${paidMemberShopType}`,
1540
1540
  logEventInfo,
1541
1541
  );
1542
1542
  }
1543
1543
 
1544
1544
  jdJumpTodMemberPaidBind({ paidMemberShopType = 1 }, logEventInfo) {
1545
1545
  const venderId = global.info.queryInfo.venderId;
1546
1546
  const shopId = global.info.queryInfo.shopId;
1547
1547
  this.jdJumpToWeb(
1548
1548
  `${this.jumpWebUrl.memberPaidBind}?venderId=${venderId}&shopId=${shopId}&paidMemberShopType=${paidMemberShopType}`,
1549
1549
  logEventInfo,
1550
1550
  );
1551
1551
  }
1552
1552
 
1553
1553
  jdJumpConfigUrl(detail, logEventInfo = {}) {
1554
1554
  const { configDataType, configDataValue } = detail;
1555
1555
  switch (configDataType) {
1556
1556
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
1557
1557
  if (logEventInfo?.jsonParam?.logBaseInfo?.mInfo) {
1558
1558
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid = configDataValue.skuIds;
1559
1559
  }
1560
1560
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo);
1561
1561
  break;
1562
1562
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
1563
1563
  this.jdJumpToWeb(
1564
1564
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
1565
1565
  logEventInfo,
1566
1566
  );
1567
1567
  break;
1568
1568
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
1569
1569
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
1570
1570
  const getShopSearchParams = this.jdOpenAppParams(configDataValue.clickUrl);
1571
1571
  getShopSearchParams &&
1572
1572
  this.jdJumpToShopSearch(
1573
1573
  Object.assign({}, getShopSearchParams, {
1574
1574
  logEventInfo,
1575
1575
  }),
1576
1576
  );
1577
1577
  } else {
1578
1578
  this.jdJumpToShopSearch(
1579
1579
  configDataValue['cid']
1580
1580
  ? Object.assign(
1581
1581
  {},
1582
1582
  {
1583
1583
  shopId: global.info.queryInfo.shopId,
1584
1584
  categoryId: configDataValue.cid,
1585
1585
  logEventInfo,
1586
1586
  },
1587
1587
  )
1588
1588
  : {
1589
1589
  shopId: global.info.queryInfo.shopId,
1590
1590
  logEventInfo,
1591
1591
  },
1592
1592
  );
1593
1593
  }
1594
1594
  break;
1595
1595
  case LinkConfigType.CONFIG_TYPE_MEMBER:
1596
1596
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
1597
1597
  const getShopMemberParams = this.jdOpenAppParams(configDataValue.clickUrl);
1598
1598
  getShopMemberParams &&
1599
1599
  this.jdJumpToShopMember(
1600
1600
  Object.assign({}, getShopMemberParams, {
1601
1601
  logEventInfo,
1602
1602
  }),
1603
1603
  );
1604
1604
  } else {
1605
1605
  this.jdJumpToShopMember({
1606
1606
  shopId: global.info.queryInfo.shopId,
1607
1607
  venderId: configDataValue.shopDetail,
1608
1608
  logEventInfo,
1609
1609
  });
1610
1610
  }
1611
1611
  break;
1612
1612
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
1613
1613
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
1614
1614
  const getShopActivityParams = this.jdOpenAppParams(configDataValue.clickUrl);
1615
1615
  getShopActivityParams &&
1616
1616
  this.jdJumpToShopActivity(
1617
1617
  Object.assign({}, getShopActivityParams, {
1618
1618
  logEventInfo,
1619
1619
  }),
1620
1620
  );
1621
1621
  } else if (configDataValue['projectId']) {
1622
1622
  this.jdJumpToShopActivity({
1623
1623
  projectId: configDataValue['projectId'],
1624
1624
  configDataValue,
1625
1625
  logEventInfo,
1626
1626
  });
1627
1627
  }
1628
1628
  break;
1629
1629
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
1630
1630
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON: {
1631
1631
  const _url = configDataValue.linkUrl;
1632
1632
  if (
1633
1633
  _url.indexOf('to=') === -1 &&
1634
1634
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
1635
1635
  ) {
1636
1636
  const _shopId = _url.match(/\d+/g)[0];
1637
1637
  this.jdJumpToShopHome({
1638
1638
  shopId: `${_shopId}`,
1639
1639
  logEventInfo,
1640
1640
  });
1641
1641
  } else if (this.isOpenJdAppUrl(_url)) {
1642
1642
  const getOpenAppParams = this.jdOpenAppParams(_url);
1643
1643
  console.log('获取解析后的参数结果', getOpenAppParams);
1644
1644
  if (getOpenAppParams) {
1645
1645
  isJdApp
1646
1646
  ? this.jdNavigateToNative(
1647
1647
  Object.assign({}, getOpenAppParams, {
1648
1648
  logEventInfo,
1649
1649
  }),
1650
1650
  )
1651
1651
  : this.jdNavigateToNative(
1652
1652
  '',
1653
1653
  Object.assign({}, getOpenAppParams, {
1654
1654
  logEventInfo,
1655
1655
  }),
1656
1656
  );
1657
1657
  } else {
1658
1658
  this.jdNavigateToNative(
1659
1659
  '',
1660
1660
  Object.assign({}, getOpenAppParams, {
1661
1661
  logEventInfo,
1662
1662
  }),
1663
1663
  );
1664
1664
  }
1665
1665
  } else {
1666
1666
  this.jdJumpToWeb(_url, logEventInfo);
1667
1667
  }
1668
1668
  break;
1669
1669
  }
1670
1670
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
1671
1671
  this.jdJumpToShopDetail({
1672
1672
  venderId: global.info.queryInfo.venderId,
1673
1673
  shopId: global.info.queryInfo.shopId,
1674
1674
  logEventInfo,
1675
1675
  });
1676
1676
  break;
1677
1677
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
1678
1678
  this.jdJumpToShopHome({
1679
1679
  ...configDataValue,
1680
1680
  logEventInfo,
1681
1681
  });
1682
1682
  break;
1683
1683
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
1684
1684
  break;
1685
1685
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
1686
1686
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
1687
1687
  const getShoppingGuideParams = this.jdOpenAppParams(configDataValue.clickUrl);
1688
1688
  getShoppingGuideParams &&
1689
1689
  this.jdJumpToShopActivity(
1690
1690
  Object.assign({}, getShoppingGuideParams, {
1691
1691
  logEventInfo,
1692
1692
  }),
1693
1693
  );
1694
1694
  }
1695
1695
  break;
1696
1696
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
1697
1697
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '');
1698
1698
  const search = linkUrl.match(/\?.+/);
1699
1699
  if (search) {
1700
1700
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
1701
1701
  parseQueryUrlString(linkUrl);
1702
1702
  try {
1703
1703
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param);
1704
1704
  } catch (e) {
1705
1705
  console.warn('解析小程序 param 错误:', miniQueryData.param);
1706
1706
  }
1707
1707
  this.jdJumpToMiniProgram(miniQueryData);
1708
1708
  } else {
1709
1709
  console.warn('小程序地址错误:', linkUrl);
1710
1710
  }
1711
1711
  break;
1712
1712
  }
1713
1713
  case LinkConfigType.CONFIG_TYPE_SHOP_SEARCH: {
1714
1714
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
1715
1715
  const getShopSearchParams = this.jdOpenAppParams(configDataValue.clickUrl);
1716
1716
  console.log('base 获取店铺结果落地页链接解析后的参数结果', getShopSearchParams);
1717
1717
  getShopSearchParams &&
1718
1718
  this.jdJumpToShopSearch(
1719
1719
  Object.assign({}, getShopSearchParams, {
1720
1720
  logEventInfo,
1721
1721
  }),
1722
1722
  );
1723
1723
  } else {
1724
1724
  this.jdJumpToWeb(configDataValue.clickUrl, logEventInfo);
1725
1725
  }
1726
1726
  break;
1727
1727
  }
1728
1728
  default:
1729
1729
  }
1730
1730
  }
1731
1731
 
1732
1732
  jdOpenAppParams(openAppUrl): object | boolean {
1733
1733
  let getParams: boolean | object = false;
1734
1734
  if (this.isOpenJdAppUrl(openAppUrl)) {
1735
1735
  try {
1736
1736
  getParams = openAppUrl.replace(/openApp\.jdMobile:\/\/virtual\?params=/i, '');
1737
1737
  getParams = JSON.parse(String(getParams));
1738
1738
  } catch (e) {
1739
1739
  console.log(e);
1740
1740
  }
1741
1741
  }
1742
1742
  return getParams;
1743
1743
  }
1744
1744
  isOpenJdAppUrl(openAppUrl) {
1745
1745
  return /openApp\.jdMobile:\/\/virtual\?params=/i.test(openAppUrl);
1746
1746
  }
1747
1747
 
1748
1748
  creatParamToLogStr(eventParam) {
1749
1749
  return eventParam
1750
1750
  ? Object.keys(eventParam)
1751
1751
  .map((key) => {
1752
1752
  return `${key}_${eventParam[key]}`;
1753
1753
  })
1754
1754
  .join('_')
1755
1755
  : '';
1756
1756
  }
1757
1757
 
1758
1758
  jdNavigateToNative(
1759
1759
  url: string,
1760
1760
  params: {
1761
1761
  logEventInfo?: object;
1762
1762
  } = {},
1763
1763
  successBack?: functionType | undefined,
1764
1764
  failBack?: functionType | undefined,
1765
1765
  ) {
1766
1766
  const { logEventInfo } = params;
1767
1767
  const getEparam = logEventInfo || params;
1768
1768
  console.log('jdNavigateToNative params: ', params);
1769
1769
  console.log('logEventInfo params: ', logEventInfo);
1770
1770
  try {
1771
1771
  this.clickEventLog(getEparam);
1772
1772
  } catch (e) {
1773
1773
  console.log(e);
1774
1774
  }
1775
1775
  setTimeout(() => {
1776
1776
  Taro.navigateTo({
1777
1777
  url,
1778
1778
  })
1779
1779
  .then((res) => {
1780
1780
  typeof successBack === 'function' && successBack(res);
1781
1781
  console.log('navigateToWxapp.success', res);
1782
1782
  })
1783
1783
  .catch((err) => {
1784
1784
  typeof failBack === 'function' && failBack(err);
1785
1785
  console.log('navigateToWxapp.fail', err);
1786
1786
  });
1787
1787
  }, 200);
1788
1788
  }
1789
1789
 
1790
1790
  clickEventLog(opts: JumpEventReportInterFace.OptEventLogParams = {}, clickKey = 'click') {
1791
1791
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts;
1792
1792
  if (eventId && jsonParam) {
1793
1793
  const { etModelInfo, logBaseInfo } = jsonParam;
1794
1794
  let getJsonParam = logBaseInfo || jsonParam;
1795
1795
  if (etModelInfo && logBaseInfo) {
1796
1796
  getJsonParam = logBaseInfo;
1797
1797
  } else {
1798
1798
  if (Array.isArray(jsonParam)) {
1799
1799
  getJsonParam = jsonParam;
1800
1800
  } else {
1801
1801
  getJsonParam = Object.assign(
1802
1802
  {},
1803
1803
  {
1804
1804
  shopid: global.info.queryInfo?.shopId,
1805
1805
  },
1806
1806
  jsonParam,
1807
1807
  );
1808
1808
  }
1809
1809
  }
1810
1810
  const miniClickKey = clickKey === 'addToCart' ? 'addToCart' : 'click';
1811
1811
  const miniLogParams = {
1812
1812
  eid: eventId,
1813
1813
  elevel: eventLevel,
1814
1814
  ext: JSON.stringify(getJsonParam),
1815
1815
  etModel: JSON.stringify(etModelInfo || {}),
1816
1816
  pname: this.logPname,
1817
1817
  pparam: JSON.stringify(this.routerInfo.params),
1818
1818
  target: this.routerInfo.path,
1819
1819
  event: this.nativeEvent,
1820
1820
  pageId: this.logPageId,
1821
1821
  ...otherParams,
1822
1822
  };
1823
1823
  console.log('点击埋点参数对象', miniLogParams, miniClickKey);
1824
1824
  global.miniAppLogInstance && global.miniAppLogInstance[miniClickKey](miniLogParams);
1825
1825
  }
1826
1826
  }
1827
1827
 
1828
1828
  exposureEventLog(opts: JumpEventReportInterFace.OptEventLogParams = {}) {
1829
1829
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts;
1830
1830
  if (eventId && jsonParam) {
1831
1831
  const { etModelInfo, logBaseInfo } = jsonParam;
1832
1832
  let getJsonParam = {};
1833
1833
  if (etModelInfo && logBaseInfo) {
1834
1834
  getJsonParam = logBaseInfo;
1835
1835
  } else {
1836
1836
  if (Array.isArray(jsonParam)) {
1837
1837
  getJsonParam = jsonParam;
1838
1838
  } else {
1839
1839
  getJsonParam = Object.assign(
1840
1840
  {},
1841
1841
  {
1842
1842
  shopid: global.info.queryInfo?.shopId,
1843
1843
  },
1844
1844
  jsonParam,
1845
1845
  );
1846
1846
  }
1847
1847
  }
1848
1848
  const miniLogParams = {
1849
1849
  eid: eventId,
1850
1850
  elevel: eventLevel,
1851
1851
  ext: JSON.stringify(getJsonParam),
1852
1852
  etModel: JSON.stringify(etModelInfo || {}),
1853
1853
  pname: this.logPname,
1854
1854
  pparam: JSON.stringify(this.routerInfo.params),
1855
1855
  target: this.routerInfo.path,
1856
1856
  pageId: this.logPageId,
1857
1857
  ...otherParams,
1858
1858
  };
1859
1859
  global.miniAppLogInstance && global.miniAppLogInstance['exposure'](miniLogParams);
1860
1860
  }
1861
1861
  }
1862
1862
 
1863
1863
  initOpenTriggerExposure(type) {
1864
1864
  if (!this.sectionExposureInfo[type]) {
1865
1865
  Taro.nextTick(() => {
1866
1866
  setTimeout(() => {
1867
1867
  global.info.pageInfo.isExposureState = true;
1868
1868
  taroEventInitExposure();
1869
1869
  this.sectionExposureInfo[`${type}`] = true;
1870
1870
  }, 200);
1871
1871
  });
1872
1872
  }
1873
1873
  }
1874
1874
 
1875
1875
  jdJumpBack(logEventInfo) {
1876
1876
  this.clickEventLog(logEventInfo);
1877
1877
  window?.history?.go(-1);
1878
1878
  }