@conecli/cone-render 0.8.20 → 0.8.22-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ import { JdJumpJdApp } from './jdJumpJdApp'
2
  reportClick,
1
3
  reportToCart,
2
4
  routerInfo: {
3
5
  params: {},
4
6
  },
5
7
  nativeEvent: null,
6
8
  jumpConfig: {
7
9
  venderId: null,
8
10
  shopId: null,
9
11
  sourceValue: '',
10
12
  sourceType: 'App-H5',
11
13
  activityType: 'shopx',
12
14
  moduleId: 'none',
13
15
  entrance: 'none',
14
16
  },
15
17
  logPageParamStr: '',
16
18
  public logPageId: string
17
19
  public jumpConfig: JumpEventReportInterFace.JumpH5ReportConfig
18
20
  constructor(opt = {}) {
19
21
  console.log("jdb加载==========")
20
22
  super(opt)
21
23
  this.getConfig(opt)
22
24
  }
23
25
 
24
26
  jdJumpToProduct(skuParams, logEventInfo) {
25
27
  if(typeof skuParams !== 'object') {
26
28
  console.error('万商app跳转商品详情参数需要对象,详情请查看文档')
27
29
  return
28
30
  }
29
31
 
30
32
  let { skuId, bMallTag, skuUniformBizInfo } = skuParams
31
33
  skuId = skuId.toString().trim()
32
34
  this.jdNavigateToNative({
33
35
  category: 'jump',
34
36
  des: 'skudetail',
35
37
  param: {
36
38
  skuId: skuId,
37
39
  bMallTag: bMallTag,
38
40
  skuUniformBizInfo
39
41
  },
40
42
  logEventInfo,
41
43
  })
42
44
  }
