@conecli/cone-render 0.10.1-shop3.3 → 0.10.1-shop3.5

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 (32) hide show
  1. package/dist/api/index.ts +1 -1
  2. package/dist/common/const.ts +1 -1
  3. package/dist/components/base/CustomScrollView/index.tsx +1 -1
  4. package/dist/components/base/ExposureSmart/index.h5.module.scss +12 -2
  5. package/dist/components/base/ExposureSmart/index.h5.tsx +1 -1
  6. package/dist/components/base/ExposureSmart/reporter.tsx +1 -1
  7. package/dist/components/base/ItemViewExposureSmart/index.module.scss +2 -2
  8. package/dist/components/base/ItemViewExposureSmart/index.tsx +1 -1
  9. package/dist/interface/jumpEventReport.ts +1 -1
  10. package/dist/interface/service.ts +1 -1
  11. package/dist/jumpEventReport/base.ts +1 -1
  12. package/dist/jumpEventReport/jdJumpJdApp.ts +1 -1
  13. package/dist/jumpEventReport/jumpUrlConfig/base.ts +1 -1
  14. package/dist/jumpEventReport/logEventConfig.ts +1 -1
  15. package/dist/jumpEventReport/web/report.ts +1 -1
  16. package/dist/jumpEventReport/web.base.ts +1 -1
  17. package/dist/jumpEventReport/web.jd.ts +1 -1
  18. package/dist/modules/ContainerFloorList/index.h5.module.scss +3 -0
  19. package/dist/modules/ContainerFloorList/index.h5.tsx +1 -1
  20. package/dist/open/api/util.ts +1 -1
  21. package/dist/service/http/colorSign.ts +1 -1
  22. package/dist/service/http/const.ts +1 -1
  23. package/dist/service/requestServer.h5.ts +1 -1
  24. package/dist/service/requestServer.ts +1 -1
  25. package/dist/utils/connectNativeJsBridge.ts +1 -1
  26. package/dist/utils/h5Utils.ts +1 -1
  27. package/dist/utils/index.h5.ts +1 -1
  28. package/dist/utils/index.ts +1 -1
  29. package/dist/utils/index.weapp.ts +1 -1
  30. package/dist/utils/sColor.js +1 -0
  31. package/dist/utils/utils.ts +1 -1
  32. package/package.json +1 -1
@@ -1 +1 @@
1
- import { ServiceInterFace } from '../../interface'
2
1
  AppVerifyColorList,
3
2
  SHOP_VERIFY_CODE,
4
3
  PAGES_VERIFY_CODE,
5
4
  B2B_VERITY_CODE,
6
5
  PAGES_DOMAIN,
7
6
  B2BColorFunctionIdList,
8
7
  public fmInfo: {
9
8
  eid?: string
10
9
  fp?: string
11
10
  jsToken?: string
12
11
  sdkToken?: string
13
12
  }
14
13
  public api: ServiceInterFace.HttpApi
15
14
  public paramsSignInstance: any
16
15
  public paramsSignPagesInstance: any
17
16
  public paramsSignBmallInstance: any
18
17
  public isPageDomain: boolean
19
18
  public initParamsSignInstance: any
20
19
  public initJsTokenInstance: any
21
20
  constructor() {
22
21
  this.api = api
23
22
  this.isPageDomain = location?.hostname === PAGES_DOMAIN
24
23
  this.paramsSignInstance = undefined
25
24
  this.paramsSignPagesInstance = undefined
26
25
  this.paramsSignBmallInstance = undefined
27
26
  this.initParamsSignInstance = undefined
28
27
  this.initJsTokenInstance = undefined
29
28
  this.fmInfo = {}
30
29
  }
31
30
 
