Authored by 周少峰

Merge branch 'feature/listFilter' into 'release/5.4'

Feature/list filter

筛选参数过滤

See merge request !58
... ... @@ -9,6 +9,7 @@
const router = require('express').Router(); // eslint-disable-line
const cRoot = './controllers';
const auth = require(`${global.middleware}/auth`);
const filter = require(`${global.middleware}/filter-qs`); // 参数过滤
// 商品详情controller
const detail = require(`${cRoot}/detail`);
... ... @@ -82,24 +83,24 @@ router.post('/detail/notify/add', auth, notify.add); // 增
router.post('/detail/notify/cancel', auth, notify.cancel); // 删除到货通知
// 搜索
router.get('/search/index', search.index);
router.get('/search/index', filter, search.index);
router.get('/search/filter/brands', search.serachFilterBrands);
router.get('/search/suggest', search.suggest); // 搜索提示
router.get('/api/suggest', search.suggest4Old);
// 商品分类列表页
router.get('/list/index', list.index);
router.get('/list/index', filter, list.index);
// 新品到着
router.get('/list/new', list.new);
router.get('/list/new', filter, list.new);
// 品牌店铺
router.get('/index/brand', list.brand); // 品牌店铺页
router.get('/index/brand', filter, list.brand); // 品牌店铺页
router.get('/index/about', list.brandAbout); // 品牌店铺介绍页
router.post('/index/isFavoriteBrand', list.isFavoriteBrand); // 判断用户是否收藏品牌
router.post('/index/getNodeContent', list.getNodeContent); // 品牌页水牌
router.post('/index/getAdnav', list.getAdnav); // 品牌页系列
router.get('/shoplist', list.shopList); // 店铺列表页
router.get('/shoplist', filter, list.shopList); // 店铺列表页
router.post('/shop/togglecollect', favorite.collectShop); // 店铺收藏
router.post('/index/isFavoriteShop', favorite.isFavShop); // 判断用户是否收藏品牌
router.get('/brand/couponsync', list.brandCouponSync);
... ...
/**
* query string 过滤
* @author: yyq<yanqing.yang@yoho.cn>
* @date: 2017/1/17
*/
'use strict';
const _ = require('lodash');
module.exports = (req, res, next) => {
let query = req.query;
let int = ['color', 'limit', 'specialsale_id', 'page', 'ageLevel'];
if (!_.isEmpty(query)) {
for (let i in query) {
if (query.hasOwnProperty(i)) {
if (!query[i]) {
return;
}
if (int.indexOf(i) !== -1) { // 查询参数类型转换
query[i] = parseInt(`0${query[i]}`, 10);
} else { // 过滤第三方推广参数错误拼接
let spt = query[i].split('?');
if (spt.length > 1) {
query[i] = spt[0];
}
}
}
}
}
next();
};
... ...