@conecli/cone-render 0.8.17 → 0.8.18-beta.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.
@@ -1 +1 @@
1
- import Taro from '@tarojs/taro'
1
+ import Taro from '@tarojs/taro'
2
2
  routerInfo: {
3
3
  params: {},
4
4
  },
5
5
  nativeEvent: null,
6
6
  logPageParamStr: '',
7
7
  implements JumpEventReportInterFace.JumpEventReportInit
8
8
  public jingGouMiniState: boolean
9
9
  public logPageId: string
10
10
  public logPageParamStr: string
11
11
  public nativeEvent: any
12
12
  public routerInfo: JumpEventReportInterFace.RouterInfo
13
13
  public logPname: LogPnameInfo
14
14
  public jumpMiniPath: JumpEventReportInterFace.JumpMiniPath
15
15
  public jumpWebUrl: JumpEventReportInterFace.jumpWebUrl
16
16
  public sectionExposureInfo: object
17
17
  constructor(opt = {}) {
18
18
  this.logPageId = LogPageIdInfo.APP
19
19
  this.jingGouMiniState = false
20
20
  this.jumpMiniPath = JumpMiniPath
21
21
  this.jumpWebUrl = JumpWebUrl
22
22
  this.sectionExposureInfo = {}
23
23
  this.getConfig(opt)
24
24
  }
25
25
  getConfig(opt) {
26
26
  return Object.assign(this, {}, defaultConfig, opt)
27
27
  }
28
28
 
29
29
  updateInfo(
30
30
  routerInfo,
31
31
  logPname = LogPnameInfo.HOME,
32
32
  pageId = LogPageIdInfo.APP,
33
33
  ) {
34
34
  this.routerInfo = routerInfo
35
35
  this.logPname = logPname
36
36
  this.logPageId = pageId
37
37
  }
38
38
  reportInfoPv(_pageId, _opt = {}) {}
39
39
 
40
40
  getShopIdOrVenderIdParams(
41
41
  params: JumpEventReportInterFace.ShopIdsInfo = {},
42
42
  ): JumpEventReportInterFace.ShopIdsInfo {
43
43
  const setParams = {}
44
44
  params.shopId && (setParams['shopId'] = `${params.shopId}`)
45
45
  params.venderId && (setParams['venderId'] = `${params.venderId}`)
46
46
  return setParams
47
47
  }
48
48
 
49
49
  getShopIdsInfo(params = {}): JumpEventReportInterFace.ShopIdsInfo {
50
50
  let setParams = this.getShopIdOrVenderIdParams(params)
51
51
  setParams = {
52
52
  ...params,
53
53
  ...setParams,
54
54
  }
55
55
  return setParams
56
56
  }
57
57
 
58
58
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
59
59
  this.jdJumpToShopBase(shopInfo)
60
60
  }
61
61
 
62
62
  jdJumpToShopBase(shopInfo) {
63
63
  this.jdNavigateToNative(
64
64
  `${this.jumpMiniPath.shop}?${objectToUrlEncode(
65
65
  this.getShopIdOrVenderIdParams(shopInfo),
66
66
  )}`,
67
67
  {
68
68
  ...shopInfo,
69
69
  },
70
70
  )
71
71
  }
72
72
 
73
73
  jdJumpToShopLight(shopInfo) {
74
74
  this.jdNavigateToNative(
75
75
  `${this.jumpMiniPath.shopLight}?${objectToUrlEncode(
76
76
  this.getShopIdOrVenderIdParams(shopInfo),
77
77
  )}`,
78
78
  {
79
79
  ...shopInfo,
80
80
  },
81
81
  )
82
82
  }
83
83
 
84
84
  jdJumpToProduct(skuIds, logEventInfo) {
85
85
  skuIds = skuIds.toString().trim()
86
86
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds
87
87
  this.jdNavigateToNative(
88
88
  `${this.jumpMiniPath.detail}?sku=${getSkuId}`,
89
89
  logEventInfo,
90
90
  )
91
91
  }