32
31
  _loadSingleJs(jsFileName, successCallback?, failCallback?) {
33
32
  const jsInfo = global.loadJsSdkList.find(
34
33
  (item) => item?.fileName === jsFileName,
35
34
  )
36
35
  if (jsInfo) {
37
36
  global
38
37
  .loadItemSdkPromise(jsInfo)
39
38
  .then(() => {
40
39
  typeof successCallback === 'function' && successCallback()
41
40
  })
42
41
  .catch(() => {
43
42
  console.info('业务发起接口请求前置加载js异常' + jsInfo?.src)
44
43
  typeof failCallback === 'function' && failCallback()
45
44
  })
46
45
  } else {
47
46
  typeof failCallback === 'function' && failCallback()
48
47
  }
49
48
  }
50
49
 
51
50
  _getMobileJsToken(): Promise<{
52
51
  ok: boolean
53
52
  data?: any
54
53
  error?: any
55
54
  }> {
56
55
  return this._handleInitJsToken().then(() => {
57
56
  try {
58
57
  if (window?.getJsToken) {
59
58
  return new Promise((resolve) => {
60
59
  window.getJsToken(function (res) {
61
60
  console.log('JS token 获取结果', res)
62
61
  resolve({
63
62
  ok: true,
64
63
  data: res,
65
64
  })
66
65
  }, 600)
67
66
  })
68
67
  } else {
69
68
  console.log('没有识别到getJsToken全局方法')
70
69
  return Promise.resolve({
71
70
  ok: false,
72
71
  error: '没有识别到getJsToken全局方法',
73
72
  })
74
73
  }
75
74
  } catch (e) {
76
75
  console.log('获取指纹JS token 异常', e)
77
76
  return Promise.resolve({
78
77
  ok: false,
79
78
  error: e,
80
79
  })
81
80
  }
82
81
  })
83
82
  }
84
83
 
85
84
  async getFmInfo() {
86
85
  try {
87
86
  const { ok, data } = await this._getMobileJsToken()
88
87
  this.fmInfo = ok && data ? data : this.fmInfo
89
88
  return this.fmInfo
90
89
  } catch (e) {
91
90
  console.log('获取指纹信息异常', e)
92
91
  return this.fmInfo
93
92
  }
94
93
  }
95
94
 
96
95
  _initSign() {
97
96
  this.paramsSignInstance = window.PSign
98
97
  ? window.PSign
99
98
  : window.ParamsSign
100
99
  ? this._initParamsSignInstance(SHOP_VERIFY_CODE)
101
100
  : null
102
101
  this.paramsSignPagesInstance = window.ParamsSign
103
102
  ? this._initParamsSignInstance(PAGES_VERIFY_CODE)
104
103
  : null
105
104
  this.paramsSignBmallInstance = window.ParamsSign
106
105
  ? this._initParamsSignInstance(B2B_VERITY_CODE)
107
106
  : null
108
107
  }
109
108
 
110
109
  _initParamsSignInstance(appId) {
111
110
  return new window.ParamsSign({
112
111
  appId: appId,
113
112
  debug: false,
114
113
  preRequest: false,
115
114
  onSign: ({ code }) => {
116
115
  console.log('签名可用率监控', code)
117
116
  },
118
117
  onRequestTokenRemotely: ({ code, message }) => {
119
118
  console.log('算法接口可用率监控', code, message)
120
119
  },
121
120
  onRequestToken: ({ code, message }) => {
122
121
  console.log('token的可用率监控', code, message)
123
122
  },
124
123
  })
125
124
  }
126
125
 
