@conecli/cone-render 0.10.1-shop-beta.22 → 0.10.1-shop-beta.24

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