92
92
 
93
93
  jdJumpToFlashSaleTab(_logEventInfo) {
94
94
  console.log('跳转闪购', _logEventInfo)
95
95
  }
96
96
 
97
97
 
98
98
  jdJumpToShopMemberInfo(logEventInfo) {
99
99
  console.log('跳转修改会员信息页', logEventInfo)
100
100
  }
101
101
 
102
102
  jdJumpToShopMemberPointDetail(logEventInfo) {
103
103
  const venderId = global.info.queryInfo.venderId
104
104
  const shopId = global.info.queryInfo.shopId
105
105
  this.jdJumpToWeb(
106
106
  `${this.jumpWebUrl.shopMemberPointDetail}?venderId=${venderId}&shopId=${shopId}`,
107
107
  logEventInfo,
108
108
  )
109
109
  }
110
110
 
111
111
  jdJumpToShopMemberBenefit(logEventInfo) {
112
112
  const venderId = global.info.queryInfo.venderId
113
113
  const shopId = global.info.queryInfo.shopId
114
114
  this.jdJumpToWeb(
115
115
  `${this.jumpWebUrl.shopMemberBenefit}?venderId=${venderId}&shopId=${shopId}`,
116
116
  logEventInfo,
117
117
  )
118
118
  }
119
119
 
120
120
  jdJumpToShopMemberRule(logEventInfo) {
121
121
  const venderId = global.info.queryInfo.venderId
122
122
  const shopId = global.info.queryInfo.shopId
123
123
  this.jdJumpToWeb(
124
124
  `${this.jumpWebUrl.shopMemberRule}?venderId=${venderId}&shopId=${shopId}&sign=member`,
125
125
  logEventInfo,
126
126
  )
127
127
  }
128
128
 
129
129
  jdJumpToShopMemberCloseAccount(venderType, logEventInfo) {
130
130
  const venderId = global.info.queryInfo.venderId
131
131
  const shopId = global.info.queryInfo.shopId
132
132
  this.jdJumpToWeb(
133
133
  `${this.jumpWebUrl.shopMemberCloseAccount}?venderId=${venderId}&shopId=${shopId}&venderType=${venderType}`,
134
134
  logEventInfo,
135
135
  )
136
136
  }
137
137
 
138
138
  jdJumpToShopMemberPointExchange(
139
139
  venderType,
140
140
  levelZeroMenuUrl,
141
141
  logEventInfo,
142
142
  ) {
143
143
  const venderId = global.info.queryInfo.venderId
144
144
  const shopId = global.info.queryInfo.shopId
145
145
  const channel = CHANNEL.h5
146
146
  this.jdJumpToWeb(
147
147
  `${this.jumpWebUrl.shopMemberPointExchange}?venderId=${venderId}&shopId=${shopId}&venderType=${venderType}&channel=${channel}&levelZeroMenuUrl=${levelZeroMenuUrl}`,
148
148
  logEventInfo,
149
149
  )
150
150
  }
151
151
 
152
152
  jdJumpToShopMemberBonusPurchase(customerLevel, logEventInfo) {
153
153
  const venderId = global.info.queryInfo.venderId
154
154
  const shopId = global.info.queryInfo.shopId
155
155
  this.jdJumpToWeb(
156
156
  `${this.jumpWebUrl.shopMemberBonusPurchase}?venderId=${venderId}&shopId=${shopId}`,
157
157
  logEventInfo,
158
158
  )
159
159
  }
160
160
 
161
161
  jdJumpToShopMemberGood(customerLevel, logEventInfo) {
162
162
  const venderId = global.info.queryInfo.venderId
163
163
  const shopId = global.info.queryInfo.shopId
164
164
  this.jdJumpToWeb(
165
165
  `${this.jumpWebUrl.shopMemberGood}?venderId=${venderId}&shopId=${shopId}&customerLevel=${customerLevel}`,
166
166
  logEventInfo,
167
167
  )
168
168
  }
