@conecli/cone-render 0.10.1-shop3.1 → 0.10.1-shop3.100

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/README.md +1 -1
  2. package/dist/api/index.ts +1 -1
  3. package/dist/common/accessibility.h5.ts +1 -0
  4. package/dist/common/accessibility.ts +1 -0
  5. package/dist/common/const.ts +1 -1
  6. package/dist/common/index.h5.ts +1 -1
  7. package/dist/common/index.jd.ts +1 -1
  8. package/dist/common/index.ts +1 -1
  9. package/dist/common/index.weapp.ts +1 -1
  10. package/dist/common/jdplayerSdk.weapp.tsx +1 -0
  11. package/dist/common/jssdk.ts +1 -1
  12. package/dist/common/jssdk.weapp.ts +1 -0
  13. package/dist/common/pageType.ts +1 -1
  14. package/dist/common/token/index.h5.ts +1 -1
  15. package/dist/common/token/token.jd.ts +1 -1
  16. package/dist/common/wxappApi.ascf.ts +1 -0
  17. package/dist/common/wxappApi.ts +1 -1
  18. package/dist/components/ErrorBoundary.tsx +1 -1
  19. package/dist/components/base/CommonFloorHead/index.module.scss +126 -111
  20. package/dist/components/base/CommonFloorHead/index.tsx +1 -1
  21. package/dist/components/base/CountDown/index.module.scss +49 -44
  22. package/dist/components/base/CountDown/index.tsx +1 -1
  23. package/dist/components/base/CustomScrollView/index-back.tsx +1 -0
  24. package/dist/components/base/CustomScrollView/index.tsx +1 -1
  25. package/dist/components/base/CustomVideo/index.tsx +1 -1
  26. package/dist/components/base/CustomVideo/index.weapp.tsx +1 -0
  27. package/dist/components/base/Dialog/index.module.scss +11 -0
  28. package/dist/components/base/ExposureSmart/index.h5.module.scss +12 -2
  29. package/dist/components/base/ExposureSmart/index.h5.tsx +1 -1
  30. package/dist/components/base/ExposureSmart/index.tsx +1 -1
  31. package/dist/components/base/ExposureSmart/reporter.tsx +1 -1
  32. package/dist/components/base/InOrOutViewObserver/index.weapp.tsx +1 -0
  33. package/dist/components/base/InViewRender/index.tsx +1 -1
  34. package/dist/components/base/ItemViewExposureSmart/index.module.scss +2 -2
  35. package/dist/components/base/ItemViewExposureSmart/index.tsx +1 -1
  36. package/dist/components/base/LazyLayoutLoad/index.tsx +1 -1
  37. package/dist/components/base/LazyLoadImage/index.h5.tsx +1 -1
  38. package/dist/components/base/MobileCommonHeader/index.tsx +1 -1
  39. package/dist/components/base/MobileCommonHeader/index.weapp.tsx +1 -0
  40. package/dist/components/base/NetworkDataError/const.ts +1 -1
  41. package/dist/components/base/NetworkDataError/index.module.scss +118 -72
  42. package/dist/components/base/NetworkDataError/index.tsx +1 -1
  43. package/dist/components/base/Price/Base/index.module.scss +12 -0
  44. package/dist/components/base/Price/Base/index.tsx +1 -1
  45. package/dist/components/base/Price/Double/index.module.scss +33 -1
  46. package/dist/components/base/Price/Double/index.tsx +1 -1
  47. package/dist/components/base/ShopLeGaoTag/index.h5.module.scss +35 -0
  48. package/dist/components/base/ShopLeGaoTag/index.h5.tsx +1 -0
  49. package/dist/components/base/ShopLeGaoTag/index.module.scss +33 -0
  50. package/dist/components/base/ShopLeGaoTag/index.tsx +1 -0
  51. package/dist/components/debug/DebugLayout/index.module.scss +2 -2
  52. package/dist/components/floorItem.tsx +1 -1
  53. package/dist/components/floorItem.weapp.tsx +1 -1
  54. package/dist/components/isv/Floor/index.tsx +1 -1
  55. package/dist/components/remoteFloorItem.tsx +1 -1
  56. package/dist/config/env.ts +1 -1
  57. package/dist/interface/common.ts +1 -1
  58. package/dist/interface/component.ts +1 -1
  59. package/dist/interface/jumpEventReport.ts +1 -1
  60. package/dist/interface/service.ts +1 -1
  61. package/dist/jumpEventReport/base.ts +1 -1
  62. package/dist/jumpEventReport/const.ts +1 -1
  63. package/dist/jumpEventReport/createReportFloorData.ts +1 -1
  64. package/dist/jumpEventReport/index.h5.ts +1 -1
  65. package/dist/jumpEventReport/index.jd.ts +1 -1
  66. package/dist/jumpEventReport/index.weapp.ts +1 -1
  67. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  68. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  69. package/dist/jumpEventReport/logEventConfig.h5.ts +1 -0
  70. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  71. package/dist/jumpEventReport/web/report.ts +1 -1
  72. package/dist/jumpEventReport/web.base.ts +1 -1
  73. package/dist/jumpEventReport/web.jd.ts +1 -1
  74. package/dist/jumpEventReport/web.jdb.ts +1 -1
  75. package/dist/jumpEventReport/web.jdjch.ts +1 -1
  76. package/dist/jumpEventReport/web.jxwxapp.ts +1 -1
  77. package/dist/jumpEventReport/web.pc.ts +1 -1
  78. package/dist/jumpEventReport/web.tjapp.ts +1 -1
  79. package/dist/jumpEventReport/web.tjm.ts +1 -1
  80. package/dist/jumpEventReport/web.wxapp.ts +1 -1
  81. package/dist/language/en_US.json +395 -0
  82. package/dist/language/zh_CN.json +395 -0
  83. package/dist/language/zh_HK.json +395 -0
  84. package/dist/libs/openShopBridge.js +161 -0
  85. package/dist/libs/openShopBridge.min.js +1 -0
  86. package/dist/libs/taroAppReport.js +2 -2
  87. package/dist/modules/ContainerFloorList/index.h5.module.scss +80 -53
  88. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  89. package/dist/modules/ContainerFloorList/index.tsx +1 -1
  90. package/dist/modules/DecorateContainerFloorList/index.weapp.tsx +1 -0
  91. package/dist/open/api/environment.ts +1 -1
  92. package/dist/open/api/shopMember.ts +1 -1
  93. package/dist/open/api/shopMember.weapp.ts +1 -0
  94. package/dist/open/api/track.ts +1 -1
  95. package/dist/open/api/util.ts +1 -1
  96. package/dist/open/components/index.ts +1 -1
  97. package/dist/open/index.ts +1 -1
  98. package/dist/sass/app.h5.scss +278 -224
  99. package/dist/sass/base.scss +150 -145
  100. package/dist/service/fetchGateway.ts +1 -1
  101. package/dist/service/fetchGateway.weapp.ts +1 -0
  102. package/dist/service/fetchJsonp.weapp.ts +1 -0
  103. package/dist/service/http/colorSign.ts +1 -1
  104. package/dist/service/http/const.ts +1 -1
  105. package/dist/service/http/h5Http.ts +1 -1
  106. package/dist/service/http/httpInterceptors.weapp.ts +1 -0
  107. package/dist/service/requestServer.h5.ts +1 -1
  108. package/dist/service/requestServer.ts +1 -1
  109. package/dist/service/requestServer.weapp.ts +1 -0
  110. package/dist/utils/connectNativeJsBridge.ts +1 -1
  111. package/dist/utils/h5Utils.ts +1 -1
  112. package/dist/utils/harmonyCallRouter.h5.ts +1 -0
  113. package/dist/utils/harmonyCallRouter.ts +0 -0
  114. package/dist/utils/index.h5.ts +1 -1
  115. package/dist/utils/index.ts +1 -1
  116. package/dist/utils/index.weapp.ts +1 -1
  117. package/dist/utils/jumpExtMapUtil.h5.ts +1 -0
  118. package/dist/utils/jumpExtMapUtil.ts +1 -0
  119. package/dist/utils/jumpExtMapUtil.weapp.ts +1 -0
  120. package/dist/utils/log.ts +1 -0
  121. package/dist/utils/sColor.ts +1 -0
  122. package/dist/utils/sColor.weapp.ts +1 -0
  123. package/dist/utils/utils.ts +1 -1
  124. package/dist/wxapp/common/address_api/address_api_v2.js +1 -0
  125. package/dist/wxapp/common/user_info.js +1 -1
  126. package/package.json +162 -141
  127. package/dist/jumpEventReport/web/wqshop.report.ts +0 -1
  128. package/dist/utils/memberFormatUtils.js +0 -1
  129. package/dist/utils/priceUtils.js +0 -1