127
126
  paramsSign(data) {
128
127
  try {
129
128
  return this._handleInitSign().then(() => {
130
129
  console.log('获取加签参数', data, this.paramsSignInstance)
131
130
  if (!data || typeof data !== 'object' || !this.paramsSignInstance) {
132
131
  return Promise.resolve(data)
133
132
  } else {
134
133
  const param: any = {
135
134
  appid: data.appid,
136
135
  client: data.client,
137
136
  clientVersion: data.clientVersion,
138
137
  functionId: data.functionId,
139
138
  t: data.t,
140
139
  sign: data?.sign,
141
140
  jsonp: data?.jsonp,
142
141
  }
143
142
  data && data.body && (param.body = sha256(data.body).toString())
144
143
  console.log(
145
144
  '获取加签前的参数处理',
146
145
  param,
147
146
  '获取下发data',
148
147
  data,
149
148
  '获取加签实例',
150
149
  this.paramsSignInstance,
151
150
  this.paramsSignPagesInstance,
152
151
  )
153
152
  return this.isPageDomain &&
154
153
  this.paramsSignPagesInstance &&
155
154
  AppVerifyColorList.includes(param.functionId)
156
155
  ? this.paramsSignPagesInstance.sign(param)
157
156
  : this.paramsSignBmallInstance &&
158
157
  B2BColorFunctionIdList.includes(param.functionId)
159
158
  ? this.paramsSignBmallInstance.sign(param)
160
159
  : this.paramsSignInstance.sign(param)
161
160
  }
162
161
  })
163
162
  } catch (e) {
164
163
  console.log('获取加签参数结果异常', e)
165
164
  return Promise.resolve(data)
166
165
  }
167
166
  }
168
167
 
169
168
  _handleInitSign() {
170
169
  if (!this.initParamsSignInstance) {
171
170
  this.initParamsSignInstance = new Promise((resolve) => {
172
171
  if (window?.ParamsSign) {
173
172
  this._initSign()
174
173
  resolve({
175
174
  ok: true,
176
175
  msg: '加固js已加载',
177
176
  })
178
177
  } else if (window?.PAGE_DATA?.asyncLoadSecurityJs) {
179
178
  this._loadSingleJs(
180
179
  'securityJs',
181
180
  () => {
182
181
  this._initSign()
183
182
  resolve({
184
183
  ok: true,
185
184
  msg: '异步请求加固js成功加载',
186
185
  })
187
186
  },
188
187
  () => {
189
188
  resolve({
190
189
  ok: true,
191
190
  msg: '加固js加载异常',
192
191
  })
193
192
  },
194
193
  )
195
194
  } else {
196
195
  resolve({
197
196
  ok: true,
198
197
  msg: '加固js开关配置为false不加载',
199
198
  })
200
199
  }
201
200
  })
202
201
  }
203
202
  return this.initParamsSignInstance
204
203
  }
205
204
 
206
205
  _handleInitJsToken() {
207
206
  if (!this.initJsTokenInstance) {
208
207
  this.initJsTokenInstance = new Promise((resolve) => {
209
208
  if (window?.getJsToken) {
210
209
  resolve({
211
210
  ok: true,
212
211
  msg: '指纹js已加载',
213
212
  })
214
213
  } else if (window?.PAGE_DATA?.asyncLoadMtkJs) {
215
214
  this._loadSingleJs(
216
215
  'mtkJs',
217
216
  () => {
218
217
  resolve({
219
218
  ok: true,
220
219
  msg: '异步请求指纹js成功加载',
221
220
  })
222
221
  },
223
222
  () => {
224
223
  resolve({
225
224
  ok: true,
226
225
  msg: '指纹js加载异常',
227
226
  })
228
227
  },
229
228
  )
230
229
  } else {
231
230
  resolve({
232
231
  ok: true,
233
232
  msg: '指纹js开关配置为false不加载',
234
233
  })
235
234
  }
236
235
  })
237
236
  }
238
237
  return this.initJsTokenInstance
239
238
  }
239
+ import { ServiceInterFace } from '../../interface';
240
240
  SHOP_VERIFY_CODE,
241
241
  PAGES_VERIFY_CODE,
242
242
  B2B_VERITY_CODE,
243
243
  PAGES_DOMAIN,
244
244
  B2BColorFunctionIdList,
245
245
  APPID,
246
246
  public fmInfo: {
247
247
  eid?: string;
248
248
  fp?: string;
249
249
  jsToken?: string;
250
250
  sdkToken?: string;
251
251
  };
252
252
  public api: ServiceInterFace.HttpApi;
253
253
  public paramsSignInstance: any;
254
254
  public paramsSignPagesInstance: any;
255
255
  public paramsSignBmallInstance: any;
256
256
  public isPageDomain: boolean;