169
169
 
170
170
  jdJumpToBeanDetail(logEventInfo) {
171
171
  console.log('this.jumpWebUrl.beanDetail', this.jumpWebUrl.beanDetail)
172
172
  this.jdJumpToWeb(
173
173
  `${this.jumpWebUrl.beanDetail}?source=dianpuhuiyuan`,
174
174
  logEventInfo,
175
175
  )
176
176
  }
177
177
 
178
178
  jdJumpToMyRedEnvelope(logEventInfo) {
179
179
  console.log('跳转红包页', logEventInfo)
180
180
  }
181
181
 
182
182
  jdJumpToMyCoupon(logEventInfo) {
183
183
  console.log('跳转优惠券页', logEventInfo)
184
184
  }
185
185
 
186
186
 
187
187
  jdJumpToTabAllProduct(shopId, venderId, logEventInfo = {}) {
188
188
  this.jdJumpToWeb(
189
189
  `${this.jumpWebUrl.pages}?shopId=${shopId}&venderId=${venderId}&tabActive=home-product`,
190
190
  logEventInfo,
191
191
  )
192
192
  }
193
193
 
194
194
  jdJumpToAppHome(logEventInfo) {
195
195
  this.jdJumpToWeb(
196
196
  `${this.jumpWebUrl.mobileHome}?originReferer=shopx`,
197
197
  logEventInfo,
198
198
  )
199
199
  }
200
200
 
201
201
  jdJumpToShopSearch(queryParams) {
202
202
  const { shopId, categoryId, keyword, pageId, description, shopName } =
203
203
  queryParams
204
204
  const cateId = categoryId ? `&cateId=${categoryId}` : ''
205
205
  const addKeyWord = keyword ? `&keyword=${keyword}` : ''
206
206
  const addPageId = pageId ? `&pageId=${pageId}` : ''
207
207
  const searchDes = description ? `&description=${description}` : ''
208
208
  const shopNameDes = shopName ? `&shopName=${shopName}` : ''
209
209
  const searchType = categoryId ? 5 : keyword ? 4 : 3
210
210
  this.jdJumpToWeb(
211
211
  `${this.jumpWebUrl.shopSearch}?shopId=${shopId}&searchType=${searchType}${cateId}${addKeyWord}${addPageId}${searchDes}${shopNameDes}`,
212
212
  queryParams,
213
213
  )
214
214
  }
215
215
 
216
216
  jdJumpToOrderList() {
217
217
  console.warn(
218
218
  '触发基类的jdJumpToOrderList,这不是一个期望的结果,应该调用各端子类来实现',
219
219
  )
220
220
  }
221
221
 
222
222
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
223
223
  this.jdJumpToWeb(
224
224
  `${this.jumpWebUrl.couponSearch}?couponbatch=${couponId}&sceneval=2`,
225
225
  logEventInfo,
226
226
  )
227
227
  }
228
228
 
229
229
  jdJumpToWeb(
230
230
  spUrl,
231
231
  logEventInfo,
232
232
  successBack?: Function | undefined,
233
233
  failBack?: Function | undefined,
234
234
  ) {
235
235
  this.jdNavigateToNative(
236
236
  `${this.jumpMiniPath.h5}?encode_url=` + encodeURIComponent(spUrl),
237
237
  {
238
238
  ...logEventInfo,
239
239
  },
240
240
  successBack,
241
241
  failBack,
242
242
  )
243
243
  }
244
244
 
245
245
  jdJumpToLive(liveInfo, logEventInfo = {}) {
246
246
  if (liveInfo?.liveId) {
247
247
  this.jdJumpToWeb(
248
248
  `${this.jumpWebUrl.mLive}/${liveInfo?.liveId}?origin=30`,
249
249
  logEventInfo,
250
250
  )
251
251
  }
252
252
  }