43
45
  jdNavigateToNative(
44
46
  console.log("otherParams", otherParams)
45
47
  const paramsStr = JSON.stringify(otherParams)
46
48
  console.log(
47
49
  '跳转web jd open协议',
48
50
  `${url}?params=${paramsStr}`,
49
51
  )
50
52
  console.log('catch', e)
51
53
  clickEventLog(
52
54
  getConfig(opt = {}) {
53
55
  return Object.assign(this, {}, defaultConfig, opt)
54
56
  }
@@ -1 +1 @@
1
- import * as device from './device'
1
+ import * as device from './device'
2
2
  device,
3
3
  environment,
4
4
  jump,
5
5
  storage,
6
6
  util,
7
7
  moduleUtil,
8
8
  track,
9
9
  trackPromise,
10
10
  global,
11
11
  http,
12
12
  shopMember,
13
13
  requestServer,
@@ -1 +1 @@
1
- import { JumpEventReport, JumpEventReportPromise } from '../../jumpEventReport'
1
+ import { JumpEventReport, JumpEventReportPromise } from '../../jumpEventReport'
2
2
  jdJumpToShopHome: (info: object) => void
3
3
  jdJumpToProduct: (skuId: string | null, logEventInfo: object) => void
4
4
  jdJumpConfigUrl: (detail: object, logEventInfo: object) => void
5
5
  jdJumpToShopMemberInfo: (logEventInfo: object) => void
6
6
  jdJumpToShopMemberPointDetail: (logEventInfo: object) => void
7
7
  jdJumpToShopMemberBenefit: (logEventInfo: object) => void
8
8
  jdJumpToShopMemberRule: (logEventInfo: object) => void
9
9
  jdJumpToShopMemberCloseAccount: (
10
10
  venderType: number,
11
11
  logEventInfo: object,
12
12
  ) => void
13
13
  jdJumpToShopMemberPointExchange: (
14
14
  venderType: number,
15
15
  channel: number,
16
16
  levelZeroMenuUrl: string,
17
17
  logEventInfo: object,
18
18
  ) => void
19
19
  jdJumpToShopMemberBonusPurchase: (
20
20
  customerLevel: number,
21
21
  logEventInfo: object,
22
22
  ) => void
23
23
  jdJumpToShopMemberGood: (customerLevel: number, logEventInfo: object) => void
24
24
  jdJumpToBeanDetail: (logEventInfo: object) => void
25
25
  jdJumpToMyRedEnvelope: (logEventInfo: object) => void
26
26
  jdJumpToMyCoupon: (logEventInfo: object) => void
27
27
  jdJumpToShopHome: () => {},
28
28
  jdJumpToProduct: () => {},
29
29
  jdJumpConfigUrl: () => {},
30
30
  jdJumpToShopMemberInfo: () => {},
31
31
  jdJumpToShopMemberPointDetail: () => {},
32
32
  jdJumpToShopMemberBenefit: () => {},
33
33
  jdJumpToShopMemberRule: () => {},
34
34
  jdJumpToShopMemberCloseAccount: () => {},
35
35
  jdJumpToShopMemberPointExchange: () => {},
36
36
  jdJumpToShopMemberBonusPurchase: () => {},
37
37
  jdJumpToShopMemberGood: () => {},
38
38
  jdJumpToBeanDetail: () => {},
39
39
  jdJumpToMyRedEnvelope: () => {},
40
40
  jdJumpToMyCoupon: () => {},
41
41
  jdJumpToWeb: (url: string, logEventInfo: object) => void
42
42
  jdJumpToAppMiniProgram: (path: string, logEventInfo: object) => void
43
43
  jdJumpToShopLight: (detail: object) => void
44
44
  jdJumpToAppMiniProgram: () => {},
45
45
  jdJumpToShopLight: () => {},
46
46
  jdJumpToWeb: () => {},
47
47
  [key: string]: any
48
48
  [key: string]: any
49
49
  const {
50
50
  jdJumpToTabAllProduct,
51
51
  jdJumpToShopHome,
52
52
  jdJumpToProduct,
53
53
  jdJumpToShopSearch,
54
54
  jdJumpConfigUrl,
55
55
  jdJumpToShopMemberInfo,
56
56
  jdJumpToShopMemberPointDetail,
57
57
  jdJumpToShopMemberBenefit,
58
58
  jdJumpToShopMemberRule,
59
59
  jdJumpToShopMemberCloseAccount,
60
60
  jdJumpToShopMemberPointExchange,
61
61
  jdJumpToShopMemberBonusPurchase,
62
62
  jdJumpToShopMemberGood,
63
63
  jdJumpToBeanDetail,
64
64
  jdJumpToMyRedEnvelope,
65
65
  jdJumpToMyCoupon,
66
66
  } = JumpEventReport
67
67
  const {
68
68
  jdJumpToAppMiniProgram,
69
69
  jdJumpToShopLight,
70
70
  jdJumpToWeb,
71
71
  jumpWebUrl,
72
72
  jumpMiniPath,
73
73
  } = JumpEventReport
74
74
  Object.assign(business, {
75
75
  jdJumpToShopHome: jdJumpToShopHome.bind(JumpEventReport),
76
76
  jdJumpToProduct: jdJumpToProduct.bind(JumpEventReport),
77
77
  jdJumpConfigUrl: jdJumpConfigUrl.bind(JumpEventReport),
78
78
  jdJumpToShopMemberInfo: jdJumpToShopMemberInfo.bind(JumpEventReport),
79
79
  jdJumpToShopMemberPointDetail:
80
80
  jdJumpToShopMemberPointDetail.bind(JumpEventReport),
81
81
  jdJumpToShopMemberBenefit: jdJumpToShopMemberBenefit.bind(JumpEventReport),
82
82
  jdJumpToShopMemberRule: jdJumpToShopMemberRule.bind(JumpEventReport),
83
83
  jdJumpToShopMemberCloseAccount:
84
84
  jdJumpToShopMemberCloseAccount.bind(JumpEventReport),
85
85
  jdJumpToShopMemberPointExchange:
86
86
  jdJumpToShopMemberPointExchange.bind(JumpEventReport),
87
87
  jdJumpToShopMemberBonusPurchase:
88
88
  jdJumpToShopMemberBonusPurchase.bind(JumpEventReport),
89
89
  jdJumpToShopMemberGood: jdJumpToShopMemberGood.bind(JumpEventReport),
90
90
  jdJumpToBeanDetail: jdJumpToBeanDetail.bind(JumpEventReport),
91
91
  jdJumpToMyRedEnvelope: jdJumpToMyRedEnvelope.bind(JumpEventReport),
92
92
  jdJumpToMyCoupon: jdJumpToMyCoupon.bind(JumpEventReport),
93
93
  })
94
94
  Object.assign(side, {
95
95
  jdJumpToAppMiniProgram: jdJumpToAppMiniProgram.bind(JumpEventReport),
96
96
  jdJumpToShopLight: jdJumpToShopLight.bind(JumpEventReport),
97
97
  jdJumpToWeb: jdJumpToWeb.bind(JumpEventReport),
98
98
  jumpWebUrl,
99
99
  jumpMiniPath,
100
100
  })
101
101
  Object.assign(webUrl, jumpWebUrl)
102
102
  Object.assign(minPath, jumpMiniPath)
@@ -0,0 +1 @@
1
+ export enum ShopMemberCardNodeType {
2
 
1
3
  CARD_BANNER = "shopMemberCardVenderCardBanner",
2
4
 
3
5
  CARD_NAME = "shopMemberCardVenderCardName",
4
6
 
5
7
  MEMBERSHIP_LEVEL = "shopMemberCardMembershipLevel",
6
8
 
7
9
  MEMBERSHIP_RULE_ENTRANCE = "shopMemberCardMembershipRuleEntrance",
8
10
 
9
11
  MEMBERSHIP_POINT = "shopMemberCardMembershipPoint"
@@ -0,0 +1 @@
1
+ const userInfo =
2
  (window.WebViewCommon && window.WebViewCommon.getUserInfo()) || {}
1
3
  buId: userInfo.buId,
2
4
  process.env.NODE_ENV === 'development'
3
5
  ? {
4
6
  apolloId: '48ee955b0fb04d19b9f9fe8cb73d387f',
5
7
  apolloSecret: '0d9c76ee66b0487da4e17d3cf1d7af7a',
6
8
  }
7
9
  : {
8
10
  apolloId: '80c46fd06e4442998609d9f6a4ab96f0',
9
11
  apolloSecret: 'f36bef08bcba4683b409732095793fb2',
10
12
  }
11
13
  if (typeof window.crypto === 'object') {
12
14
  if (typeof (window.crypto as any).randomUUID === 'function') {
13
15
  return (window.crypto as any).randomUUID()
14
16
  }
15
17
  if (
16
18
  typeof (window.crypto as any).getRandomValues === 'function' &&
17
19
  typeof Uint8Array === 'function'
18
20
  ) {
19
21
  const callback = (c) => {
20
22
  const num = Number(c)
21
23
  return (
22
24
  num ^
23
25
  ((window.crypto as any).getRandomValues(new Uint8Array(1))[0] &
24
26
  (15 >> (num / 4)))
25
27
  ).toString(16)
26
28
  }
27
29
  return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, callback)
28
30
  }
29
31
  }
30
32
  let timestamp = new Date().getTime()
31
33
  let perforNow =
32
34
  (typeof window.performance !== 'undefined' &&
33
35
  window.performance.now &&
34
36
  window.performance.now() * 1000) ||
35
37
  0
36
38
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
37
39
  let random = Math.random() * 16
38
40
  if (timestamp > 0) {
39
41
  random = (timestamp + random) % 16 | 0
40
42
  timestamp = Math.floor(timestamp / 16)
41
43
  } else {
42
44
  random = (perforNow + random) % 16 | 0
43
45
  perforNow = Math.floor(perforNow / 16)
44
46
  }
45
47
  return (c === 'x' ? random : (random & 0x3) | 0x8).toString(16)
46
48
  })
