@conecli/cone-render 0.8.23 → 0.8.25-beta.0

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 { isH5 } from '../utils'
2
1
  CONFIG_TYPE_CATEGORY_PAGE= 25,
2
+ import { isH5 } from '../utils'
3
3
  ? 'Terminator_New_Mobile_Shop'
4
4
  : 'W_jdgwxcx_shop'
5
5
  CONFIG_TYPE_NO_LINK = 0,
6
6
  CONFIG_TYPE_SKU_LIST = 1,
7
7
  CONFIG_TYPE_COUPON_LIST = 2,
8
8
  CONFIG_TYPE_CATEGORY = 3,
9
9
  CONFIG_TYPE_JSHOP_MOBILE = 4,
10
10
  CONFIG_TYPE_JSHOP_PC = 5,
11
11
  CONFIG_TYPE_JSHOP_DETAIL = 6,
12
12
  CONFIG_TYPE_CUSTOM_LINK = 7,
13
13
  CONFIG_TYPE_MEMBER = 9,
14
14
  CONFIG_TYPE_SHOP_ACTIVITY = 10,
15
15
  CONFIG_TYPE_SHOP_HOME = 12,
16
16
  CONFIG_TYPE_ANCHOR_POINT = 13,
17
17
  CONFIG_TYPE_SHOPPING_GUIDE = 17,
18
18
  CONFIG_TYPE_MINI_PROGRAM = 18,
19
19
  CONFIG_TYPE_FINANCE_COUPON = 22,
20
20
  CONFIG_TYPE_CATEGORY_PAGE = 25,
@@ -1 +1 @@
1
- import global from '../common'
2
1
  const pageParamStr = typeof pageParam === 'object' ? JSON.stringify(pageParam) : pageParam
3
2
 
4
3
  jdJumpToTabAllProductInner(shopId, venderId, logEventInfo = {}){
5
4
  this.jdJumpToTabAllProduct(shopId, venderId, logEventInfo)
6
5
  }
7
6
  const getJsonParam = etModelInfo && logBaseInfo ? logBaseInfo : Object.assign({},{
8
7
  shopid: global.info.queryInfo?.shopId,
9
8
  },jsonParam)
10
9
  jsonParam: JSON.stringify(getJsonParam),
10
+ import global from '../common'
11
11
  objectToUrlEncode,
12
12
  parseQueryUrlString,
13
13
  filterUrlQueryData,
14
14
  routerInfo: {
15
15
  params: {},
16
16
  },
17
17
  nativeEvent: null,
18
18
  jumpConfig: {
19
19
  venderId: null,
20
20
  shopId: null,
21
21
  sourceValue: '',
22
22
  sourceType: 'M-H5',
23
23
  activityType: 'shopx',
24
24
  moduleId: 'none',
25
25
  entrance: 'none',
26
26
  },
27
27
  logPageParamStr: '',
28
28
  public logPageId: string
29
29
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig
30
30
  getConfig(opt) {
31
31
  return Object.assign(this, {}, defaultConfig, opt)
32
32
  }
33
33
  updateInfo(
34
34
  routerInfo,
35
35
  logPname = LogPnameInfo.HOME,
36
36
  pageId = LogPageIdInfo.APP,
37
37
  ) {
38
38
  this.routerInfo = routerInfo
39
39
  this.logPname = logPname
40
40
  this.jumpConfig = Object.assign(
41
41
  {},
42
42
  this.jumpConfig,
43
43
  filterUrlQueryData(routerInfo?.params || {}),
44
44
  )
45
45
  this.logPageId = pageId
46
46
  }
47
47
 
48
48
  reportInfoPv(
49
49
  pageId = LogPageIdInfo.APP,
50
50
  opt: {
51
51
  pageParam?: any
52
52
  } = {},
53
53
  ) {
54
54
  const { pageParam } = opt
55
55
  const pageParamStr =
56
56
  typeof pageParam === 'object' ? JSON.stringify(pageParam) : pageParam
57
57
  this.logPageParamStr = pageParamStr
58
58
  ? pageParamStr
59
59
  : JSON.stringify(this.jumpConfig)
60
60
  reportPV({
61
61
  pageId,
62
62
  pageParam: this.logPageParamStr,
63
63
  ...opt,
64
64
  })
65
65
  }
66
66
 
