@conecli/cone-render 0.8.31 → 0.8.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import { JdJumpJdApp } from './jdJumpJdApp'
2
1
  routerInfo: {
3
2
  params: {},
4
3
  },
5
4
  nativeEvent: null,
6
5
  jumpConfig: {
7
6
  venderId: null,
8
7
  shopId: null,
9
8
  sourceValue: '',
10
9
  sourceType: 'App-H5',
11
10
  activityType: 'shopx',
12
11
  moduleId: 'none',
13
12
  entrance: 'none',
14
13
  },
15
14
  logPageParamStr: '',
16
15
  public logPageId: string
17
16
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig
18
17
  constructor(opt = {}) {
19
18
  console.log('jdb加载==========')
20
19
  super(opt)
21
20
  this.getConfig(opt)
22
21
  }
23
22
  jdbOpenAppParams(openAppUrl): Object | boolean {
24
23
  let getParams: boolean | Object = false
25
24
  if (this.isOpenJdbAppUrl(openAppUrl)) {
26
25
  try {
27
26
  getParams = openAppUrl.replace(
28
27
  /openApp\.jdbmall:\/\/virtual\?params=/i,
29
28
  '',
30
29
  )
31
30
  getParams = JSON.parse(String(getParams))
32
31
  } catch (e) {
33
32
  console.log(e)
34
33
  }
35
34
  }
36
35
  return getParams
37
36
  }
38
37
  isOpenJdbAppUrl(openAppUrl) {
39
38
  return /openApp\.jdbmall:\/\/virtual\?params=/i.test(openAppUrl)
40
39
  }
41
40
 
42
41
  async jdJumpConfigUrl(detail, logEventInfo = {}) {
43
42
  const { configDataType, configDataValue } = detail
44
43
  switch (configDataType) {
45
44
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
46
45
  this.jdJumpToProduct(
47
46
  {
48
47
  ...configDataValue,
49
48
  skuId: configDataValue.skuIds,
50
49
  skuUniformBizInfo: { buId: configDataValue.buId },
51
50
  },
52
51
  logEventInfo,
53
52
  )
54
53
  break
55
54
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK: {
56
55
  const _url = configDataValue.linkUrl
57
56
  if (this.isOpenJdbAppUrl(_url)) {
58
57
  const getOpenAppParams = this.jdbOpenAppParams(_url)
59
58
  console.log('jd web 获取自定义链接解析后的参数结果', getOpenAppParams)
60
59
  if (getOpenAppParams) {
61
60
  this.jdNavigateToNative(
62
61
  Object.assign({}, getOpenAppParams, {
63
62
  logEventInfo,
64
63
  }),
65
64
  )
66
65
  }
67
66
  }
68
67
  break
69
68
  }
70
69
  default:
71
70
  }
72
71
  }
73
72
 
74
73
  jdJumpToProduct(skuParams, logEventInfo) {
75
74
  if (typeof skuParams !== 'object') {
76
75
  console.error('万商app跳转商品详情参数需要对象,详情请查看文档')
77
76
  return
78
77
  }
79
78
 
80
79
  let { skuId, bMallTag = '1', skuUniformBizInfo } = skuParams
81
80
  skuId = skuId.toString().trim()
82
81
  this.jdNavigateToNative({
83
82
  category: 'jump',
84
83
  des: 'skudetail',
85
84
  param: {
86
85
  skuId: skuId,
87
86
  bMallTag: bMallTag,
88
87
  skuUniformBizInfo,
89
88
  },
90
89
  logEventInfo,
91
90
  })
92
91
  }
93
92
 