@@ -1 +1 @@
1
- import Taro from '@tarojs/taro'
2
1
  SECTION_HOME_TAB_TYPE,
3
2
  SECTION_HOME_TAB_NAME_TYPE,
4
3
  SHOP_MENU_ID_NAME,
5
4
  SHOP_MENU_ID_TYPE,
6
5
 
7
6
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
8
7
  console.log('[降级H5] jdJumpToShopHome index.weapp')
9
8
  const getInfo = Object.assign(
10
9
  {},
11
10
  {
12
11
  shopId: global.info.queryInfo.shopId,
13
12
  venderId: global.info.queryInfo.venderId,
14
13
  },
15
14
  shopInfo,
16
15
  )
17
16
  this.jdJumpToShopBase(getInfo)
18
17
  }
19
18
 
20
19
  jdJumpToShopCategory(shopId, venderId, logEventInfo = {}) {
21
20
  console.log('[降级H5] jdJumpToShopCategory index.weapp')
22
21
  this.jdJumpToAppMiniProgram(this.jumpMiniPath.shopx, {
23
22
  shopId,
24
23
  venderId,
25
24
  tabActive: SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.CLASSIFY],
26
25
  logEventInfo,
27
26
  })
28
27
  }
29
28
 
30
29
  jdJumpToShopBase(shopInfo) {
31
30
  console.log('[降级H5] jdJumpToShopBase index.weapp')
32
31
  this.jdNavigateToNative(
33
32
  `${this.jumpMiniPath.shopx}?${objectToUrlEncode(
34
33
  this.getShopIdOrVenderIdParams(shopInfo),
35
34
  )}`,
36
35
  {
37
36
  ...shopInfo,
38
37
  },
39
38
  )
40
39
  }
41
40
 
42
41
  jdJumpToShopLight(shopInfo) {
43
42
  this.jdNavigateToNative(
44
43
  `${this.jumpMiniPath.shopLight}?${objectToUrlEncode(
45
44
  this.getShopIdOrVenderIdParams(shopInfo),
46
45
  )}`,
47
46
  {
48
47
  ...shopInfo,
49
48
  },
50
49
  )
51
50
  }
52
51
 
53
52
  jdJumpToProduct(skuIds, logEventInfo) {
54
53
  skuIds = skuIds.toString().trim()
55
54
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds
56
55
  console.log('京购商详页跳转:', this.jumpMiniPath.detail)
57
56
  this.jdNavigateToNative(
58
57
  `${this.jumpMiniPath.detail}?sku=${getSkuId}`,
59
58
  logEventInfo,
60
59
  )
61
60
  }
62
61
 
63
62
  jdJumpToCoupon(
64
63
  nowUrlParams: JumpEventReportInterFace.CouponUrlParams,
65
64
  logInfo,
66
65
  ) {
67
66
  if (
68
67
  nowUrlParams.batchId &&
69
68
  (nowUrlParams.bindType === 1 || nowUrlParams.bindType === 3)
70
69
  ) {
71
70
  const couponUrlParams = {
72
71
  batch: nowUrlParams.batchId,
73
72
  kind: nowUrlParams.bindType,
74
73
  startTime: nowUrlParams.startTime,
75
74
  endTime: nowUrlParams.endTime,
76
75
  quangoufrom: 6,
77
76
  }
78
77
  this.jdNavigateToNative(
79
78
  `${this.jumpMiniPath.searchCoupon}?${objectToUrlEncode(
80
79
  couponUrlParams,
81
80
  )}`,
82
81
  {
83
82
  ...logInfo,
84
83
  },
85
84
  )
86
85
  } else if (
87
86
  nowUrlParams.batchId &&
88
87
  nowUrlParams.bindType !== 1 &&
89
88
  nowUrlParams.bindType !== 3
90
89
  ) {
91
90
  const couponUrlParams = {
92
91
  ...this.getShopIdOrVenderIdParams(global.info.queryInfo),
93
92
  sceneId: 1002,
94
93
  }
95
94
  this.jdNavigateToNative(
96
95
  `${this.jumpMiniPath.shop}?${objectToUrlEncode(couponUrlParams)}`,
97
96
  {
98
97
  ...logInfo,
99
98
  },
100
99
  )
101
100
  }
102
101
  }
103
102
 
104
103
  jdJumpToJTCoupon(
105
104
  nowUrlParams: JumpEventReportInterFace.CouponUrlParams,
106
105
  logInfo,
107
106
  ) {
108
107
  const couponUrlParams = {
109
108
  batch: nowUrlParams.batchId,
110
109
  kind: nowUrlParams.bindType,
111
110
  startTime: nowUrlParams.startTime,
112
111
  endTime: nowUrlParams.endTime,
113
112
  quangoufrom: 6,
114
113
  }
115
114
  this.jdNavigateToNative(
116
115
  `${this.jumpMiniPath.searchCoupon}?${objectToUrlEncode(couponUrlParams)}`,
117
116
  {
118
117
  ...logInfo,
119
118
  },
120
119
  )
121
120
  }
122
121
 
123
122
  jdJumpToRankList(contentId: string | number, rankType = 10, logEventInfo) {
124
123
  const rankUrl = `${this.jumpWebUrl.rank}?contentId=${contentId}&sku=&rankType=${rankType}&fromName=dcpws&hideAd=1`
125
124
  this.jdJumpToWeb(rankUrl, {
126
125
  contentId,
127
126
  ...logEventInfo,
128
127
  })
129
128
  }
130
129
 
131
130
  jdJumpToWeb(spUrl, logEventInfo) {
132
131
  this.jdNavigateToNative(
133
132
  `${this.jumpMiniPath.h5}?encode_url=${encodeURIComponent(spUrl)}`,
134
133
  {
135
134
  ...logEventInfo,
136
135
  },
137
136
  )
138
137
  }
139
138
 
140
139
  weappRedirectToWeb(
141
140
  url: string,
142
141
  logEventInfo: JumpEventReportInterFace.OptEventLogParams = {},
143
142
  otherParam = {}
144
143
  ) {
145
144
  let paramStr = ''
146
145
  const getOtherParamKeysLength = Object.keys(otherParam).length
147
146
  if(getOtherParamKeysLength > 0){
148
147
  Object.keys(otherParam).forEach((key) => {
149
148
  const getValue = `${otherParam[key]}`
150
149
  .replace(/undefined/, '')
151
150
  .replace(/null/, '')
152
151
  paramStr += `${key}=${getValue}&`
153
152
  })
154
153
  }
155
154
  const encodeUrl = `/pages/h5/index?${paramStr}encode_url=${encodeURIComponent(url)}`
156
155
  try {
157
156
  this.clickEventLog(logEventInfo)
158
157
  } catch (e) {
159
158
  console.log(e)
160
159
  }
161
160
  setTimeout(() => {
162
161
  Taro.redirectTo({ url: encodeUrl })
163
162
  .then((res) => {
164
163
  console.log('weappRedirectToWeb.success', res)
165
164
  })
166
165
  .catch((err) => {
167
166
  console.log('weappRedirectToWeb.fail', err)
168
167
  })
169
168
  }, 200)
170
169
  }