67
67
  jdJumpToProduct(skuIds, logEventInfo) {
68
68
  skuIds = skuIds.toString().trim()
69
69
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds
70
70
  this.jdNavigateToNative(
71
71
  `${this.jumpWebUrl.detail}${getSkuId}.html`,
72
72
  logEventInfo,
73
73
  )
74
74
  }
75
75
 
76
76
  jdJumpToRankList(contentId: string | number, rankType = 10, logEventInfo) {
77
77
  const rankUrl = `${this.jumpWebUrl.rank}?contentId=${contentId}&sku=&rankType=${rankType}&fromName=dcpws&hideAd=1`
78
78
  this.jdNavigateToNative(rankUrl, {
79
79
  contentId,
80
80
  ...logEventInfo,
81
81
  })
82
82
  }
83
83
 
84
84
  jdJumpToShopCategory(shopInfo) {
85
85
  this.jdNavigateToNative(
86
86
  `${this.jumpWebUrl.shopHome}?${objectToUrlEncode(
87
87
  this.getShopIdOrVenderIdParams(shopInfo),
88
88
  )}&tabActive=classify`,
89
89
  {
90
90
  ...shopInfo,
91
91
  },
92
92
  )
93
93
  }
94
94
 
95
95
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
96
96
  this.jdNavigateToNative(
97
97
  `${this.jumpWebUrl.mshop}?${objectToUrlEncode(
98
98
  this.getShopIdOrVenderIdParams(shopInfo),
99
99
  )}`,
100
100
  {
101
101
  ...shopInfo,
102
102
  },
103
103
  )
104
104
  }
105
105
 
106
106
  jdJumpToShopLight(shopInfo) {
107
107
  this.jdNavigateToNative(
108
108
  `${this.jumpWebUrl.shopLight}?${objectToUrlEncode(
109
109
  this.getShopIdOrVenderIdParams(shopInfo),
110
110
  )}`,
111
111
  {
112
112
  ...shopInfo,
113
113
  },
114
114
  )
115
115
  }
116
116
 