94
93
  jdNavigateToNative(
95
94
  params: {},
96
95
  url = OpenAppHost,
97
96
  successBack?: Function | null,
98
97
  failBack?: Function | null,
99
98
  ) {
100
99
  console.log('jdb web', params)
101
100
  const getResParams: JumpEventReportInterFace.JdMiniJumpParams =
102
101
  Object.assign(
103
102
  {},
104
103
  {
105
104
  param: {},
106
105
  },
107
106
  params,
108
107
  )
109
108
  const { logEventInfo, ...otherParams } = getResParams
110
109
  console.log(
111
110
  'jdb web 获取open协议参数 jdNavigateToNative params: ',
112
111
  otherParams,
113
112
  )
114
113
  console.log('logEventInfo params: ', logEventInfo)
115
114
  console.log('otherParams', otherParams)
116
115
  const paramsStr = JSON.stringify(otherParams)
117
116
  console.log('跳转web jdb open协议', `${url}?params=${paramsStr}`)
118
117
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
119
118
  this.clickEventLog(logEventInfo || getResParams)
120
119
  .then(() => {
121
120
  if (typeof successBack == 'function') {
122
121
  successBack(getResParams)
123
122
  } else {
124
123
  try {
125
124
  const paramsStr = JSON.stringify(otherParams)
126
125
  console.log(
127
126
  'success: 跳转web jdb open协议',
128
127
  `${url}?params=${paramsStr}`,
129
128
  )
130
129
  window.location.href = `${url}?params=${paramsStr}`
131
130
  } catch (e) {
132
131
  console.log('跳转异常', e)
133
132
  }
134
133
  }
135
134
  })
136
135
  .catch((e) => {
137
136
  console.log('catch', e)
138
137
  typeof failBack == 'function' && failBack(getResParams)
139
138
  })
140
139
  }
141
140
 
142
141
  clickEventLog(
143
142
  opts: JumpEventReportInterFace.OptEventLogParams = {},
144
143
  reportKey = 'click',
145
144
  ) {
146
145
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts
147
146
  if (eventId && jsonParam) {
148
147
  const { etModelInfo, logBaseInfo } = jsonParam
149
148
  const webLogParams = {
150
149
  eid: eventId,
151
150
  elevel: eventLevel,
152
151
  jsonParam: JSON.stringify(logBaseInfo || jsonParam),
153
152
  etModel: JSON.stringify(etModelInfo || {}),
154
153
  pageId: this.logPageId,
155
154
  pageParam: this.logPageParamStr,
156
155
  ...otherParams,
157
156
  }
158
157
  return /click|exposure/.test(reportKey)
159
158
  ? reportClick(webLogParams)
160
159
  : reportToCart(opts)
161
160
  } else {
162
161
  console.log('暂无埋点参数eventId和eventParam')
163
162
  return Promise.resolve(false)
164
163
  }
165
164
  }
166
165
  getConfig(opt = {}) {
167
166
  return Object.assign(this, {}, defaultConfig, opt)
168
167
  }
168
+ import { JdJumpJdApp } from './jdJumpJdApp'
169
169
  routerInfo: {
170
170
  params: {},
171
171
  },
172
172
  nativeEvent: null,
173
173
  jumpConfig: {
174
174
  venderId: null,
175
175
  shopId: null,
176
176
  sourceValue: '',
177
177
  sourceType: 'App-H5',
178
178
  activityType: 'shopx',
179
179
  moduleId: 'none',
180
180
  entrance: 'none',
181
181
  },
182
182
  logPageParamStr: '',
183
183
  public logPageId: string
184
184
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig
185
185
  constructor(opt = {}) {
186
186
  console.log('jdb加载==========')
187
187
  super(opt)
188
188
  this.getConfig(opt)
189
189
  }
190
190
  jdbOpenAppParams(openAppUrl): Object | boolean {
191
191
  let getParams: boolean | Object = false
192
192
  if (this.isOpenJdbAppUrl(openAppUrl)) {
193
193
  try {
194
194
  getParams = openAppUrl.replace(
195
195
  /openApp\.jdbmall:\/\/virtual\?params=/i,
196
196
  '',
197
197
  )
198
198
  getParams = JSON.parse(String(getParams))
199
199
  } catch (e) {
200
200
  console.log(e)
201
201
  }
202
202
  }
203
203
  return getParams
204
204
  }