253
253
 
254
254
  jdJumpToUgcContent(urlObj, logEventInfo = {}) {
255
255
  if (typeof urlObj === 'object') {
256
256
  this.jdJumpToWeb(
257
257
  `${this.jumpWebUrl.shopUseShareOrderUgcContent}?${objectToUrlEncode(
258
258
  urlObj,
259
259
  )}`,
260
260
  { logEventInfo },
261
261
  )
262
262
  } else {
263
263
  const getShopUgcParams = this.jdOpenAppParams(urlObj)
264
264
  console.log('getShopUgcParams=====', getShopUgcParams)
265
265
  if (getShopUgcParams) {
266
266
  getShopUgcParams['category'] && delete getShopUgcParams['category']
267
267
  getShopUgcParams['des'] && delete getShopUgcParams['des']
268
268
  this.jdJumpToWeb(
269
269
  `${this.jumpWebUrl.shopUseShareOrderUgcContent}?${objectToUrlEncode(
270
270
  getShopUgcParams as Object,
271
271
  )}`,
272
272
  { logEventInfo },
273
273
  )
274
274
  }
275
275
  }
276
276
  }
277
277
 
278
278
  jdJumpToShopActivity(shopInfo) {
279
279
  const getParams = Object.assign(
280
280
  {},
281
281
  {
282
282
  category: 'jump',
283
283
  des: 'jshopActivity',
284
284
  shopId: global.info.queryInfo.shopId,
285
285
  venderId: global.info.queryInfo.venderId,
286
286
  },
287
287
  shopInfo,
288
288
  )
289
289
  getParams['projectId'] &&
290
290
  (getParams['projectId'] = `${getParams['projectId']}`)
291
291
  }
292
292
 
293
293
  jdJumpToShopMember(shopInfo) {
294
294
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
295
295
  this.jdJumpToWeb(
296
296
  `${this.jumpWebUrl.wqShopMember}?${objectToUrlEncode(getShopInfo)}`,
297
297
  shopInfo,
298
298
  )
299
299
  }
300
300
 
