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