205
205
  isOpenJdbAppUrl(openAppUrl) {
206
206
  return /openApp\.jdbmall:\/\/virtual\?params=/i.test(openAppUrl)
207
207
  }
208
208
 
209
209
  async jdJumpConfigUrl(detail, logEventInfo = {}) {
210
210
  const { configDataType, configDataValue } = detail
211
211
  switch (configDataType) {
212
212
  case LinkConfigType.CONFIG_TYPE_SKU_LIST:
213
213
  this.jdJumpToProduct(
214
214
  {
215
215
  ...configDataValue,
216
216
  skuId: configDataValue.skuIds,
217
217
  skuUniformBizInfo: { buId: configDataValue.buId },
218
218
  },
219
219
  logEventInfo,
220
220
  )
221
221
  break
222
222
  case LinkConfigType.CONFIG_TYPE_CUSTOM_LINK: {
223
223
  const _url = configDataValue.linkUrl
224
224
  if (this.isOpenJdbAppUrl(_url)) {
225
225
  const getOpenAppParams = this.jdbOpenAppParams(_url)
226
226
  console.log('jd web 获取自定义链接解析后的参数结果', getOpenAppParams)
227
227
  if (getOpenAppParams) {
228
228
  this.jdNavigateToNative(
229
229
  Object.assign({}, getOpenAppParams, {
230
230
  logEventInfo,
231
231
  }),
232
232
  )
233
233
  }
234
234
  }
235
235
  break
236
236
  }
237
237
  default:
238
238
  }
239
239
  }
240
240
 
241
241
  jdJumpToProduct(skuParams, logEventInfo) {
242
242
  if (typeof skuParams !== 'object') {
243
243
  console.error('万商app跳转商品详情参数需要对象,详情请查看文档')
244
244
  return
245
245
  }
246
246
 
247
247
  let { skuId, bMallTag = '1', skuUniformBizInfo } = skuParams
248
248
  skuId = skuId.toString().trim()
249
249
  this.jdNavigateToNative({
250
250
  category: 'jump',
251
251
  des: 'skudetail',
252
252
  param: {
253
253
  skuId: skuId,
254
254
  bMallTag: bMallTag,
255
255
  skuUniformBizInfo,
256
256
  },
257
257
  logEventInfo,
258
258
  })
259
259
  }
260
260
 
261
261
  jdNavigateToNative(
262
262
  params: {},
263
263
  url = OpenAppHost,
264
264
  successBack?: Function | null,
265
265
  failBack?: Function | null,
266
266
  ) {
267
267
  console.log('jdb web', params)
268
268
  const getResParams: JumpEventReportInterFace.JdMiniJumpParams =
269
269
  Object.assign(
270
270
  {},
271
271
  {
272
272
  param: {},
273
273
  },
274
274
  params,
275
275
  )
276
276
  const { logEventInfo, ...otherParams } = getResParams
277
277
  console.log(
278
278
  'jdb web 获取open协议参数 jdNavigateToNative params: ',
279
279
  otherParams,
280
280
  )
281
281
  console.log('logEventInfo params: ', logEventInfo)
282
282
  console.log('otherParams', otherParams)
283
283
  const paramsStr = JSON.stringify(otherParams)
284
284
  console.log('跳转web jdb open协议', `${url}?params=${paramsStr}`)
285
285
  global.info.pageInfo.dataType === BUSINESS_TYPE.ONLINE &&
286
286
  this.clickEventLog(logEventInfo || getResParams)
287
287
  .then(() => {
288
288
  if (typeof successBack == 'function') {
289
289
  successBack(getResParams)
290
290
  } else {
291
291
  try {
292
292
  const paramsStr = JSON.stringify(otherParams)
293
293
  console.log(
294
294
  'success: 跳转web jdb open协议',
295
295
  `${url}?params=${paramsStr}`,
296
296
  )
297
297
  window.location.href = `${url}?params=${paramsStr}`
298
298
  } catch (e) {
299
299
  console.log('跳转异常', e)
300
300
  }
301
301
  }
302
302
  })
303
303
  .catch((e) => {
304
304
  console.log('catch', e)
305
305
  typeof failBack == 'function' && failBack(getResParams)
306
306
  })
307
307
  }