47
49
  let params = {
48
50
  uniformBizInfo: {
49
51
  tenantId: 1024,
50
52
  ua: 1,
51
53
  buId: commonParam.buId || 377,
52
54
  bMallTag: bMallTag,
53
55
  },
54
56
  commonParam: {
55
57
  pid: 100,
56
58
  verticalCode: 'cn_retail_bmall',
57
59
  ua: 1,
58
60
  language: 'zh',
59
61
  },
60
62
  operations: [{ TheSkus: [{ Id: skuId, num: num || 1 }] }],
61
63
  apolloId: APOLLO.apolloId,
62
64
  apolloSecret: APOLLO.apolloSecret,
63
65
  client: 'H5',
64
66
  verticalTag: 'cn_retail_bmall',
65
67
  carttype: bMallTag == 1 ? 21 : 22,
66
68
  bMallTag: bMallTag,
67
69
  traceId: getUuid(),
68
70
  noResponse: true,
69
71
  }
70
72
  if (skuUuid) {
71
73
  params.operations[0].TheSkus[0].skuUuid = skuUuid
72
74
  }
73
75
  if (window?.siteTransResult?.gridInfoList) {
74
76
  params = {
75
77
  ...params,
76
78
  cartLocationList: [
77
79
  {
78
80
  gridInfos:
79
81
  window?.siteTransResult?.gridInfoList &&
80
82
  JSON.parse(window?.siteTransResult?.gridInfoList),
81
83
  areaIdSet:
82
84
  window?.siteTransResult?.area &&
83
85
  window?.siteTransResult?.area?.split('-'),
84
86
  },
85
87
  ],
86
88
  }
87
89
  }