257
257
  public initParamsSignInstance: any;
258
258
  public initJsTokenInstance: any;
259
259
  constructor() {
260
260
  this.api = api;
261
261
  this.isPageDomain = location?.hostname === PAGES_DOMAIN;
262
262
  this.paramsSignInstance = undefined;
263
263
  this.paramsSignPagesInstance = undefined;
264
264
  this.paramsSignBmallInstance = undefined;
265
265
  this.initParamsSignInstance = undefined;
266
266
  this.initJsTokenInstance = undefined;
267
267
  this.fmInfo = {};
268
268
  }
269
269
 
270
270
  _loadSingleJs(jsFileName, successCallback?, failCallback?) {
271
271
  const jsInfo = global.loadJsSdkList.find((item) => item?.fileName === jsFileName);
272
272
  if (jsInfo) {
273
273
  global
274
274
  .loadItemSdkPromise(jsInfo)
275
275
  .then(() => {
276
276
  typeof successCallback === 'function' && successCallback();
277
277
  })
278
278
  .catch(() => {
279
279
  console.info('业务发起接口请求前置加载js异常' + jsInfo?.src);
280
280
  typeof failCallback === 'function' && failCallback();
281
281
  });
282
282
  } else {
283
283
  typeof failCallback === 'function' && failCallback();
284
284
  }
285
285
  }
286
286
 
287
287
  _getMobileJsToken(): Promise<{
288
288
  ok: boolean;
289
289
  data?: any;
290
290
  error?: any;
291
291
  }> {
292
292
  return this._handleInitJsToken().then(() => {
293
293
  try {
294
294
  if (window?.getJsToken) {
295
295
  return new Promise((resolve) => {
296
296
  window.getJsToken(function (res) {
297
297
  console.log('JS token 获取结果', res);
298
298
  resolve({
299
299
  ok: true,
300
300
  data: res,
301
301
  });
302
302
  }, 600);
303
303
  });
304
304
  } else {
305
305
  console.log('没有识别到getJsToken全局方法');
306
306
  return Promise.resolve({
307
307
  ok: false,
308
308
  error: '没有识别到getJsToken全局方法',
309
309
  });
310
310
  }
311
311
  } catch (e) {
312
312
  console.log('获取指纹JS token 异常', e);
313
313
  return Promise.resolve({
314
314
  ok: false,
315
315
  error: e,
316
316
  });
317
317
  }
318
318
  });
319
319
  }
320
320
 
321
321
  async getFmInfo() {
322
322
  try {
323
323
  const { ok, data } = await this._getMobileJsToken();
324
324
  this.fmInfo = ok && data ? data : this.fmInfo;
325
325
  return this.fmInfo;
326
326
  } catch (e) {
327
327
  console.log('获取指纹信息异常', e);
328
328
  return this.fmInfo;
329
329
  }
330
330
  }
331
331
 
332
332
  _initSign() {
333
333
  this.paramsSignInstance = window.PSign
334
334
  ? window.PSign
335
335
  : window.ParamsSign
336
336
  ? this._initParamsSignInstance(SHOP_VERIFY_CODE)
337
337
  : null;
338
338
  this.paramsSignPagesInstance = window.ParamsSign
339
339
  ? this._initParamsSignInstance(PAGES_VERIFY_CODE)
340
340
  : null;
341
341
  this.paramsSignBmallInstance = window.ParamsSign
342
342
  ? this._initParamsSignInstance(B2B_VERITY_CODE)
343
343
  : null;
344
344
  }
345
345
 
346
346
  _initParamsSignInstance(appId) {
347
347
  return new window.ParamsSign({
348
348
  appId: appId,
349
349
  debug: false,
350
350
  preRequest: false,
351
351
  onSign: ({ code }) => {
352
352
  console.log('签名可用率监控', code);
353
353
  },
354
354
  onRequestTokenRemotely: ({ code, message }) => {
355
355
  console.log('算法接口可用率监控', code, message);
356
356
  },
357
357
  onRequestToken: ({ code, message }) => {
358
358
  console.log('token的可用率监控', code, message);
359
359
  },
360
360
  });
361
361
  }