308
308
 
309
309
  clickEventLog(
310
310
  opts: JumpEventReportInterFace.OptEventLogParams = {},
311
311
  reportKey = 'click',
312
312
  ) {
313
313
  const { eventId, jsonParam, eventLevel = 3, ...otherParams } = opts
314
314
  if (eventId && jsonParam) {
315
315
  const { etModelInfo, logBaseInfo } = jsonParam
316
316
  const webLogParams = {
317
317
  eid: eventId,
318
318
  elevel: eventLevel,
319
319
  eparam:JSON.stringify(logBaseInfo || jsonParam),
320
320
  jsonParam: JSON.stringify(logBaseInfo || jsonParam),
321
321
  etModel: JSON.stringify(etModelInfo || {}),
322
322
  pageId: this.logPageId,
323
323
  pageParam: this.logPageParamStr,
324
324
  ...otherParams,
325
325
  }
326
326
  return /click|exposure/.test(reportKey)
327
327
  ? reportClick(webLogParams)
328
328
  : reportToCart(opts)
329
329
  } else {
330
330
  console.log('暂无埋点参数eventId和eventParam')
331
331
  return Promise.resolve(false)
332
332
  }
333
333
  }
334
334
  getConfig(opt = {}) {
335
335
  return Object.assign(this, {}, defaultConfig, opt)
336
336
  }
@@ -1 +1 @@
1
- import * as device from './device'
2
1
  device,
3
2
  environment,
4
3
  jump,
5
4
  storage,
6
5
  util,
7
6
  moduleUtil,
8
7
  track,
9
8
  trackPromise,
10
9
  global,
11
10
  http,
12
11
  shopMember,
13
12
  userToken,
14
13
  TokenPlatform,
15
14
  requestServer,
16
15
  isvStorage,
16
+ import * as device from './device'
17
17
  device,
18
18
  environment,
19
19
  jump,
20
20
  storage,
21
21
  util,
22
22
  moduleUtil,
23
23
  track,
24
24
  trackPromise,
25
25
  global,
26
26
  http,
27
27
  shopMember,
28
28
  userToken,
29
29
  TokenPlatform,
30
30
  requestServer,
31
31
  isvStorage,