171
170
 
172
171
  jdJumpToLive(liveInfo, logEventInfo = {}) {
173
172
  if (liveInfo?.liveId) {
174
173
  this.jdJumpToWeb(
175
174
  `${this.jumpWebUrl.mLive}/${liveInfo?.liveId}?origin=0&appid=jdgw`,
176
175
  logEventInfo,
177
176
  )
178
177
  }
179
178
  }
180
179
 
181
180
  jdJumpToActivityPlace(spUrl, logEventInfo) {
182
181
  this.jdJumpToWeb(spUrl, logEventInfo)
183
182
  }
184
183
 
185
184
  jdJumpToShopFans(fansParams, logEventInfo) {
186
185
  this.jdNavigateToNative(
187
186
  `${this.jumpMiniPath.shopFans}?${objectToUrlEncode(fansParams)}`,
188
187
  {
189
188
  ...logEventInfo,
190
189
  },
191
190
  )
192
191
  }
193
192
 
194
193
  jdJumpToShopDetail(shopInfo) {
195
194
  const getInfo = Object.assign(
196
195
  {},
197
196
  {
198
197
  shopId: global.info.queryInfo.shopId,
199
198
  venderId: global.info.queryInfo.venderId,
200
199
  },
201
200
  shopInfo,
202
201
  )
203
202
  const getShopInfo = this.getShopIdOrVenderIdParams(getInfo)
204
203
  this.jdJumpToWeb(
205
204
  `${this.jumpWebUrl.shopIntroduce}?${objectToUrlEncode(getShopInfo)}`,
206
205
  getInfo,
207
206
  )
208
207
  }
209
208
 
210
209
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
211
210
  this.jdNavigateToNative(
212
211
  `${this.jumpMiniPath.couponSearch}?batch=${couponId}`,
213
212
  logEventInfo,
214
213
  )
215
214
  }
216
215
 
217
216
  jdJumpToShopActivity(shopInfo) {
218
217
  const { configDataValue, logEventInfo, projectId } = shopInfo
219
218
  if (projectId && configDataValue) {
220
219
  this.jdJumpToWeb(
221
220
  `${this.jumpWebUrl.shopSecondActivity}/${configDataValue.data}.html`,
222
221
  logEventInfo,
223
222
  )
224
223
  }
225
224
  }
226
225
 
227
226
  _checkUrlIsProductAndGetSkuInfo(url) {
228
227
  let skuId = null
229
228
  if (/\/\/item\.jd\.com\/(\d+)\.html/.test(url)) {
230
229
  const getSkuRes = url.match(/\/\/item\.jd\.com\/(\d+)\.html/)
231
230
  if (getSkuRes && getSkuRes[1]) {
232
231
  skuId = getSkuRes[1]
233
232
  }
234
233
  } else if (/\/\/item\.m\.jd.com\/product\/(\d+)\.html/.test(url)) {
235
234
  const getSkuRes2 = url.match(/\/\/item\.m\.jd\.com\/product\/(\d+)\.html/)
236
235
  if (getSkuRes2 && getSkuRes2[1]) {
237
236
  skuId = getSkuRes2[1]
238
237
  }
239
238
  }
240
239
  return skuId
241
240
  }
242
241
 
243
242
  jdJumpConfigUrl(detail, logEventInfo = {}) {
244
243
  const { configDataType, configDataValue } = detail
245
244
  switch (configDataType) {
246
245
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
247
246
  if (logEventInfo?.jsonParam?.logBaseInfo?.mInfo) {
248
247
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid = configDataValue.skuIds
249
248
  }
250
249
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo)
251
250
  break
252
251
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
253
252
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
254
253
  const getShopSearchParams = this.jdOpenAppParams(
255
254
  configDataValue.clickUrl,
256
255
  )
257
256
  getShopSearchParams &&
258
257
  this.jdJumpToShopSearch(
259
258
  Object.assign({}, getShopSearchParams, {
260
259
  logEventInfo,
261
260
  }),
262
261
  )
263
262
  } else {
264
263
  this.jdJumpToShopSearch(
265
264
  configDataValue['cid']
266
265
  ? Object.assign(
267
266
  {},
268
267
  {
269
268
  shopId: global.info.queryInfo.shopId,
270
269
  categoryId: configDataValue.cid,
271
270
  ...configDataValue,
272
271
  logEventInfo,
273
272
  },
274
273
  )
275
274
  : {
276
275
  shopId: global.info.queryInfo.shopId,
277
276
  logEventInfo,
278
277
  },
279
278
  )
280
279
  }
281
280
  break
282
281
  case LinkConfigType.CONFIG_TYPE_MEMBER:
283
282
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
284
283
  const getShopMemberParams = this.jdOpenAppParams(
285
284
  configDataValue.clickUrl,
286
285
  )
287
286
  getShopMemberParams &&
288
287
  this.jdJumpToShopMember(
289
288
  Object.assign({}, getShopMemberParams, {
290
289
  logEventInfo,
291
290
  }),
292
291
  )
293
292
  } else {
294
293
  this.jdJumpToShopMember({
295
294
  shopId: global.info.queryInfo.shopId,
296
295
  venderId: configDataValue.shopDetail,
297
296
  logEventInfo,
298
297
  })
299
298
  }
300
299
  break
301
300
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
302
301
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
303
302
  const getShopActivityParams = this.jdOpenAppParams(
304
303
  configDataValue.clickUrl,
305
304
  )
306
305
  if (
307
306
  getShopActivityParams &&
308
307
  getShopActivityParams['des'] == 'jshopActivity'
309
308
  ) {
310
309
  this.jdJumpToShopActivity({
311
310
  projectId: configDataValue['projectId'],
312
311
  configDataValue,
313
312
  logEventInfo,
314
313
  })
315
314
  }
316
315
  } else if (configDataValue['projectId']) {
317
316
  this.jdJumpToShopActivity({
318
317
  projectId: configDataValue['projectId'],
319
318
  configDataValue,
320
319
  logEventInfo,
321
320
  })
322
321
  }
323
322
  break
324
323
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
325
324
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON: {
326
325
  const _url = configDataValue.linkUrl
327
326
  if (
328
327
  _url.indexOf('to=') === -1 &&
329
328
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
330
329
  ) {
331
330
  const _shopId = _url.match(/\d+/g)[0]
332
331
  this.jdJumpToShopHome({
333
332
  shopId: `${_shopId}`,
334
333
  logEventInfo,
335
334
  })
336
335
  } else if (this.isOpenJdAppUrl(_url)) {
337
336
  const getOpenAppParams: any = this.jdOpenAppParams(_url)
338
337
  if (getOpenAppParams) {
339
338
  if (getOpenAppParams.jumpTab == 'allProduct') {
340
339
  this.jdJumpToTabAllProduct(
341
340
  global.info.queryInfo.shopId,
342
341
  global.info.queryInfo.venderId,
343
342
  )
344
343
  } else if (
345
344
  getOpenAppParams.des == 'productList' &&
346
345
  getOpenAppParams.from == 'couponBatch'
347
346
  ) {
348
347
  console.log('优惠券跳转至京购优惠券可用商品列表')
349
348
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId)
350
349
  } else if (getOpenAppParams.des == 'vapp') {
351
350
  this.jdJumpToWeb(
352
351
  `https://conecli.com/apps/mpshare/index.html?category=${
353
352
  getOpenAppParams.category
354
353
  }&des=${getOpenAppParams.des}&vapptype=${
355
354
  getOpenAppParams.vapptype
356
355
  }&appId=${getOpenAppParams.appId}&path=${
357
356
  getOpenAppParams.path
358
357
  }&param=${encodeURI(JSON.stringify(getOpenAppParams.param))}`,
359
358
  logEventInfo,
360
359
  )
361
360
  } else {
362
361
  this.jdNavigateToNative(
363
362
  '',
364
363
  Object.assign({}, getOpenAppParams, {
365
364
  logEventInfo,
366
365
  }),
367
366
  )
368
367
  }
369
368
  }
370
369
  } else {
371
370
  const getSkuId = this._checkUrlIsProductAndGetSkuInfo(_url)
372
371
  getSkuId
373
372
  ? this.jdJumpToProduct(getSkuId, logEventInfo)
374
373
  : this.jdJumpToWeb(_url, logEventInfo)
375
374
  }