362
362
 
363
363
  paramsSign(data) {
364
364
  try {
365
365
  return this._handleInitSign().then(() => {
366
366
  console.log('获取加签参数', data, this.paramsSignInstance);
367
367
  if (!data || typeof data !== 'object' || !this.paramsSignInstance) {
368
368
  return Promise.resolve(data);
369
369
  } else {
370
370
  const param: any = {
371
371
  appid: data.appid,
372
372
  client: data.client,
373
373
  clientVersion: data.clientVersion,
374
374
  functionId: data.functionId,
375
375
  t: data.t,
376
376
  sign: data?.sign,
377
377
  jsonp: data?.jsonp,
378
378
  };
379
379
  data && data.body && (param.body = sha256(data.body).toString());
380
380
  console.log(
381
381
  '获取加签前的参数处理',
382
382
  param,
383
383
  '获取下发data',
384
384
  data,
385
385
  '获取加签实例',
386
386
  this.paramsSignInstance,
387
387
  this.paramsSignPagesInstance,
388
388
  );
389
389
  return this._checkFunctionIdNeedSignForPages(data)
390
390
  ? this.paramsSignPagesInstance.sign(param)
391
391
  : this.paramsSignBmallInstance && B2BColorFunctionIdList.includes(param.functionId)
392
392
  ? this.paramsSignBmallInstance.sign(param)
393
393
  : this.paramsSignInstance.sign(param);
394
394
  }
395
395
  });
396
396
  } catch (e) {
397
397
  console.log('获取加签参数结果异常', e);
398
398
  return Promise.resolve(data);
399
399
  }
400
400
  }
401
401
 
402
402
  _checkFunctionIdNeedSignForPages(data) {
403
403
  const { appid, functionId } = data;
404
404
  return (
405
405
  this.isPageDomain &&
406
406
  this.paramsSignPagesInstance &&
407
407
  appid === APPID.PAGES_COLOR_APPID &&
408
408
  functionId
409
409
  );
410
410
  }
411
411
 
412
412
  _handleInitSign() {
413
413
  if (!this.initParamsSignInstance) {
414
414
  this.initParamsSignInstance = new Promise((resolve) => {
415
415
  if (window?.ParamsSign) {
416
416
  this._initSign();
417
417
  resolve({
418
418
  ok: true,
419
419
  msg: '加固js已加载',
420
420
  });
421
421
  } else if (window?.PAGE_DATA?.asyncLoadSecurityJs) {
422
422
  this._loadSingleJs(
423
423
  'securityJs',
424
424
  () => {
425
425
  this._initSign();
426
426
  resolve({
427
427
  ok: true,
428
428
  msg: '异步请求加固js成功加载',
429
429
  });
430
430
  },
431
431
  () => {
432
432
  resolve({
433
433
  ok: true,
434
434
  msg: '加固js加载异常',
435
435
  });
436
436
  },
437
437
  );
438
438
  } else {
439
439
  resolve({
440
440
  ok: true,
441
441
  msg: '加固js开关配置为false不加载',
442
442
  });
443
443
  }
444
444
  });
445
445
  }
446
446
  return this.initParamsSignInstance;
447
447
  }
448
448
 
449
449
  _handleInitJsToken() {
450
450
  if (!this.initJsTokenInstance) {
451
451
  this.initJsTokenInstance = new Promise((resolve) => {
452
452
  if (window?.getJsToken) {
453
453
  resolve({
454
454
  ok: true,
455
455
  msg: '指纹js已加载',
456
456
  });
457
457
  } else if (window?.PAGE_DATA?.asyncLoadMtkJs) {
458
458
  this._loadSingleJs(
459
459
  'mtkJs',
460
460
  () => {
461
461
  resolve({
462
462
  ok: true,
463
463
  msg: '异步请求指纹js成功加载',
464
464
  });
465
465
  },
466
466
  () => {
467
467
  resolve({
468
468
  ok: true,
469
469
  msg: '指纹js加载异常',
470
470
  });
471
471
  },
472
472
  );
473
473
  } else {
474
474
  resolve({
475
475
  ok: true,
476
476
  msg: '指纹js开关配置为false不加载',
477
477
  });
478
478
  }
479
479
  });
480
480
  }
481
481
  return this.initJsTokenInstance;
482
482
  }