117
117
  jdJumpToShopMember(shopInfo) {
118
118
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
119
119
  this.jdJumpToWeb(
120
120
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(
121
121
  getShopInfo,
122
122
  )}&venderType=1&channel=406`,
123
123
  shopInfo,
124
124
  )
125
125
  }
126
126
 
127
127
  jdJumpToShopMemberCard(shopInfo) {
128
128
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
129
129
  this.jdJumpToWeb(
130
130
  `${this.jumpWebUrl.shopMember}?${objectToUrlEncode(getShopInfo)}`,
131
131
  shopInfo,
132
132
  )
133
133
  }
134
134
 
135
135
  jdJumpToTotalPromotion(shopInfo) {
136
136
  const { url, logEventInfo } = shopInfo
137
137
  if (this.isOpenJdAppUrl(url)) {
138
138
  const getOpenAppParams: any = this.jdOpenAppParams(url)
139
139
  if (getOpenAppParams) {
140
140
  if (getOpenAppParams?.activityId) {
141
141
  this.jdJumpToWeb(
142
142
  `${this.jumpWebUrl.totalPromotion}?activity_id=${getOpenAppParams?.activityId}`,
143
143
  shopInfo,
144
144
  )
145
145
  }
146
146
  }
147
147
  } else {
148
148
  this.jdJumpToWeb(url, logEventInfo)
149
149
  }
150
150
  }
151
151
 
152
152
  jdJumpToDongDongChat(paramInfo) {
153
153
  const { venderId = '1', entry = 'm_shop', ...otherInfo } = paramInfo
154
154
  const dongdongUrl = `${this.jumpWebUrl.dongDongChat}?venderId=${venderId}&entry=${entry}&sceneval=2`
155
155
  this.jdJumpToWeb(dongdongUrl, otherInfo)
156
156
  }
157
157
 
158
158
  jdJumpToShopDetail(shopInfo) {
159
159
  const getShopInfo = this.getShopIdOrVenderIdParams(shopInfo)
160
160
  this.jdJumpToWeb(
161
161
  `${this.jumpWebUrl.shopIntroduce}?${objectToUrlEncode(getShopInfo)}`,
162
162
  shopInfo,
163
163
  )
164
164
  }
165
165
 
166
166
  jdJumpToShopSearch(shopInfo) {
167
167
  const { shopId, categoryId, keyword, pageId, description, shopName } =
168
168
  shopInfo
169
169
  const cateId = categoryId ? `&cateId=${categoryId}` : ''
170
170
  const addKeyWord = keyword ? `&keyword=${keyword}` : ''
171
171
  const addPageId = pageId ? `&pageId=${pageId}` : ''
172
172
  const searchDes = description ? `&description=${description}` : ''
173
173
  const shopNameDes = shopName ? `&shopName=${shopName}` : ''
174
174
  const searchType = categoryId ? 5 : keyword ? 4 : 3
175
175
  this.jdJumpToWeb(
176
176
  `${this.jumpWebUrl.shopSearch}?shopId=${shopId}&searchType=${searchType}${cateId}${addKeyWord}${addPageId}${searchDes}${shopNameDes}`,
177
177
  shopInfo,
178
178
  )
179
179
  }
180
180
 
181
181
  jdJumpToWeb(
182
182
  url,
183
183
  logEventInfo,
184
184
  successBack?: Function | undefined,
185
185
  failBack?: Function | undefined,
186
186
  ) {
187
187
  this.jdNavigateToNative(
188
188
  url,
189
189
  {
190
190
  ...logEventInfo,
191
191
  },
192
192
  successBack,
193
193
  failBack,
194
194
  )
195
195
  }
196
196
 
197
197
  jdJumpToWebInner(url, logEventInfo) {
198
198
  this.jdJumpToWeb(url, logEventInfo)
199
199
  }
200
200
 
201
201
  jdJumpToLive(liveInfo, logEventInfo = {}) {
202
202
  if (liveInfo?.liveId) {
203
203
  this.jdJumpToWeb(
204
204
  `${this.jumpWebUrl.mLive}/${liveInfo?.liveId}?origin=30`,
205
205
  logEventInfo,
206
206
  )
207
207
  }
208
208
  }
209
209
 
210
210
  jdJumpToShopActivity(shopInfo) {
211
211
  const { configDataValue, logEventInfo, projectId } = shopInfo
212
212
  if (projectId && configDataValue) {
213
213
  this.jdJumpToWeb(
214
214
  `${this.jumpWebUrl.shopSecondActivity}${configDataValue.data}.html`,
215
215
  logEventInfo,
216
216
  )
217
217
  }
218
218
  }
219
219
 
220
220
  jdJumpToActivityPlace(spUrl, logEventInfo) {
221
221
  this.jdNavigateToNative(spUrl, logEventInfo)
222
222
  }
223
223
 
224
224
  jdJumpConfigUrl(detail, logEventInfo = {}) {
225
225
  const { configDataType, configDataValue } = detail
226
226
  console.log(
227
227
  'jdJumpConfigUrl web.base configDataType:',
228
228
  configDataType,
229
229
  configDataValue,
230
230
  )
231
231
  switch (configDataType) {
232
232
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
233
233
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo)
234
234
  break
235
235
  case LinkConfigType.CONFIG_TYPE_COUPON_LIST:
236
236
  this.jdJumpToWeb(
237
237
  `${this.jumpWebUrl.shopCoupon}?couponType=1&shopId=${global.info.queryInfo.shopId}&venderId=${global.info.queryInfo.venderId}`,
238
238
  {},
239
239
  )
240
240
  break
241
241
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
242
242
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
243
243
  const getShopSearchParams = this.jdOpenAppParams(
244
244
  configDataValue.clickUrl,
245
245
  )
246
246
  getShopSearchParams &&
247
247
  this.jdJumpToShopSearch(
248
248
  Object.assign({}, getShopSearchParams, {
249
249
  logEventInfo,
250
250
  }),
251
251
  )
252
252
  } else {
253
253
  this.jdJumpToShopSearch(
254
254
  configDataValue['cid']
255
255
  ? Object.assign(
256
256
  {},
257
257
  {
258
258
  shopId: global.info.queryInfo.shopId,
259
259
  categoryId: configDataValue.cid,
260
260
  ...configDataValue,
261
261
  logEventInfo,
262
262
  },
263
263
  )
264
264
  : {
265
265
  shopId: global.info.queryInfo.shopId,
266
266
  logEventInfo,
267
267
  },
268
268
  )
269
269
  }
270
270
  break
271
271
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
272
272
  this.jdJumpToShopCategory({
273
273
  ...configDataValue,
274
274
  logEventInfo,
275
275
  })
276
276
  break
277
277
  case LinkConfigType.CONFIG_TYPE_MEMBER:
278
278
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
279
279
  const getShopMemberParams = this.jdOpenAppParams(
280
280
  configDataValue.clickUrl,
281
281
  )
282
282
  getShopMemberParams &&
283
283
  this.jdJumpToShopMember(
284
284
  Object.assign({}, getShopMemberParams, {
285
285
  logEventInfo,
286
286
  }),
287
287
  )
288
288
  } else {
289
289
  this.jdJumpToShopMember({
290
290
  shopId: global.info.queryInfo.shopId,
291
291
  venderId: configDataValue.shopDetail,
292
292
  logEventInfo,
293
293
  })
294
294
  }
295
295
  break
296
296
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
297
297
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
298
298
  const getShopActivityParams = this.jdOpenAppParams(
299
299
  configDataValue.clickUrl,
300
300
  )
301
301
  if (
302
302
  getShopActivityParams &&
303
303
  getShopActivityParams['des'] == 'jshopActivity'
304
304
  ) {
305
305
  this.jdJumpToShopActivity({
306
306
  projectId: configDataValue['projectId'],
307
307
  configDataValue,
308
308
  logEventInfo,
309
309
  })
310
310
  }
311
311
  } else if (configDataValue['projectId']) {
312
312
  this.jdJumpToShopActivity({
313
313
  projectId: configDataValue['projectId'],
314
314
  configDataValue,
315
315
  logEventInfo,
316
316
  })
317
317
  }
318
318
  break
319
319
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
320
320
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON:
321
321
  const _url = configDataValue.linkUrl
322
322
  const isProductM = /item\.m\.jd\.com/.test(_url)
323
323
  const isProductPC = /item\.jd\.com/.test(_url)
324
324
  if (
325
325
  _url.indexOf('to=') === -1 &&
326
326
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
327
327
  ) {
328
328
  const _shopId = _url.match(/\d+/g)[0]
329
329
  this.jdJumpToShopHome({
330
330
  shopId: `${_shopId}`,
331
331
  logEventInfo,
332
332
  })
333
333
  } else if (this.isOpenJdAppUrl(_url)) {
334
334
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
335
335
  if (getOpenAppParams) {
336
336
  if (getOpenAppParams.jumpTab == 'allProduct') {
337
337
  this.jdJumpToTabAllProduct(
338
338
  global.info.queryInfo.shopId,
339
339
  global.info.queryInfo.venderId,
340
340
  )
341
341
  } else if (
342
342
  getOpenAppParams.des == 'productList' &&
343
343
  getOpenAppParams.from == 'couponBatch'
344
344
  ) {
345
345
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
346
346
  } else if (getOpenAppParams.des == 'vapp') {
347
347
  this.jdJumpToWeb(
348
348
  `https:
349
349
  getOpenAppParams.category
350
350
  }&des=${getOpenAppParams.des}&vapptype=${
351
351
  getOpenAppParams.vapptype
352
352
  }&appId=${getOpenAppParams.appId}&path=${
353
353
  getOpenAppParams.path
354
354
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
355
355
  logEventInfo,
356
356
  )