376
375
  break
377
376
  }
378
377
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
379
378
  this.jdJumpToShopDetail({
380
379
  venderId: global.info.queryInfo.venderId,
381
380
  shopId: global.info.queryInfo.shopId,
382
381
  logEventInfo,
383
382
  })
384
383
  break
385
384
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
386
385
  this.jdJumpToShopHome({
387
386
  ...configDataValue,
388
387
  logEventInfo,
389
388
  })
390
389
  break
391
390
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
392
391
  this.jdJumpToShopCategory(
393
392
  global.info.queryInfo.shopId,
394
393
  global.info.queryInfo.venderId,
395
394
  )
396
395
  break
397
396
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
398
397
  break
399
398
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
400
399
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
401
400
  const getShoppingGuideParams = this.jdOpenAppParams(
402
401
  configDataValue.clickUrl,
403
402
  )
404
403
  getShoppingGuideParams &&
405
404
  this.jdJumpToShopActivity(
406
405
  Object.assign({}, getShoppingGuideParams, {
407
406
  logEventInfo,
408
407
  }),
409
408
  )
410
409
  }
411
410
  break
412
411
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
413
412
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '')
414
413
  const search = linkUrl.match(/\?.+/)
415
414
  if (search) {
416
415
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
417
416
  parseQueryUrlString(linkUrl)
418
417
  try {
419
418
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param)
420
419
  } catch (e) {
421
420
  console.warn('解析小程序 param 错误:', miniQueryData.param)
422
421
  }
423
422
  this.jdJumpToMiniProgram(miniQueryData)
424
423
  } else {
425
424
  console.warn('小程序地址错误:', linkUrl)
426
425
  }
427
426
  break
428
427
  }
429
428
  default:
430
429
  }
431
430
  }
432
431
 