88
90
  return params
@@ -0,0 +1 @@
1
+ export const HttpStatus = {
2
  SUCCESS: 200,
1
3
  CREATED: 201,
2
4
  ACCEPTED: 202,
3
5
  CLIENT_ERROR: 400,
4
6
  AUTHENTICATE: 401,
5
7
  FORBIDDEN: 403,
6
8
  NOT_FOUND: 404,
7
9
  SERVER_ERROR: 500,
8
10
  BAD_GATEWAY: 502,
9
11
  SERVICE_UNAVAILABLE: 503,
10
12
  GATEWAY_TIMEOUT: 504
11
13
  [HttpStatus.NOT_FOUND]: "请求资源不存在",
12
14
  [HttpStatus.BAD_GATEWAY]: "服务端异常,请稍后重试",
13
15
  [HttpStatus.FORBIDDEN]: "没有权限访问",
14
16
  [HttpStatus.AUTHENTICATE]: "需要鉴权",
15
17
  [HttpStatus.SUCCESS]: "成功"
16
18
  "getPagePreview"
17
19
  "getShopHomeFloorInfo",
18
20
  "getShopCategory",
19
21
  "getShopNavigationCategory",
20
22
  "receiveShopCoupon",
21
23
  "getShopHomePromotionWebPage",
22
24
  "shopGuessYouLike",
23
25
  "addRemind",
24
26
  "cancelRemind",
25
27
  "getVipDetail",
26
28
  "shopDetail",
27
29
  "address_queryAddress",
28
30
  "shopMemberSprintJoinActivity",
29
31
  "shopMemberSprintReceivePrize"
@@ -0,0 +1 @@
1
+ import Taro, { RequestTask } from '@tarojs/taro'
2
  jsonHeader = 'application/json;charset=utf-8',
1
3
  formDataHeader = 'application/x-www-form-urlencoded',
2
4
  public fmInfo: {
3
5
  eid?: string
4
6
  fp?: string
5
7
  jsToken?: string
6
8
  sdkToken?: string
7
9
  }
8
10
  public api: ServiceInterFace.HttpApi
9
11
  constructor() {
10
12
  this._init()
11
13
  this.api = api
12
14
  this.fmInfo = {}
13
15
  }
14
16
  _init(): void {
15
17
  httpInterceptors.forEach((item) => {
16
18
  Taro.addInterceptor((chain) => item(chain))
17
19
  })
18
20
  }
19
21
 
20
22
  get(url: string, data: any = null, otherOptions = {}): Taro.RequestTask<any> {
21
23
  return this.request({ url, data, method: 'GET', ...otherOptions })
22
24
  }
23
25
 
24
26
  post(
25
27
  url: string,
26
28
  data: any = null,
27
29
  otherOptions = {},
28
30
  ): Taro.RequestTask<any> {
29
31
  return this.request({ url, data, method: 'POST', ...otherOptions })
30
32
  }
31
33
 
32
34
  _getMobileJsToken(): Promise<{
33
35
  ok: boolean
34
36
  data?: any
35
37
  error?: any
36
38
  }> {
37
39
  return new Promise((resolve, reject) => {
38
40
  try {
39
41
  if (window?.getJsToken) {
40
42
  window.getJsToken(function (res) {
41
43
  console.log('JS token 获取结果:', res)
42
44
  resolve({
43
45
  ok: true,
44
46
  data: res,
45
47
  })
46
48
  }, 600)
47
49
  } else {
48
50
  reject({
49
51
  ok: false,
50
52
  error: '没有识别到getJsToken全局方法',
51
53
  })
52
54
  }
53
55
  } catch (e) {
54
56
  console.log('获取指纹JS token 异常', e)
55
57
  reject({
56
58
  ok: false,
57
59
  error: e,
58
60
  })
59
61
  }
60
62
  })
61
63
  }
62
64
 
63
65
  async _getFmInfo() {
64
66
  try {
65
67
  const { ok, data } = await this._getMobileJsToken()
66
68
  this.fmInfo = ok && data ? data : this.fmInfo
67
69
  return this.fmInfo
68
70
  } catch (e) {
69
71
  console.log('获取指纹信息异常', e)
70
72
  return this.fmInfo
71
73
  }
72
74
  }
73
75
 
74
76
  async request({
75
77
  url,
76
78
  method = 'POST',
77
79
  timeout = 7000,
78
80
  ...otherOptions
79
81
  }): RequestTask<any> {
80
82
  const header = {
81
83
  'content-type':
82
84
  method === 'POST'
83
85
  ? RequestHeaderContentType.formDataHeader
84
86
  : RequestHeaderContentType.jsonHeader,
85
87
  }
86
88
  const getReqData = otherOptions.data
87
89
  if (url === this.api.apiFunc && typeof getReqData === 'object') {
88
90
  const { jsToken } = await this._getFmInfo()
89
91
  jsToken && (getReqData['x-api-eid-token'] = jsToken)
90
92
  }
91
93
  const requestTask = Taro.request({
92
94
  url,
93
95
  method,
94
96
  timeout,
95
97
  header,
96
98
  credentials: 'include',
97
99
  ...otherOptions,
98
100
  })
99
101
  const requestTimeoutPromise =
100
102
  new Promise<ServiceInterFace.RequestPromiseRes>((resolve) => {
101
103
  setTimeout(() => {
102
104
  resolve({
103
105
  statusCode: 500,
104
106
  resTimeoutState: true,
105
107
  errMsg: 'request timeout',
106
108
  })
107
109
  }, timeout)
108
110
  })
109
111
  return Promise.race([requestTask, requestTimeoutPromise]).then(
110
112
  (res: any) => {
111
113
  if (res && res.statusCode === 500 && res.resTimeoutState) {
112
114
  console.log('request 请求超时 url:' + url)
113
115
  requestTask.abort && requestTask.abort()
114
116
  }
115
117
  return res
116
118
  },
117
119
  )
118
120
  }
@@ -0,0 +1 @@
1
+ import Taro from '@tarojs/taro'
@@ -0,0 +1 @@
1
+ import Taro from '@tarojs/taro'
@@ -0,0 +1 @@
1
+ import Http from './http'