@@ -0,0 +1 @@
1
+ import { JumpEventReport } from '../../../jumpEventReport'
@@ -0,0 +1 @@
1
+ import { business } from './business'
@@ -0,0 +1 @@
1
+ import {
2
  JumpEventReport,
1
3
  JumpEventReportPromise,
2
4
  const { jumpMiniPath } = JumpEventReport
3
5
  Object.assign(minPath, jumpMiniPath)
@@ -0,0 +1 @@
1
+ import {
2
  JumpEventReport,
1
3
  JumpEventReportPromise,
2
4
  jdJumpToWeb: (url: string, logEventInfo: object) => void
3
5
  jdJumpToAppMiniProgram: (path: string, logEventInfo: object) => void
4
6
  jdJumpToShopLight: (detail: object) => void
5
7
  jdJumpToAppMiniProgram: () => {},
6
8
  jdJumpToShopLight: () => {},
7
9
  jdJumpToWeb: () => {},
8
10
  const {
9
11
  jdJumpToAppMiniProgram,
10
12
  jdJumpToShopLight,
11
13
  jdJumpToWeb,
12
14
  jumpWebUrl,
13
15
  jumpMiniPath,
14
16
  } = JumpEventReport
15
17
  Object.assign(side, {
16
18
  jdJumpToAppMiniProgram: jdJumpToAppMiniProgram.bind(JumpEventReport),
17
19
  jdJumpToShopLight: jdJumpToShopLight.bind(JumpEventReport),
18
20
  jdJumpToWeb: jdJumpToWeb.bind(JumpEventReport),
19
21
  jumpWebUrl,
20
22
  jumpMiniPath,
21
23
  })
@@ -0,0 +1 @@
1
+ import {
2
  JumpEventReport,
1
3
  JumpEventReportPromise,
2
4
  const { jumpWebUrl } = JumpEventReport
3
5
  Object.assign(webUrl, jumpWebUrl)
@@ -0,0 +1 @@
1
+ import { JumpEventReport, JumpEventReportPromise } from '../../jumpEventReport'
2
  jdJumpToShopHome: (info: object) => void
1
3
  jdJumpToProduct: (skuId: string | null, logEventInfo: object) => void
2
4
  jdJumpConfigUrl: (detail: object, logEventInfo: object) => void
3
5
  jdJumpToShopMemberInfo: (logEventInfo: object) => void
4
6
  jdJumpToShopMemberPointDetail: (logEventInfo: object) => void
5
7
  jdJumpToShopMemberBenefit: (logEventInfo: object) => void
6
8
  jdJumpToShopMemberRule: (logEventInfo: object) => void
7
9
  jdJumpToShopMemberCloseAccount: (
8
10
  venderType: number,
9
11
  logEventInfo: object,
10
12
  ) => void
11
13
  jdJumpToShopMemberPointExchange: (
12
14
  venderType: number,
13
15
  channel: number,
14
16
  levelZeroMenuUrl: string,
15
17
  logEventInfo: object,
16
18
  ) => void
17
19
  jdJumpToShopMemberBonusPurchase: (
18
20
  customerLevel: number,
19
21
  logEventInfo: object,
20
22
  ) => void
21
23
  jdJumpToShopMemberGood: (customerLevel: number, logEventInfo: object) => void
22
24
  jdJumpToBeanDetail: (logEventInfo: object) => void
23
25
  jdJumpToMyRedEnvelope: (logEventInfo: object) => void
24
26
  jdJumpToMyCoupon: (logEventInfo: object) => void
25
27
  jdJumpToTabAllProduct: (
26
28
  shopId: string | number,
27
29
  venderId: string | number,
28
30
  logEventInfo: object,
29
31
  ) => void
30
32
  jdJumpToTabAllProductInner: (
31
33
  shopId: string | number,
32
34
  venderId: string | number,
33
35
  logEventInfo: object,
34
36
  ) => void
35
37
  jdJumpToShopHome: () => {},
36
38
  jdJumpToProduct: () => {},
37
39
  jdJumpConfigUrl: () => {},
38
40
  jdJumpToShopMemberInfo: () => {},
39
41
  jdJumpToShopMemberPointDetail: () => {},
40
42
  jdJumpToShopMemberBenefit: () => {},
41
43
  jdJumpToShopMemberRule: () => {},
42
44
  jdJumpToShopMemberCloseAccount: () => {},
43
45
  jdJumpToShopMemberPointExchange: () => {},
44
46
  jdJumpToShopMemberBonusPurchase: () => {},
45
47
  jdJumpToShopMemberGood: () => {},
46
48
  jdJumpToBeanDetail: () => {},
47
49
  jdJumpToMyRedEnvelope: () => {},
48
50
  jdJumpToMyCoupon: () => {},
49
51
  jdJumpToTabAllProduct: () => {},
50
52
  jdJumpToTabAllProductInner: () => {},
51
53
  jdJumpToWeb: (url: string, logEventInfo: object) => void
52
54
  jdJumpToAppMiniProgram: (path: string, logEventInfo: object) => void
53
55
  jdJumpToShopLight: (detail: object) => void
54
56
  jdJumpToAppMiniProgram: () => {},
55
57
  jdJumpToShopLight: () => {},
56
58
  jdJumpToWeb: () => {},
57
59
  [key: string]: any
58
60
  [key: string]: any
59
61
  const {
60
62
  jdJumpToShopHome,
61
63
  jdJumpToProduct,
62
64
  jdJumpConfigUrl,
63
65
  jdJumpToShopMemberInfo,
64
66
  jdJumpToShopMemberPointDetail,
65
67
  jdJumpToShopMemberBenefit,
66
68
  jdJumpToShopMemberRule,
67
69
  jdJumpToShopMemberCloseAccount,
68
70
  jdJumpToShopMemberPointExchange,
69
71
  jdJumpToShopMemberBonusPurchase,
70
72
  jdJumpToShopMemberGood,
71
73
  jdJumpToBeanDetail,
72
74
  jdJumpToMyRedEnvelope,
73
75
  jdJumpToMyCoupon,
74
76
  jdJumpToTabAllProduct,
75
77
  jdJumpToTabAllProductInner,
76
78
  } = JumpEventReport
77
79
  const {
78
80
  jdJumpToAppMiniProgram,
79
81
  jdJumpToShopLight,
80
82
  jdJumpToWeb,
81
83
  jumpWebUrl,
82
84
  jumpMiniPath,
83
85
  } = JumpEventReport
84
86
  Object.assign(business, {
85
87
  jdJumpToShopHome: jdJumpToShopHome.bind(JumpEventReport),
86
88
  jdJumpToProduct: jdJumpToProduct.bind(JumpEventReport),
87
89
  jdJumpConfigUrl: jdJumpConfigUrl.bind(JumpEventReport),
88
90
  jdJumpToShopMemberInfo: jdJumpToShopMemberInfo.bind(JumpEventReport),
89
91
  jdJumpToShopMemberPointDetail:
90
92
  jdJumpToShopMemberPointDetail.bind(JumpEventReport),
91
93
  jdJumpToShopMemberBenefit: jdJumpToShopMemberBenefit.bind(JumpEventReport),
92
94
  jdJumpToShopMemberRule: jdJumpToShopMemberRule.bind(JumpEventReport),
93
95
  jdJumpToShopMemberCloseAccount:
94
96
  jdJumpToShopMemberCloseAccount.bind(JumpEventReport),
95
97
  jdJumpToShopMemberPointExchange:
96
98
  jdJumpToShopMemberPointExchange.bind(JumpEventReport),
97
99
  jdJumpToShopMemberBonusPurchase:
98
100
  jdJumpToShopMemberBonusPurchase.bind(JumpEventReport),
99
101
  jdJumpToShopMemberGood: jdJumpToShopMemberGood.bind(JumpEventReport),
100
102
  jdJumpToBeanDetail: jdJumpToBeanDetail.bind(JumpEventReport),
101
103
  jdJumpToMyRedEnvelope: jdJumpToMyRedEnvelope.bind(JumpEventReport),
102
104
  jdJumpToMyCoupon: jdJumpToMyCoupon.bind(JumpEventReport),
103
105
  jdJumpToTabAllProduct: jdJumpToTabAllProduct.bind(JumpEventReport),
104
106
  jdJumpToTabAllProductInner:
105
107
  jdJumpToTabAllProductInner.bind(JumpEventReport),
106
108
  })
107
109
  Object.assign(side, {
108
110
  jdJumpToAppMiniProgram: jdJumpToAppMiniProgram.bind(JumpEventReport),
109
111
  jdJumpToShopLight: jdJumpToShopLight.bind(JumpEventReport),
110
112
  jdJumpToWeb: jdJumpToWeb.bind(JumpEventReport),
111
113
  jumpWebUrl,
112
114
  jumpMiniPath,
113
115
  })
114
116
  Object.assign(webUrl, jumpWebUrl)
115
117
  Object.assign(minPath, jumpMiniPath)