433
432
  jdJumpToTabAllProduct(shopId, venderId, logEventInfo = {}) {
434
433
  console.log('index.weapp.ts - jdJumpToTabAllProduct')
435
434
  if (typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId
436
435
  if (typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId
437
436
  this.jdJumpToAppMiniProgram(this.jumpMiniPath.shopx, {
438
437
  shopId,
439
438
  venderId,
440
439
  tabActive: SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_PRODUCT],
441
440
  logEventInfo,
442
441
  })
443
442
  }
444
443
 
445
444
  jdJumpToTopTabBase(type, shopInfo = {}) {
446
445
  const getInfo = Object.assign(
447
446
  {},
448
447
  {
449
448
  shopId: global.info.queryInfo.shopId,
450
449
  venderId: global.info.queryInfo.venderId,
451
450
  },
452
451
  shopInfo,
453
452
  )
454
453
  console.log('小程序原生跳转 jdJumpToTopTabBase')
455
454
  const { shopId, venderId, ...logEventInfo } = getInfo
456
455
  this.jdJumpToAppMiniProgram(this.jumpMiniPath.shopx, {
457
456
  shopId,
458
457
  venderId,
459
458
  tabActive: type,
460
459
  ...logEventInfo,
461
460
  })
462
461
  }
463
462
 
464
463
  jdJumpToSearch(shopId, suggestWord) {
465
464
  if (typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId
466
465
  this.jdJumpToAppMiniProgram(this.jumpMiniPath.shopSearch, {
467
466
  shopId,
468
467
  })
469
468
  }
470
469
 
471
470
  jdJumpToAppHome(params = {}) {
472
471
  this.jdJumpToAppMiniProgram(this.jumpMiniPath.jingGouHome, params)
473
472
  }
474
473
 
475
474
  jdJumpToThreePlatform(spUrl, logEventInfo) {
476
475
  this.jdJumpToWeb(spUrl, logEventInfo)
477
476
  }
478
477
 
479
478
  jdJumpToMiniProgram({
480
479
  appId,
481
480
  path,
482
481
  param = {},
483
482
  }: JumpEventReportInterFace.LinkMiniParams) {
484
483
  const pageName = param['pageType'] || 'home'
485
484
  path = `pages/${pageName}/index`
486
485
  if (appId === global.info.pageInfo?.appId) {
487
486
  Taro.navigateTo({
488
487
  url: `/${path}?${objectToUrlEncode(param)}`,
489
488
  }).catch((err) => {
490
489
  console.warn('跳转小程序页面错误:', err)
491
490
  })
492
491
  } else {
493
492
  console.log('一个小程序跳转到另一个小程序暂无此业务')
494
493
  }
495
494
  }
496
495
 
497
496
  jdJumpToAppMiniProgram(
498
497
  path: string,
499
498
  param = {},
500
499
  successBack?: Function,
501
500
  failBack?: Function,
502
501
  ) {
503
502
  this.jdNavigateToNative(path, param, successBack, failBack)
504
503
  }
505
504
 
506
505
  jdNavigateToNative(
507
506
  url: string,
508
507
  params: {
509
508
  logEventInfo?: object
510
509
  } = {},
511
510
  successBack?: Function,
512
511
  failBack?: Function,
513
512
  ) {
514
513
  const { logEventInfo, ...otherParams } = params
515
514
  const getEparam = logEventInfo || params
516
515
  console.log('[降级H5] index.weapp jdNavigateToNative params: ', params)
517
516
  console.log('wxmini logEventInfo params: ', logEventInfo)
518
517
  try {
519
518
  this.clickEventLog(getEparam)
520
519
  } catch (e) {
521
520
  console.log(e)
522
521
  }
523
522
  setTimeout(() => {
524
523
  const goToPath = `${url}${
525
524
  otherParams ? '?' + objectToUrlEncode(otherParams) : ''
526
525
  }`
527
526
  console.log('打印跳转地址path', goToPath)
528
527
  if (url === this.jumpMiniPath.jingGouHome) {
529
528
  Taro.switchTab({
530
529
  url: goToPath,
531
530
  })
532
531
  .then((res) => {
533
532
  typeof successBack === 'function' && successBack(res)
534
533
  console.log('navigateToWxapp.success', res)
535
534
  })
536
535
  .catch((err) => {
537
536
  typeof failBack === 'function' && failBack(err)
538
537
  console.log('navigateToWxapp.fail', err)
539
538
  })
540
539
  } else {
541
540
  Taro.navigateTo({
542
541
  url: goToPath,
543
542
  })
544
543
  .then((res) => {
545
544
  typeof successBack === 'function' && successBack(res)
546
545
  console.log('navigateToWxapp.success', res)
547
546
  })
548
547
  .catch((err) => {
549
548
  typeof failBack === 'function' && failBack(err)
550
549
  console.log('navigateToWxapp.fail', err)
551
550
  })
552
551
  }
553
552
  }, 200)
554
553
  }
555
554
 
556
555
  clickEventLog(
557
556
  opts: JumpEventReportInterFace.OptEventLogParams = {},
558
557
  clickKey = 'click',
559
558
  ) {
560
559
  const { eventId, jsonParam, eventLevel = 3, skuId, ...otherParams } = opts
561
560
  if (eventId && jsonParam) {
562
561
  if (/TerminatorNew_/.test(eventId + '')) {
563
562
  console.log('mini eventId==========', eventId)
564
563
  }
565
564
  const { etModelInfo, logBaseInfo } = jsonParam
566
565
  let getJsonParam = {}
567
566
  if (etModelInfo && logBaseInfo) {
568
567
  getJsonParam = logBaseInfo
569
568
  } else {
570
569
  if (Array.isArray(jsonParam)){
571
570
  getJsonParam = jsonParam
572
571
  } else {
573
572
  getJsonParam = Object.assign(
574
573
  {},
575
574
  {
576
575
  shopid: global.info.queryInfo?.shopId,
577
576
  },
578
577
  jsonParam,
579
578
  )
580
579
  }
581
580
  }
582
581
  if(clickKey === 'exposure' && /^TerminatorNew/.test(eventId) && !Array.isArray(getJsonParam)){
583
582
  getJsonParam = [getJsonParam]
584
583
  }
585
584
  const miniLogParams = {
586
585
  eid: eventId,
587
586
  elevel: eventLevel,
588
587
  eparam: JSON.stringify(getJsonParam),
589
588
  pageId: this.logPageId,
590
589
  pname: this.logPname,
591
590
  pparam: JSON.stringify(this.routerInfo.params),
592
591
  target: this.routerInfo.path,
593
592
  event: this.nativeEvent,
594
593
  ...otherParams,
595
594
  }
596
595
  if (clickKey === 'addToCart' && skuId) {
597
596
  miniLogParams['shoppingList'] = {
598
597
  [skuId]: 1,
599
598
  }
600
599
  }
601
600
  return new Promise((resolve) => {
602
601
  global.miniAppLogInstance &&
603
602
  global.miniAppLogInstance[clickKey](miniLogParams)
604
603
  setTimeout(() => {
605
604
  resolve(true)
606
605
  }, 300)
607
606
  })
608
607
  } else {
609
608
  console.log('暂无埋点参数eventId和eventParam')
610
609
  return Promise.resolve(false)
611
610
  }
612
611
  }
613
612
 
614
613
  exposureEventLog(opts: JumpEventReportInterFace.OptEventLogParams = {}) {
615
614
  return this.clickEventLog(opts, 'exposure')
616
615
  }
616
+ import Taro from '@tarojs/taro';
617
617
  SECTION_HOME_TAB_TYPE,
618
618
  SECTION_HOME_TAB_NAME_TYPE,
619
619
  SHOP_MENU_ID_NAME,
620
620
  SHOP_MENU_ID_TYPE,
621
621
 
622
622
  jdJumpToShopHome(shopInfo: JumpEventReportInterFace.ShopIdsInfo = {}) {
623
623
  console.log('[降级H5] jdJumpToShopHome index.weapp');
624
624
  const currentShopInfo = {
625
625
  shopId: global.info.queryInfo.shopId,
626
626
  venderId: global.info.queryInfo.venderId,
627
627
  };
628
628
  const restParams =
629
629
  (shopInfo?.shopId && shopInfo.shopId !== currentShopInfo.shopId) ||
630
630
  (shopInfo?.venderId && shopInfo.venderId !== currentShopInfo.venderId)
631
631
  ? {}
632
632
  : currentShopInfo;
633
633
  const getInfo = Object.assign({}, restParams, shopInfo);
634
634
  this.jdJumpToShopBase(getInfo);
635
635
  }
636
636
 
637
637
  jdJumpToShopCategory(shopId, venderId, logEventInfo = {}) {
638
638
  console.log('[降级H5] jdJumpToShopCategory index.weapp');
639
639
  this.jdJumpToAppMiniProgram(this.jumpMiniPath.shopx, {
640
640
  shopId,
641
641
  venderId,
642
642
  tabActive: SHOP_MENU_ID_NAME[SHOP_MENU_ID_TYPE.CLASSIFY],
643
643
  logEventInfo,
644
644
  });
645
645
  }
646
646
 
647
647
  jdJumpToShopBase(shopInfo) {
648
648
  console.log('[降级H5] jdJumpToShopBase index.weapp');
649
649
  this.jdNavigateToNative(
650
650
  `${this.jumpMiniPath.shopx}?${objectToUrlEncode(this.getShopIdOrVenderIdParams(shopInfo))}`,
651
651
  {
652
652
  ...shopInfo,
653
653
  },
654
654
  );
655
655
  }
656
656
 
657
657
  jdJumpToShopLight(shopInfo) {
658
658
  this.jdNavigateToNative(
659
659
  `${this.jumpMiniPath.shopLight}?${objectToUrlEncode(
660
660
  this.getShopIdOrVenderIdParams(shopInfo),
661
661
  )}`,
662
662
  {
663
663
  ...shopInfo,
664
664
  },
665
665
  );
666
666
  }
667
667
 
668
668
  jdJumpToProduct(skuIds, logEventInfo) {
669
669
  skuIds = skuIds.toString().trim();
670
670
  const getSkuId = skuIds.indexOf(',') !== -1 ? skuIds.split(',')[0] : skuIds;
671
671
  const extraParams = {};
672
672
  const adInfos = getAdInfoBySkuId(getSkuId);
673
673
  if (adInfos) {
674
674
  extraParams['ad_smart_coupons'] = JSON.stringify(adInfos);
675
675
  }
676
676
  if (global?.wxAppNavigatorInstance?.goto) {
677
677
  const getParams = {
678
678
  sku: getSkuId,
679
679
  sourceType: 'wx_shop',
680
680
  ...extraParams,
681
681
  };
682
682
  this.jdNavigateToNative('none', logEventInfo, () => {
683
683
  global.wxAppNavigatorInstance.goto(this.jumpMiniPath.detail, getParams);
684
684
  });
685
685
  } else {
686
686
  const partParam = adInfos
687
687
  ? `&ad_smart_coupons=${encodeURIComponent(extraParams['ad_smart_coupons'])}`
688
688
  : '';
689
689
  this.jdNavigateToNative(
690
690
  `${this.jumpMiniPath.detail}?sku=${getSkuId}${partParam}`,
691
691
  logEventInfo,
692
692
  );
693
693
  }
694
694
  }
695
695
 
696
696
  jdJumpSkuInfoToProduct(skuInfo: any = {}, logEventInfo) {
697
697
  const { skuId, sourceType = 'wx_shop', skuImage } = skuInfo;
698
698
  if (skuId) {
699
699
  if (global?.wxAppNavigatorInstance?.goto) {
700
700
  const extraParams = {};
701
701
  const adInfos = getAdInfoBySkuId(skuId);
702
702
  if (adInfos) {
703
703
  extraParams['ad_smart_coupons'] = JSON.stringify(adInfos);
704
704
  }
705
705
  const getParams = {
706
706
  sku: skuId,
707
707
  sourceType,
708
708
  ...extraParams,
709
709
  };
710
710
  skuImage && (getParams['cover'] = skuImage);
711
711
  this.jdNavigateToNative('none', logEventInfo, () => {
712
712
  global.wxAppNavigatorInstance.goto(this.jumpMiniPath.detail, getParams);
713
713
  });
714
714
  } else {
715
715
  this.jdJumpToProduct(skuId, logEventInfo);
716
716
  }
717
717
  }
718
718
  }
719
719
 
720
720
  jdJumpToCartPage(logEventInfo) {
721
721
  console.log('跳转到购物车页面', logEventInfo);
722
722
  }
723
723
 
724
724
  jdJumpToCoupon(nowUrlParams: JumpEventReportInterFace.CouponUrlParams, logInfo) {
725
725
  if (nowUrlParams.batchId && (nowUrlParams.bindType === 1 || nowUrlParams.bindType === 3)) {
726
726
  const couponUrlParams = {
727
727
  batch: nowUrlParams.batchId,
728
728
  kind: nowUrlParams.bindType,
729
729
  startTime: nowUrlParams.startTime,
730
730
  endTime: nowUrlParams.endTime,
731
731
  quangoufrom: 6,
732
732
  };
733
733
  this.jdNavigateToNative(
734
734
  `${this.jumpMiniPath.searchCoupon}?${objectToUrlEncode(couponUrlParams)}`,
735
735
  {
736
736
  ...logInfo,
737
737
  },
738
738
  );
739
739
  } else if (nowUrlParams.batchId && nowUrlParams.bindType !== 1 && nowUrlParams.bindType !== 3) {
740
740
  const couponUrlParams = {
741
741
  ...this.getShopIdOrVenderIdParams(global.info.queryInfo),
742
742
  sceneId: 1002,
743
743
  };
744
744
  this.jdNavigateToNative(`${this.jumpMiniPath.shop}?${objectToUrlEncode(couponUrlParams)}`, {
745
745
  ...logInfo,
746
746
  });
747
747
  }
748
748
  }
749
749
 
750
750
  jdJumpToJTCoupon(nowUrlParams: JumpEventReportInterFace.CouponUrlParams, logInfo) {
751
751
  const couponUrlParams = {
752
752
  batch: nowUrlParams.batchId,
753
753
  kind: nowUrlParams.bindType,
754
754
  startTime: nowUrlParams.startTime,
755
755
  endTime: nowUrlParams.endTime,
756
756
  quangoufrom: 6,
757
757
  };
758
758
  this.jdNavigateToNative(
759
759
  `${this.jumpMiniPath.searchCoupon}?${objectToUrlEncode(couponUrlParams)}`,
760
760
  {
761
761
  ...logInfo,
762
762
  },
763
763
  );
764
764
  }
765
765
 
766
766
  jdJumpToRankList(contentId: string | number, rankType = 10, logEventInfo) {
767
767
  const rankUrl = `${this.jumpWebUrl.rank}?contentId=${contentId}&sku=&rankType=${rankType}&fromName=dcpws&hideAd=1`;
768
768
  this.jdJumpToWeb(rankUrl, {
769
769
  contentId,
770
770
  ...logEventInfo,
771
771
  });
772
772
  }
773
773
 
774
774
  jdJumpToWeb(spUrl, logEventInfo) {
775
775
  this.jdNavigateToNative(`${this.jumpMiniPath.h5}?encode_url=${encodeURIComponent(spUrl)}`, {
776
776
  ...logEventInfo,
777
777
  });
778
778
  }
779
779
 
780
780
  weappRedirectToWeb(
781
781
  url: string,
782
782
  logEventInfo: JumpEventReportInterFace.OptEventLogParams = {},
783
783
  otherParam = {},
784
784
  ) {
785
785
  let paramStr = '';
786
786
  const getOtherParamKeysLength = Object.keys(otherParam).length;
787
787
  if (getOtherParamKeysLength > 0) {
788
788
  Object.keys(otherParam).forEach((key) => {
789
789
  const getValue = `${otherParam[key]}`.replace(/undefined/, '').replace(/null/, '');
790
790
  paramStr += `${key}=${getValue}&`;
791
791
  });
792
792
  }
793
793
  const encodeUrl = `/pages/h5/index?${paramStr}encode_url=${encodeURIComponent(url)}`;
794
794
  try {
795
795
  this.clickEventLog(logEventInfo);
796
796
  } catch (e) {
797
797
  console.log(e);
798
798
  }
799
799
  setTimeout(() => {
800
800
  Taro.redirectTo({ url: encodeUrl })
801
801
  .then((res) => {
802
802
  console.log('weappRedirectToWeb.success', res);
803
803
  })
804
804
  .catch((err) => {
805
805
  console.log('weappRedirectToWeb.fail', err);
806
806
  });
807
807
  }, 200);
808
808
  }
809
809
 
810
810
  jdJumpToLive(liveInfo, logEventInfo = {}) {
811
811
  if (liveInfo?.liveId) {
812
812
  if (liveInfo?.openWxappToLiveRoom) {
813
813
  this.jdNavigateToNative(
814
814
  `${this.jumpMiniPath.jdLive}?liveId=${liveInfo.liveId}&origin=473`,
815
815
  {
816
816
  logEventInfo,
817
817
  },
818
818
  );
819
819
  } else {
820
820
  this.jdJumpToWeb(
821
821
  `${this.jumpWebUrl.mLive}/${liveInfo.liveId}?origin=0&appid=jdgw`,
822
822
  logEventInfo,
823
823
  );
824
824
  }
825
825
  }
826
826
  }
827
827
 
828
828
  jdJumpToActivityPlace(spUrl, logEventInfo) {
829
829
  this.jdJumpToWeb(spUrl, logEventInfo);
830
830
  }
831
831
 
832
832
  jdJumpToShopFans(fansParams, logEventInfo) {
833
833
  this.jdNavigateToNative(`${this.jumpMiniPath.shopFans}?${objectToUrlEncode(fansParams)}`, {
834
834
  ...logEventInfo,
835
835
  });
836
836
  }
837
837
 
838
838
  jdJumpToShopDetail(shopInfo) {
839
839
  const getInfo = Object.assign(
840
840
  {},
841
841
  {
842
842
  shopId: global.info.queryInfo.shopId,
843
843
  venderId: global.info.queryInfo.venderId,
844
844
  },
845
845
  shopInfo,
846
846
  );
847
847
  const getShopInfo = this.getShopIdOrVenderIdParams(getInfo);
848
848
  this.jdJumpToWeb(`${this.jumpWebUrl.shopIntroduce}?${objectToUrlEncode(getShopInfo)}`, getInfo);
849
849
  }
850
850
 
851
851
  jdJumpToCouponSearchProductList(couponId, logEventInfo = {}) {
852
852
  this.jdNavigateToNative(`${this.jumpMiniPath.couponSearch}?batch=${couponId}`, logEventInfo);
853
853
  }
854
854
 
855
855
  jdJumpToShopActivity(shopInfo) {
856
856
  const { configDataValue, logEventInfo, projectId } = shopInfo;
857
857
  if (projectId && configDataValue) {
858
858
  this.jdJumpToWeb(
859
859
  `${this.jumpWebUrl.shopSecondActivity}/${configDataValue.data}.html`,
860
860
  logEventInfo,
861
861
  );
862
862
  }
863
863
  }
864
864
 
865
865
  _checkUrlIsProductAndGetSkuInfo(url) {
866
866
  let skuId = null;
867
867
  if (/\/\/item\.jd\.com\/(\d+)\.html/.test(url)) {
868
868
  const getSkuRes = url.match(/\/\/item\.jd\.com\/(\d+)\.html/);
869
869
  if (getSkuRes && getSkuRes[1]) {
870
870
  skuId = getSkuRes[1];
871
871
  }
872
872
  } else if (/\/\/item\.m\.jd.com\/product\/(\d+)\.html/.test(url)) {
873
873
  const getSkuRes2 = url.match(/\/\/item\.m\.jd\.com\/product\/(\d+)\.html/);
874
874
  if (getSkuRes2 && getSkuRes2[1]) {
875
875
  skuId = getSkuRes2[1];
876
876
  }
877
877
  }
878
878
  return skuId;
879
879
  }
880
880
 
881
881
  jdJumpConfigUrl(detail, logEventInfo = {}) {
882
882
  const { configDataType, configDataValue } = detail;
883
883
  switch (configDataType) {
884
884
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
885
885
  if (logEventInfo?.jsonParam?.logBaseInfo?.mInfo) {
886
886
  logEventInfo.jsonParam.logBaseInfo.mInfo.skuid = configDataValue.skuIds;
887
887
  }
888
888
  this.jdJumpToProduct(configDataValue.skuIds, logEventInfo);
889
889
  break;
890
890
  case LinkConfigType.CONFIG_TYPE_CATEGORY:
891
891
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
892
892
  const getShopSearchParams = this.jdOpenAppParams(configDataValue.clickUrl);
893
893
  getShopSearchParams &&
894
894
  this.jdJumpToShopSearch(
895
895
  Object.assign({}, getShopSearchParams, {
896
896
  logEventInfo,
897
897
  }),
898
898
  );
899
899
  } else {
900
900
  this.jdJumpToShopSearch(
901
901
  configDataValue['cid']
902
902
  ? Object.assign(
903
903
  {},
904
904
  {
905
905
  shopId: global.info.queryInfo.shopId,
906
906
  categoryId: configDataValue.cid,
907
907
  ...configDataValue,
908
908
  logEventInfo,
909
909
  },
910
910
  )
911
911
  : {
912
912
  shopId: global.info.queryInfo.shopId,
913
913
  logEventInfo,
914
914
  },
915
915
  );
916
916
  }
917
917
  break;
918
918
  case LinkConfigType.CONFIG_TYPE_MEMBER:
919
919
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
920
920
  const getShopMemberParams = this.jdOpenAppParams(configDataValue.clickUrl);
921
921
  getShopMemberParams &&
922
922
  this.jdJumpToShopMember(
923
923
  Object.assign({}, getShopMemberParams, {
924
924
  logEventInfo,
925
925
  }),
926
926
  );
927
927
  } else {
928
928
  this.jdJumpToShopMember({
929
929
  shopId: global.info.queryInfo.shopId,
930
930
  venderId: configDataValue.shopDetail,
931
931
  logEventInfo,
932
932
  });
933
933
  }
934
934
  break;
935
935
  case LinkConfigType.CONFIG_TYPE_SHOP_ACTIVITY:
936
936
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
937
937
  const getShopActivityParams = this.jdOpenAppParams(configDataValue.clickUrl);
938
938
  if (getShopActivityParams && getShopActivityParams['des'] == 'jshopActivity') {
939
939
  this.jdJumpToShopActivity({
940
940
  projectId: configDataValue['projectId'],
941
941
  configDataValue,
942
942
  logEventInfo,
943
943
  });
944
944
  }
945
945
  } else if (configDataValue['projectId']) {
946
946
  this.jdJumpToShopActivity({
947
947
  projectId: configDataValue['projectId'],
948
948
  configDataValue,
949
949
  logEventInfo,
950
950
  });
951
951
  }
952
952
  break;
953
953
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK:
954
954
  case LinkConfigType.CONFIG_TYPE_FINANCE_COUPON: {
955
955
  const _url = configDataValue.linkUrl;
956
956
  if (
957
957
  _url.indexOf('to=') === -1 &&
958
958
  _url.indexOf(`${domain.mshop.replace(/https?:/, '')}/?shopId=`) !== -1
959
959
  ) {
960
960
  const _shopId = _url.match(/\d+/g)[0];
961
961
  this.jdJumpToShopHome({
962
962
  shopId: `${_shopId}`,
963
963
  logEventInfo,
964
964
  });
965
965
  } else if (this.isOpenJdAppUrl(_url)) {
966
966
  const getOpenAppParams: any = this.jdOpenAppParams(_url);
967
967
  if (getOpenAppParams) {
968
968
  if (getOpenAppParams.jumpTab == 'allProduct') {
969
969
  this.jdJumpToTabAllProduct(
970
970
  global.info.queryInfo.shopId,
971
971
  global.info.queryInfo.venderId,
972
972
  );
973
973
  } else if (
974
974
  getOpenAppParams.des == 'productList' &&
975
975
  getOpenAppParams.from == 'couponBatch'
976
976
  ) {
977
977
  console.log('优惠券跳转至京购优惠券可用商品列表');
978
978
  this.jdJumpToCouponSearchProductList(getOpenAppParams?.couponId);
979
979
  } else if (getOpenAppParams.des == 'vapp') {
980
980
  this.jdJumpToWeb(
981
981
  `https://conecli.com/apps/mpshare/index.html?category=${
982
982
  getOpenAppParams.category
983
983
  }&des=${getOpenAppParams.des}&vapptype=${getOpenAppParams.vapptype}&appId=${
984
984
  getOpenAppParams.appId
985
985
  }&path=${getOpenAppParams.path}&param=${encodeURI(
986
986
  JSON.stringify(getOpenAppParams.param),
987
987
  )}`,
988
988
  logEventInfo,
989
989
  );
990
990
  } else {
991
991
  this.jdNavigateToNative(
992
992
  '',
993
993
  Object.assign({}, getOpenAppParams, {
994
994
  logEventInfo,
995
995
  }),
996
996
  );
997
997
  }
998
998
  }
999
999
  } else {
1000
1000
  const getSkuId = this._checkUrlIsProductAndGetSkuInfo(_url);
1001
1001
  getSkuId
1002
1002
  ? this.jdJumpToProduct(getSkuId, logEventInfo)
1003
1003
  : this.jdJumpToWeb(_url, logEventInfo);
1004
1004
  }
1005
1005
  break;
1006
1006
  }
1007
1007
  case LinkConfigType.CONFIG_TYPE_JSHOP_DETAIL:
1008
1008
  this.jdJumpToShopDetail({
1009
1009
  venderId: global.info.queryInfo.venderId,
1010
1010
  shopId: global.info.queryInfo.shopId,
1011
1011
  logEventInfo,
1012
1012
  });
1013
1013
  break;
1014
1014
  case LinkConfigType.CONFIG_TYPE_SHOP_HOME:
1015
1015
  this.jdJumpToShopHome({
1016
1016
  ...configDataValue,
1017
1017
  logEventInfo,
1018
1018
  });
1019
1019
  break;
1020
1020
  case LinkConfigType.CONFIG_TYPE_CATEGORY_PAGE:
1021
1021
  this.jdJumpToShopCategory(global.info.queryInfo.shopId, global.info.queryInfo.venderId);
1022
1022
  break;
1023
1023
  case LinkConfigType.CONFIG_TYPE_ANCHOR_POINT:
1024
1024
  break;
1025
1025
  case LinkConfigType.CONFIG_TYPE_SHOPPING_GUIDE:
1026
1026
  if (this.isOpenJdAppUrl(configDataValue.clickUrl)) {
1027
1027
  const getShoppingGuideParams = this.jdOpenAppParams(configDataValue.clickUrl);
1028
1028
  getShoppingGuideParams &&
1029
1029
  this.jdJumpToShopActivity(
1030
1030
  Object.assign({}, getShoppingGuideParams, {
1031
1031
  logEventInfo,
1032
1032
  }),
1033
1033
  );
1034
1034
  }
1035
1035
  break;
1036
1036
  case LinkConfigType.CONFIG_TYPE_MINI_PROGRAM: {
1037
1037
  const linkUrl = decodeURIComponent(configDataValue?.linkUrl || '');
1038
1038
  const search = linkUrl.match(/\?.+/);
1039
1039
  if (search) {
1040
1040
  const miniQueryData: JumpEventReportInterFace.LinkMiniParams =
1041
1041
  parseQueryUrlString(linkUrl);
1042
1042
  try {
1043
1043
  miniQueryData.param = JSON.parse(<string>miniQueryData?.param);
1044
1044
  } catch (e) {
1045
1045
  console.warn('解析小程序 param 错误:', miniQueryData.param);
1046
1046
  }
1047
1047
  this.jdJumpToMiniProgram(miniQueryData);
1048
1048
  } else {
1049
1049
  console.warn('小程序地址错误:', linkUrl);
1050
1050
  }
1051
1051
  break;
1052
1052
  }
1053
1053
  default:
1054
1054
  }