357
357
  } else {
358
358
  this.jdNavigateToNative(
359
359
  '',
360
360
  Object.assign({}, getOpenAppParams, {
361
361
  logEventInfo,
362
362
  }),
363
363
  )
364
364
  }
365
365
  }
366
366
  } else if (isProductM || isProductPC) {
367
367
  const skuid = _url.match(/\d+/g)[0]
368
368
  if (skuid) {
369
369
  this.jdJumpToProduct(skuid, logEventInfo)
370
370
  }
371
371
  } else {
372
372
  this.jdJumpToWeb(_url, logEventInfo)
373
373
  }
374
374
  break
375
375
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
376
376
  this.jdJumpToShopDetail({
377
377
  venderId: global.info.queryInfo.venderId,
378
378
  shopId: global.info.queryInfo.shopId,
379
379
  logEventInfo,
380
380
  })
381
381
  break
382
382
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
383
383
  this.jdJumpToShopHome({
384
384
  ...configDataValue,
385
385
  logEventInfo,
386
386
  })
387
387
  break
388
388
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
389
389
  break
390
390
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
391
391
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
392
392
  const getShoppingGuideParams = this.jdOpenAppParams(
393
393
  configDataValue.clickUrl,
394
394
  )
395
395
  getShoppingGuideParams &&
