Authored by 郭成尧

合并develop,接口数据处理

... ... @@ -10,6 +10,7 @@ const mRoot = '../models';
const detail = require(`${mRoot}/detail`); // 商品详情 model
const intro = require(`${mRoot}/intro`); // 商品尺码信息 model
const preference = require(`${mRoot}/preference`); // 商品偏好 model
const _ = require('lodash');
/**
* 商品基本信息
... ... @@ -18,11 +19,13 @@ const preference = require(`${mRoot}/preference`); // 商品偏好 model
* @return {[type]} [description]
*/
exports.index = (req, res) => {
var vipLevel = 0; // 用户等级
var vipLevel = 0; // 用户等级 待处理
var uid = _.isEmpty(req.user.uid) ? null : req.user.uid;
detail({
id: req.params.id,
uid: req.user.uid,
id: req.params[0],
goodsId: req.params[1],
uid: uid,
vipLevel: vipLevel,
ua: req.get('user-agent') || ''
}).then((result) => {
... ...
... ... @@ -501,18 +501,21 @@ const detailDataPkg = (origin, uid, vipLevel, ua) => {
module.exports = (data) => {
var finalResult;
var params = {};
return api.get('', sign.apiSign({
productId: data.id,
uid: data.uid,
vipLevel: data.vipLevel,
method: 'h5.product.data'
})).then(result => {
params.productId = _.toString(data.id);
params.method = 'h5.product.data';
if (!_.isEmpty(data.uid)) {
params.uid = data.uid;
}
return api.get('', sign.apiSign(params)).then(result => {
finalResult = detailDataPkg(result, data.uid, data.vipLevel, data.ua);
return api.get('', sign.apiSign({
method: 'app.shop.queryShopsByBrandId',
brand_id: result.brand.id
brand_id: _.toString(result.brandId)
})).then(shops => {
if (shops.code === 200) {
finalResult.enterStore = getShopsInfo(shops.data);
... ...
... ... @@ -16,7 +16,8 @@ const detail = require(`${cRoot}/detail`);
const sale = require(`${cRoot}/sale`);
// routers
router.get('/detail/index/:id/:gid', detail.index);
router.get(/\/pro_([\d]+)_([\d]+)\/(.*)/, detail.index); // /pro_136349_455445/
// HEARTSOFARMianMaShuJiaoXiuXianKuPS1684.html
router.get('/detail/intro/:productskn', detail.intro);
router.get('/detail/preference/:productskn/:yhchannel/:brandId', detail.preference);
... ...
... ... @@ -44,8 +44,10 @@ class Http {
return rp(options).then((result) => {
let duration = timer.put('getApi');// 统计时间结束
console.log(result);
// 数据校验
if (!result || !result.code) {
if (!result) {
log.error('error: 接口返回的数据结构错误,非 JSON');
return Promise.reject({
statusCode: 500,
... ...