1055
1055
  }
1056
1056
 
1057
1057
  jdJumpToTabAllProduct(shopId, venderId, logEventInfo = {}) {
1058
1058
  console.log('index.weapp.ts - jdJumpToTabAllProduct');
1059
1059
  if (typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId;
1060
1060
  if (typeof venderId === 'undefined') venderId = global.info.queryInfo.venderId;
1061
1061
  this.jdJumpToAppMiniProgram(this.jumpMiniPath.shopx, {
1062
1062
  shopId,
1063
1063
  venderId,
1064
1064
  tabActive: SECTION_HOME_TAB_NAME_TYPE[SECTION_HOME_TAB_TYPE.HOME_PRODUCT],
1065
1065
  logEventInfo,
1066
1066
  });
1067
1067
  }
1068
1068
 
1069
1069
  jdJumpToTopTabBase(type, shopInfo = {}) {
1070
1070
  const getInfo = Object.assign(
1071
1071
  {},
1072
1072
  {
1073
1073
  shopId: global.info.queryInfo.shopId,
1074
1074
  venderId: global.info.queryInfo.venderId,
1075
1075
  },
1076
1076
  shopInfo,
1077
1077
  );
1078
1078
  console.log('小程序原生跳转 jdJumpToTopTabBase');
1079
1079
  const { shopId, venderId, ...logEventInfo } = getInfo;
1080
1080
  this.jdJumpToAppMiniProgram(this.jumpMiniPath.shopx, {
1081
1081
  shopId,
1082
1082
  venderId,
1083
1083
  tabActive: type,
1084
1084
  ...logEventInfo,
1085
1085
  });
1086
1086
  }
1087
1087
 
1088
1088
  jdJumpToSearch(shopId, suggestWord) {
1089
1089
  if (typeof shopId === 'undefined') shopId = global.info.queryInfo.shopId;
1090
1090
  this.jdJumpToAppMiniProgram(this.jumpMiniPath.shopSearch, {
1091
1091
  shopId,
1092
1092
  });
1093
1093
  }
1094
1094
 
1095
1095
  jdJumpToAppHome(params = {}) {
1096
1096
  this.jdJumpToAppMiniProgram(this.jumpMiniPath.jingGouHome, params);
1097
1097
  }
1098
1098
 
1099
1099
  jdJumpToThreePlatform(spUrl, logEventInfo) {
1100
1100
  this.jdJumpToWeb(spUrl, logEventInfo);
1101
1101
  }
1102
1102
 
1103
1103
  jdJumpToMiniProgram({ appId, path, param = {} }: JumpEventReportInterFace.LinkMiniParams) {
1104
1104
  const pageName = param['pageType'] || 'home';
1105
1105
  path = `pages/${pageName}/index`;
1106
1106
  if (appId === global.info.pageInfo?.appId) {
1107
1107
  Taro.navigateTo({
1108
1108
  url: `/${path}?${objectToUrlEncode(param)}`,
1109
1109
  }).catch((err) => {
1110
1110
  console.warn('跳转小程序页面错误:', err);
1111
1111
  });
1112
1112
  } else {
1113
1113
  console.log('一个小程序跳转到另一个小程序暂无此业务');
1114
1114
  }
1115
1115
  }
1116
1116
 
1117
1117
  jdJumpToAppMiniProgram(
1118
1118
  path: string,
1119
1119
  param = {},
1120
1120
  successBack?: functionType,
1121
1121
  failBack?: functionType,
1122
1122
  ) {
1123
1123
  this.jdNavigateToNative(path, param, successBack, failBack);
1124
1124
  }
1125
1125
 
1126
1126
  jdNavigateToNative(
1127
1127
  url: string,
1128
1128
  params: {
1129
1129
  logEventInfo?: object;
1130
1130
  } = {},
1131
1131
  successBack?: functionType,
1132
1132
  failBack?: functionType,
1133
1133
  ) {
1134
1134
  const { logEventInfo, ...otherParams } = params;
1135
1135
  const getEparam = logEventInfo || params;
1136
1136
  console.log(
1137
1137
  '[wxmin] index.weapp jdNavigateToNative params: ',
1138
1138
  params,
1139
1139
  'logEventInfo',
1140
1140
  logEventInfo,
1141
1141
  'otherParams',
1142
1142
  otherParams,
1143
1143
  );
1144
1144
  try {
1145
1145
  this.clickEventLog(getEparam);
1146
1146
  } catch (e) {
1147
1147
  console.log(e);
1148
1148
  }
1149
1149
  setTimeout(() => {
1150
1150
  const getValidOtherParamState = otherParams && Object.keys(otherParams).length > 0;
1151
1151
  const goToPath = `${url}${
1152
1152
  getValidOtherParamState ? '?' + objectToUrlEncode(otherParams) : ''
1153
1153
  }`;
1154
1154
  console.log('打印最终wxapp原生跳转地址path', goToPath);
1155
1155
  if (url === this.jumpMiniPath.jingGouHome) {
1156
1156
  Taro.switchTab({
1157
1157
  url: goToPath,
1158
1158
  })
1159
1159
  .then((res) => {
1160
1160
  typeof successBack === 'function' && successBack(res);
1161
1161
  console.log('navigateToWxapp.success', res);
1162
1162
  })
1163
1163
  .catch((err) => {
1164
1164
  typeof failBack === 'function' && failBack(err);
1165
1165
  console.log('navigateToWxapp.fail', err);
1166
1166
  });
1167
1167
  } else {
1168
1168
  if (url !== 'none') {
1169
1169
  Taro.navigateTo({
1170
1170
  url: goToPath,
1171
1171
  })
1172
1172
  .then((res) => {
1173
1173
  typeof successBack === 'function' && successBack(res);
1174
1174
  console.log('navigateToWxapp.success', res);
1175
1175
  })
1176
1176
  .catch((err) => {
1177
1177
  typeof failBack === 'function' && failBack(err);
1178
1178
  console.log('navigateToWxapp.fail', err);
1179
1179
  });
1180
1180
  } else {
1181
1181
  typeof successBack === 'function' && successBack(url);
1182
1182
  }
1183
1183
  }
1184
1184
  }, 200);
1185
1185
  }
1186
1186
 
1187
1187
  clickEventLog(opts: JumpEventReportInterFace.OptEventLogParams = {}, clickKey = 'click') {
1188
1188
  const { eventId, jsonParam, eventLevel = 3, skuId, ...otherParams } = opts;
1189
1189
  if (eventId && jsonParam) {
1190
1190
  if (/TerminatorNew_/.test(eventId + '')) {
1191
1191
  console.log('mini eventId==========', eventId);
1192
1192
  }
1193
1193
  const { etModelInfo, logBaseInfo } = jsonParam;
1194
1194
  let getJsonParam = {};
1195
1195
  if (etModelInfo && logBaseInfo) {
1196
1196
  getJsonParam = logBaseInfo;
1197
1197
  } else {
1198
1198
  if (Array.isArray(jsonParam)) {
1199
1199
  getJsonParam = jsonParam;
1200
1200
  } else {
1201
1201
  getJsonParam = Object.assign(
1202
1202
  {},
1203
1203
  {
1204
1204
  shopid: global.info.queryInfo?.shopId,
1205
1205
  },
1206
1206
  jsonParam,
1207
1207
  );
1208
1208
  }
1209
1209
  }
1210
1210
  if (
1211
1211
  clickKey === 'exposure' &&
1212
1212
  /^TerminatorNew/.test(eventId) &&
1213
1213
  !Array.isArray(getJsonParam)
1214
1214
  ) {
1215
1215
  getJsonParam = [getJsonParam];
1216
1216
  }
1217
1217
  const miniLogParams = {
1218
1218
  eid: eventId,
1219
1219
  elevel: eventLevel,
1220
1220
  eparam: JSON.stringify(getJsonParam),
1221
1221
  pageId: this.logPageId,
1222
1222
  pname: this.logPname,
1223
1223
  pparam: JSON.stringify(this.routerInfo.params),
1224
1224
  target: this.routerInfo.path,
1225
1225
  event: this.nativeEvent,
1226
1226
  ...otherParams,
1227
1227
  };
1228
1228
  if (clickKey === 'addToCart' && skuId) {
1229
1229
  miniLogParams['shoppingList'] = {
1230
1230
  [skuId]: 1,
1231
1231
  };
1232
1232
  }
1233
1233
  return new Promise((resolve) => {
1234
1234
  global.miniAppLogInstance && global.miniAppLogInstance[clickKey](miniLogParams);
1235
1235
  setTimeout(() => {
1236
1236
  resolve(true);
1237
1237
  }, 300);
1238
1238
  });
1239
1239
  } else {
1240
1240
  console.log('暂无埋点参数eventId和eventParam');
1241
1241
  return Promise.resolve(false);
1242
1242
  }
1243
1243
  }
1244
1244
 
1245
1245
  exposureEventLog(opts: JumpEventReportInterFace.OptEventLogParams = {}) {
1246
1246
  return this.clickEventLog(opts, 'exposure');
1247
1247
  }