@@ -1 +1 @@
1
- export const HttpStatus = {
2
1
  SUCCESS: 200,
3
2
  CREATED: 201,
4
3
  ACCEPTED: 202,
5
4
  CLIENT_ERROR: 400,
6
5
  AUTHENTICATE: 401,
7
6
  FORBIDDEN: 403,
8
7
  NOT_FOUND: 404,
9
8
  SERVER_ERROR: 500,
10
9
  BAD_GATEWAY: 502,
11
10
  SERVICE_UNAVAILABLE: 503,
12
11
  GATEWAY_TIMEOUT: 504,
13
12
  [HttpStatus.NOT_FOUND]: '请求资源不存在',
14
13
  [HttpStatus.BAD_GATEWAY]: '服务端异常,请稍后重试',
15
14
  [HttpStatus.FORBIDDEN]: '没有权限访问',
16
15
  [HttpStatus.AUTHENTICATE]: '需要鉴权',
17
16
  [HttpStatus.SUCCESS]: '成功',
18
17
  'whx_getShopHomeFloorInfo',
19
18
  'whx_searchWare',
20
19
  'shopGuessYouLike',
21
20
  'whx_getMShopCategory',
22
21
  'whx_newWareList',
23
22
  'getShopHomePromotionWebPage',
24
23
  'whx_getShopCampaignPage',
25
24
  'whx_getPromotionWares',
26
25
  'whx_buyerShowPage',
27
26
  'whx_getShopGwredPage',
28
27
  'whx_getShopSpeciSecKillPage',
29
28
  'whx_getSignInfo',
30
29
  'whx_getSignPrize',
31
30
  'getShopHomeFloorInfo',
32
31
  'shopGuessYouLike',
33
32
  'getShopHomePromotionWebPage',
34
33
  'getVipDetail',
35
34
  'getShopCategory',
36
35
  'getShopNavigationCategory',
37
36
  'getPagePreview',
38
37
  'bmall_cart',
39
38
  'bmall_getOmittedProduct',
40
39
  'bmall_cartAdd',
41
40
  'bmall_cartChange',
42
41
  'bmall_cartRemove',
43
42
  "whx_getShopHomeFloorInfo",
44
43
  "whx_searchWare",
45
44
  "shopGuessYouLike",
46
45
  "whx_getMShopCategory",
47
46
  "whx_newWareList",
48
47
  "getShopHomePromotionWebPage",
49
48
  "whx_getShopCampaignPage",
50
49
  "whx_getPromotionWares",
51
50
  "whx_buyerShowPage"
52
51
  'getShopHomeFloorInfo',
53
52
  'getShopCategory',
54
53
  'getShopNavigationCategory',
55
54
  'receiveShopCoupon',
56
55
  'getShopHomePromotionWebPage',
57
56
  'shopGuessYouLike',
58
57
  'addRemind',
59
58
  'cancelRemind',
60
59
  'getVipDetail',
61
60
  'shopDetail',
62
61
  'address_queryAddress',
63
62
  'shopMemberSprintJoinActivity',
64
63
  'shopMemberSprintReceivePrize',
65
64
  'customerCenterDispatch'
66
65
  'bmall_cart',
67
66
  'bmall_getOmittedProduct',
68
67
  'bmall_cartAdd',
69
68
  'bmall_cartChange',
70
69
  'bmall_cartRemove',
71
70
  SHOP_COLOR_APPID: 'shop_m_jd_com',
72
71
  JSHOPX_COLOR_APPID: 'jshopx_jd_com',
73
72
  PAGES_COLOR_APPID: 'pages_jd_com',
74
73
  B2B_COLOR_APPID: 'b2b',
75
74
  SHOP_MEMBER_COLOR_APPID: 'shopmember_m_jd_com',
76
75
  MALL_COLOR_APPID: 'mall_jd_com'
76
+ export const HttpStatus = {
77
77
  SUCCESS: 200,
78
78
  CREATED: 201,
79
79
  ACCEPTED: 202,
80
80
  CLIENT_ERROR: 400,
81
81
  AUTHENTICATE: 401,
82
82
  FORBIDDEN: 403,
83
83
  NOT_FOUND: 404,
84
84
  SERVER_ERROR: 500,
85
85
  BAD_GATEWAY: 502,
86
86
  SERVICE_UNAVAILABLE: 503,
87
87
  GATEWAY_TIMEOUT: 504,
88
88
  [HttpStatus.NOT_FOUND]: '请求资源不存在',
89
89
  [HttpStatus.BAD_GATEWAY]: '服务端异常,请稍后重试',
90
90
  [HttpStatus.FORBIDDEN]: '没有权限访问',
91
91
  [HttpStatus.AUTHENTICATE]: '需要鉴权',
92
92
  [HttpStatus.SUCCESS]: '成功',
93
93
  'whx_getShopHomeFloorInfo',
94
94
  'whx_searchWare',
95
95
  'shopGuessYouLike',
96
96
  'whx_getMShopCategory',
97
97
  'whx_newWareList',
98
98
  'getShopHomePromotionWebPage',
99
99
  'whx_getShopCampaignPage',
100
100
  'whx_getPromotionWares',
101
101
  'whx_buyerShowPage',
102
102
  'whx_getShopGwredPage',
103
103
  'whx_getShopSpeciSecKillPage',
104
104
  'whx_getSignInfo',
105
105
  'whx_getSignPrize',
106
106
  'getShopHomeFloorInfo',
107
107
  'shopGuessYouLike',
108
108
  'getShopHomePromotionWebPage',
109
109
  'getVipDetail',
110
110
  'getShopCategory',
111
111
  'getShopNavigationCategory',
112
112
  'getPagePreview',
113
113
  'bmall_cart',
114
114
  'bmall_getOmittedProduct',
115
115
  'bmall_cartAdd',
116
116
  'bmall_cartChange',
117
117
  'bmall_cartRemove',
118
118
  'whx_getShopHomeFloorInfo',
119
119
  'whx_searchWare',
120
120
  'shopGuessYouLike',
121
121
  'whx_getMShopCategory',
122
122
  'whx_newWareList',
123
123
  'getShopHomePromotionWebPage',
124
124
  'whx_getShopCampaignPage',
125
125
  'whx_getPromotionWares',
126
126
  'whx_buyerShowPage',
127
127
  'getShopHomeFloorInfo',
128
128
  'getShopCategory',
129
129
  'getShopNavigationCategory',
130
130
  'giftCardAddCart',
131
131
  'receiveShopCoupon',
132
132
  'getShopHomePromotionWebPage',
133
133
  'shopGuessYouLike',
134
134
  'addRemind',
135
135
  'cancelRemind',
136
136
  'getVipDetail',
137
137
  'shopDetail',
138
138
  'address_queryAddress',
139
139
  'shopMemberSprintJoinActivity',
140
140
  'shopMemberSprintReceivePrize',
141
141
  'bmall_cart',
142
142
  'bmall_getOmittedProduct',
143
143
  'bmall_cartAdd',
144
144
  'bmall_cartChange',
145
145
  'bmall_cartRemove',
146
146
  SHOP_COLOR_APPID: 'shop_m_jd_com',
147
147
  JSHOPX_COLOR_APPID: 'jshopx_jd_com',
148
148
  PAGES_COLOR_APPID: 'pages_jd_com',
149
149
  B2B_COLOR_APPID: 'b2b',
150
150
  SHOP_MEMBER_COLOR_APPID: 'shopmember_m_jd_com',
151
151
  MALL_COLOR_APPID: 'mall_jd_com',