Authored by 郭成尧

合并develop,接口数据处理

@@ -10,6 +10,7 @@ const mRoot = '../models'; @@ -10,6 +10,7 @@ const mRoot = '../models';
10 const detail = require(`${mRoot}/detail`); // 商品详情 model 10 const detail = require(`${mRoot}/detail`); // 商品详情 model
11 const intro = require(`${mRoot}/intro`); // 商品尺码信息 model 11 const intro = require(`${mRoot}/intro`); // 商品尺码信息 model
12 const preference = require(`${mRoot}/preference`); // 商品偏好 model 12 const preference = require(`${mRoot}/preference`); // 商品偏好 model
  13 +const _ = require('lodash');
13 14
14 /** 15 /**
15 * 商品基本信息 16 * 商品基本信息
@@ -18,11 +19,13 @@ const preference = require(`${mRoot}/preference`); // 商品偏好 model @@ -18,11 +19,13 @@ const preference = require(`${mRoot}/preference`); // 商品偏好 model
18 * @return {[type]} [description] 19 * @return {[type]} [description]
19 */ 20 */
20 exports.index = (req, res) => { 21 exports.index = (req, res) => {
21 - var vipLevel = 0; // 用户等级 22 + var vipLevel = 0; // 用户等级 待处理
  23 + var uid = _.isEmpty(req.user.uid) ? null : req.user.uid;
22 24
23 detail({ 25 detail({
24 - id: req.params.id,  
25 - uid: req.user.uid, 26 + id: req.params[0],
  27 + goodsId: req.params[1],
  28 + uid: uid,
26 vipLevel: vipLevel, 29 vipLevel: vipLevel,
27 ua: req.get('user-agent') || '' 30 ua: req.get('user-agent') || ''
28 }).then((result) => { 31 }).then((result) => {
@@ -501,18 +501,21 @@ const detailDataPkg = (origin, uid, vipLevel, ua) => { @@ -501,18 +501,21 @@ const detailDataPkg = (origin, uid, vipLevel, ua) => {
501 501
502 module.exports = (data) => { 502 module.exports = (data) => {
503 var finalResult; 503 var finalResult;
  504 + var params = {};
504 505
505 - return api.get('', sign.apiSign({  
506 - productId: data.id,  
507 - uid: data.uid,  
508 - vipLevel: data.vipLevel,  
509 - method: 'h5.product.data'  
510 - })).then(result => { 506 + params.productId = _.toString(data.id);
  507 + params.method = 'h5.product.data';
  508 +
  509 + if (!_.isEmpty(data.uid)) {
  510 + params.uid = data.uid;
  511 + }
  512 +
  513 + return api.get('', sign.apiSign(params)).then(result => {
511 finalResult = detailDataPkg(result, data.uid, data.vipLevel, data.ua); 514 finalResult = detailDataPkg(result, data.uid, data.vipLevel, data.ua);
512 515
513 return api.get('', sign.apiSign({ 516 return api.get('', sign.apiSign({
514 method: 'app.shop.queryShopsByBrandId', 517 method: 'app.shop.queryShopsByBrandId',
515 - brand_id: result.brand.id 518 + brand_id: _.toString(result.brandId)
516 })).then(shops => { 519 })).then(shops => {
517 if (shops.code === 200) { 520 if (shops.code === 200) {
518 finalResult.enterStore = getShopsInfo(shops.data); 521 finalResult.enterStore = getShopsInfo(shops.data);
@@ -16,7 +16,8 @@ const detail = require(`${cRoot}/detail`); @@ -16,7 +16,8 @@ const detail = require(`${cRoot}/detail`);
16 const sale = require(`${cRoot}/sale`); 16 const sale = require(`${cRoot}/sale`);
17 17
18 // routers 18 // routers
19 -router.get('/detail/index/:id/:gid', detail.index); 19 +router.get(/\/pro_([\d]+)_([\d]+)\/(.*)/, detail.index); // /pro_136349_455445/
  20 +// HEARTSOFARMianMaShuJiaoXiuXianKuPS1684.html
20 router.get('/detail/intro/:productskn', detail.intro); 21 router.get('/detail/intro/:productskn', detail.intro);
21 router.get('/detail/preference/:productskn/:yhchannel/:brandId', detail.preference); 22 router.get('/detail/preference/:productskn/:yhchannel/:brandId', detail.preference);
22 23
@@ -44,8 +44,10 @@ class Http { @@ -44,8 +44,10 @@ class Http {
44 return rp(options).then((result) => { 44 return rp(options).then((result) => {
45 let duration = timer.put('getApi');// 统计时间结束 45 let duration = timer.put('getApi');// 统计时间结束
46 46
  47 + console.log(result);
  48 +
47 // 数据校验 49 // 数据校验
48 - if (!result || !result.code) { 50 + if (!result) {
49 log.error('error: 接口返回的数据结构错误,非 JSON'); 51 log.error('error: 接口返回的数据结构错误,非 JSON');
50 return Promise.reject({ 52 return Promise.reject({
51 statusCode: 500, 53 statusCode: 500,