301
301
  jdJumpToShopMemberCard(shopInfo) {
302
302
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
303
303
  this.jdJumpToWeb(
304
304
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(getShopInfo)}`,
305
305
  shopInfo,
306
306
  )
307
307
  }
308
308
 
309
309
  jdJumpToTotalPromotion(shopInfo) {
310
310
  const { url, logEventInfo } = shopInfo
311
311
  if (this.isOpenJdAppUrl(url)) {
312
312
  const getOpenAppParams: any = this.jdOpenAppParams(url)
313
313
  if (getOpenAppParams) {
314
314
  if (getOpenAppParams?.activityId) {
315
315
  this.jdJumpToWeb(
316
316
  `${this.jumpWebUrl.totalPromotion}?activity_id=${getOpenAppParams?.activityId}`,
317
317
  shopInfo,
318
318
  )
319
319
  }
320
320
  }
321
321
  } else {
322
322
  this.jdJumpToWeb(url, logEventInfo)
323
323
  }
324
324
  }
325
325
 
326
326
  jdJumpToDongDongChat(paramInfo) {
327
327
  const { venderId = '1', entry = 'm_shop', ...otherInfo } = paramInfo
328
328
  const dongdongUrl = `${this.jumpWebUrl.dongDongChat}?venderId=${venderId}&entry=${entry}&sceneval=2`
329
329
  this.jdJumpToWeb(dongdongUrl, otherInfo)
330
330
  }
331
331
 
332
332
  jdJumpToShopDetail(shopInfo) {
333
333
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
334
334
  this.jdJumpToWeb(
335
335
  `${this.jumpWebUrl.shopIntroduce}?${objectToUrlEncode(getShopInfo)}`,
336
336
  shopInfo,
337
337
  )
338
338
  }
339
339
 
340
340
  jdJumpToMiniProgram({
341
341
  appId,
342
342
  path,
343
343
  param = {},
344
344
  }: JumpEventReportInterFace.LinkMiniParams) {
345
345
  const pageName = param['pageType'] || 'home'
346
346
  path = `pages/${pageName}/index`
347
347
  if (appId === global.info.pageInfo?.appId) {
348
348
  Taro.navigateTo({
349
349
  url: `/${path}?${objectToUrlEncode(param)}`,
350
350
  }).catch((err) => {
351
351
  console.warn('跳转小程序页面错误:', err)
352
352
  })
353
353
  } else {
354
354
  console.log('一个小程序跳转到另一个小程序暂无此业务')
355
355
  }
356
356
  }
357
357
 
358
358
  jdJumpToAppMiniProgram(
359
359
  path: string,
360
360
  param = {},
361
361
  successBack?: Function,
362
362
  failBack?: Function,
363
363
  ) {
364
364
  this.jdNavigateToNative(path, param, successBack, failBack)
365
365
  }
366
366
 
367
367
  jdJumpConfigUrl(detail, logEventInfo = {}) {
368
368
  const { configDataType, configDataValue } = detail
369
369
  switch (configDataType) {
370
370
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
371
371
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo)
372
372
  break
373
373
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
374
374
  this.jdJumpToWeb(
375
375
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
376
376
  logEventInfo,
377
377
  )
378
378
  break
379
379
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
380
380
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
381
381
  const getShopSearchParams = this.jdOpenAppParams(
382
382
  configDataValue.clickUrl,
383
383
  )
384
384
  getShopSearchParams &&
385
385
  this.jdJumpToShopSearch(
386
386
  Object.assign({}, getShopSearchParams, {
387
387
  logEventInfo,
388
388
  }),
389
389
  )
390
390
  } else {
391
391
  this.jdJumpToShopSearch(
392
392
  configDataValue['cid']
393
393
  ? Object.assign(
394
394
  {},
395
395
  {
396
396
  shopId: global.info.queryInfo.shopId,
397
397
  categoryId: configDataValue.cid,
398
398
  logEventInfo,
399
399
  },
400
400
  )
401
401
  : {
402
402
  shopId: global.info.queryInfo.shopId,
403
403
  logEventInfo,
404
404
  },
405
405
  )
406
406
  }
407
407
  break
408
408
  case LinkConfigType.CONFIG_TYPE_MEMBER:
409
409
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
410
410
  const getShopMemberParams = this.jdOpenAppParams(
411
411
  configDataValue.clickUrl,
412
412
  )
413
413
  getShopMemberParams &&
414
414
  this.jdJumpToShopMember(
415
415
  Object.assign({}, getShopMemberParams, {
416
416
  logEventInfo,
417
417
  }),
418
418
  )
419
419
  } else {
420
420
  this.jdJumpToShopMember({
421
421
  shopId: global.info.queryInfo.shopId,
422
422
  venderId: configDataValue.shopDetail,
423
423
  logEventInfo,
424
424
  })
425
425
  }
426
426
  break
427
427
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
428
428
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
429
429
  const getShopActivityParams = this.jdOpenAppParams(
430
430
  configDataValue.clickUrl,
431
431
  )
432
432
  getShopActivityParams &&
433
433
  this.jdJumpToShopActivity(
434
434
  Object.assign({}, getShopActivityParams, {
435
435
  logEventInfo,
436
436
  }),
437
437
  )
438
438
  } else if (configDataValue['projectId']) {
439
439
  this.jdJumpToShopActivity({
440
440
  projectId: configDataValue['projectId'],
441
441
  configDataValue,
442
442
  logEventInfo,
443
443
  })
444
444
  }
445
445
  break
446
446
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
447
447
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON: {
448
448
  const _url = configDataValue.linkUrl
449
449
  if (
450
450
  _url.indexOf('to=') === -1 &&
451
451
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
452
452
  ) {
453
453
  const _shopId = _url.match(/\d+/g)[0]
454
454
  this.jdJumpToShopHome({
455
455
  shopId: `${_shopId}`,
456
456
  logEventInfo,
457
457
  })
458
458
  } else if (this.isOpenJdAppUrl(_url)) {
459
459
  const getOpenAppParams = this.jdOpenAppParams(_url)
460
460
  console.log('获取解析后的参数结果', getOpenAppParams)
461
461
  if (getOpenAppParams) {
462
462
  isJdApp
463
463
  ? this.jdNavigateToNative(
464
464
  Object.assign({}, getOpenAppParams, {
465
465
  logEventInfo,
466
466
  }),
467
467
  )
468
468
  : this.jdNavigateToNative(
469
469
  '',
470
470
  Object.assign({}, getOpenAppParams, {
471
471
  logEventInfo,
472
472
  }),
473
473
  )
474
474
  } else {
475
475
  this.jdNavigateToNative(
476
476
  '',
477
477
  Object.assign({}, getOpenAppParams, {
478
478
  logEventInfo,
479
479
  }),
480
480
  )
481
481
  }
482
482
  } else {
483
483
  this.jdJumpToWeb(_url, logEventInfo)
484
484
  }
485
485
  break
486
486
  }
487
487
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
488
488
  this.jdJumpToShopDetail({
489
489
  venderId: global.info.queryInfo.venderId,
490
490
  shopId: global.info.queryInfo.shopId,
491
491
  logEventInfo,
492
492
  })
493
493
  break
494
494
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
495
495
  this.jdJumpToShopHome({
496
496
  ...configDataValue,
497
497
  logEventInfo,
498
498
  })
499
499
  break
500
500
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
501
501
  break
502
502
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
503
503
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
504
504
  const getShoppingGuideParams = this.jdOpenAppParams(
505
505
  configDataValue.clickUrl,
506
506
  )
507
507
  getShoppingGuideParams &&
508
508
  this.jdJumpToShopActivity(
509
509
  Object.assign({}, getShoppingGuideParams, {
510
510
  logEventInfo,
511
511
  }),
512
512
  )
513
513
  }
514
514
  break
515
515
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
516
516
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
517
517
  const search = linkUrl.match(/\?.+/)
518
518
  if (search) {
519
519
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
520
520
  parseQueryUrlString(linkUrl)
521
521
  try {
522
522
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
523
523
  } catch (e) {
524
524
  console.warn('解析小程序 param 错误:', miniQueryData.param)
525
525
  }
526
526
  this.jdJumpToMiniProgram(miniQueryData)
527
527
  } else {
528
528
  console.warn('小程序地址错误:', linkUrl)
529
529
  }
530
530
  break
531
531
  }
532
532
  default:
533
533
  }
534
534
  }
535
535
 
536
536
  jdOpenAppParams(openAppUrl): Object | boolean {
537
537
  let getParams: boolean | Object = false
538
538
  if (this.isOpenJdAppUrl(openAppUrl)) {
539
539
  try {
540
540
  getParams = openAppUrl.replace(
541
541
  /openApp\.jdMobile:\/\/virtual\?params=/i,
542
542
  '',
543
543
  )
544
544
  getParams = JSON.parse(String(getParams))
545
545
  } catch (e) {
546
546
  console.log(e)
547
547
  }
548
548
  }
549
549
  return getParams
550
550
  }
551
551
  isOpenJdAppUrl(openAppUrl) {
552
552
  return /openApp\.jdMobile:\/\/virtual\?params=/i.test(openAppUrl)
553
553
  }
554
554
 
555
555
  creatParamToLogStr(eventParam) {
556
556
  return eventParam
557
557
  ? Object.keys(eventParam)
558
558
  .map((key) => {
559
559
  return `${key}_${eventParam[key]}`
560
560
  })
561
561
  .join('_')
562
562
  : ''
563
563
  }
564
564
 
565
565
  jdNavigateToNative(
566
566
  url: string,
567
567
  params: {
568
568
  logEventInfo?: object
569
569
  } = {},
570
570
  successBack?: Function | undefined,
571
571
  failBack?: Function | undefined,
572
572
  ) {
573
573
  const { logEventInfo } = params
574
574
  const getEparam = logEventInfo || params
575
575
  console.log('jdNavigateToNative params: ', params)
576
576
  console.log('logEventInfo params: ', logEventInfo)
577
577
  try {
578
578
  this.clickEventLog(getEparam)
579
579
  } catch (e) {
580
580
  console.log(e)
581
581
  }
582
582
  setTimeout(() => {
583
583
  Taro.navigateTo({
584
584
  url,
585
585
  })
586
586
  .then((res) => {
587
587
  typeof successBack === 'function' && successBack(res)
588
588
  console.log('navigateToWxapp.success', res)
589
589
  })
590
590
  .catch((err) => {
591
591
  typeof failBack === 'function' && failBack(err)
592
592
  console.log('navigateToWxapp.fail', err)
593
593
  })
594
594
  }, 200)
595
595
  }
596
596
 
597
597
  clickEventLog(
598
598
  opts: JumpEventReportInterFace.OptEventLogParams = {},
599
599
  clickKey = 'click',
600
600
  ) {
601
601
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts
602
602
  if (eventId && jsonParam) {
603
603
  const { etModelInfo, logBaseInfo } = jsonParam
604
604
  const miniClickKey = clickKey === 'addToCart' ? 'addToCart' : 'click'
605
605
  const miniLogParams = {
606
606
  eid: eventId,
607
607
  elevel: eventLevel,
608
608
  ext: JSON.stringify(logBaseInfo || jsonParam),
609
609
  etModel: JSON.stringify(etModelInfo || {}),
610
610
  pname: this.logPname,
611
611
  pparam: JSON.stringify(this.routerInfo.params),
612
612
  target: this.routerInfo.path,
613
613
  event: this.nativeEvent,
614
614
  pageId: this.logPageId,
615
615
  ...otherParams,
616
616
  }
617
617
  console.log('点击埋点参数对象', miniLogParams, miniClickKey)
618
618
  global.miniAppLogInstance &&
619
619
  global.miniAppLogInstance[miniClickKey](miniLogParams)
620
620
  }
621
621
  }
622
622
 
623
623
  exposureEventLog(opts: JumpEventReportInterFace.OptEventLogParams = {}) {
624
624
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts
625
625
  if (eventId && jsonParam) {
626
626
  const { etModelInfo, logBaseInfo } = jsonParam
627
627
  const miniLogParams = {
628
628
  eid: eventId,
629
629
  elevel: eventLevel,
630
630
  ext: JSON.stringify(logBaseInfo || jsonParam),
631
631
  etModel: JSON.stringify(etModelInfo || {}),
632
632
  pname: this.logPname,
633
633
  pparam: JSON.stringify(this.routerInfo.params),
634
634
  target: this.routerInfo.path,
635
635
  pageId: this.logPageId,
636
636
  ...otherParams,
637
637
  }
638
638
  global.miniAppLogInstance &&
639
639
  global.miniAppLogInstance['exposure'](miniLogParams)
640
640
  }
641
641
  }
642
642
 
643
643
  initOpenTriggerExposure(type) {
644
644
  if (!this.sectionExposureInfo[type]) {
645
645
  Taro.nextTick(() => {
646
646
  setTimeout(() => {
647
647
  global.info.pageInfo.isExposureState = true
648
648
  taroEventInitExposure()
649
649
  this.sectionExposureInfo[`${type}`] = true
650
650
  }, 200)
651
651
  })
652
652
  }
653
653
  }