396
396
  this.jdJumpToShopActivity(
397
397
  Object.assign({}, getShoppingGuideParams, {
398
398
  logEventInfo,
399
399
  }),
400
400
  )
401
401
  }
402
402
  break
403
403
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
404
404
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
405
405
  const search = linkUrl.match(/\?.+/)
406
406
  if (search) {
407
407
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
408
408
  parseQueryUrlString(linkUrl)
409
409
  try {
410
410
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
411
411
  } catch (e) {
412
412
  console.warn('解析小程序 param 错误:', miniQueryData.param)
413
413
  }
414
414
  this.jdJumpToMiniProgram(miniQueryData)
415
415
  } else {
416
416
  console.warn('小程序地址错误:', linkUrl)
417
417
  }
418
418
  break
419
419
  }
420
420
  default:
421
421
  }
422
422
  }
423
423
 
424
424
  jdJumpToTabAllProduct(shopId, venderId, logEventInfo = {}) {
425
425
  this.jdJumpToWeb(
426
426
  `${this.jumpWebUrl.shopHome}?shopId=${shopId}&venderId=${venderId}&tabActive=home-product`,
427
427
  logEventInfo,
428
428
  )
429
429
  }
430
430
 
431
431
  jdJumpToTabAllProductInner(shopId, venderId, logEventInfo = {}) {
432
432
  this.jdJumpToTabAllProduct(shopId, venderId, logEventInfo)
433
433
  }
434
434
 
435
435
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
436
436
  this.jdJumpToWeb(
437
437
  `${this.jumpWebUrl.couponSearch}?couponbatch=${couponId}&sceneval=2`,
438
438
  logEventInfo,
439
439
  )
440
440
  }
441
441
 
442
442
  jdNavigateToNative(
443
443
  url: string,
444
444
  params: {
445
445
  logEventInfo?: object
446
446
  } = {},
447
447
  successBack?: Function | undefined,
448
448
  failBack?: Function | undefined,
449
449
  ) {
450
450
  const { logEventInfo } = params
451
451
  const getEparam = logEventInfo || params
452
452
  console.log(`url:::::::${url}`)
453
453
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
454
454
  this.clickEventLog(getEparam)
455
455
  .then(() => {
456
456
  typeof successBack == 'function'
457
457
  ? successBack(url)
458
458
  : (window.location.href = url)
459
459
  })
460
460
  .catch(() => {
461
461
  typeof failBack == 'function' && failBack(url)
462
462
  })
463
463
  }
464
464
 
465
465
  clickEventLog(
466
466
  opts: JumpEventReportInterFace.OptEventLogParams = {},
467
467
  reportKey = 'click',
468
468
  ) {
469
469
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts
470
470
  ;/TerminatorNew_/.test(`${eventId}`) &&
471
471
  console.log(`当前h5的楼层模块eventId为====${eventId}`)
472
472
  if (eventId && jsonParam) {
473
473
  const { etModelInfo, logBaseInfo } = jsonParam
474
474
  const getJsonParam =
475
475
  etModelInfo && logBaseInfo
476
476
  ? logBaseInfo
477
477
  : Object.assign(
478
478
  {},
479
479
  {
480
480
  shopid: global.info.queryInfo?.shopId,
481
481
  },
482
482
  jsonParam,
483
483
  )
484
484
  const webLogParams = {
485
485
  eid: eventId,
486
486
  elevel: eventLevel,
487
487
  jsonParam: JSON.stringify(getJsonParam),
488
488
  etModel: JSON.stringify(etModelInfo || {}),
489
489
  pageId: this.logPageId,
490
490
  pageParam: this.logPageParamStr,
491
491
  ...otherParams,
492
492
  }
493
493
  return /click|exposure/.test(reportKey)
494
494
  ? reportClick(webLogParams)
495
495
  : reportToCart(opts)
496
496
  } else {
497
497
  console.log('暂无埋点参数eventId和jsonParam')
498
498
  return Promise.resolve(false)
499
499
  }
500
500
  }
501
501
 
502
502
  exposureEventLog(opts) {
503
503
  return global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE
504
504
  ? this.clickEventLog(
505
505
  {
506
506
  ...opts,
507
507
  exposureState: true,
508
508
  },
509
509
  'exposure',
510
510
  )
511
511
  : Promise.resolve(false)
512
512
  }