Authored by ccbikai

增加筛选过滤

@@ -126,26 +126,26 @@ exports.vip = (req, res) => { @@ -126,26 +126,26 @@ exports.vip = (req, res) => {
126 }); 126 });
127 }; 127 };
128 128
129 -exports.filter = (req, res) => { 129 +exports.search = (req, res) => {
130 let params = Object.assign({}, req.query); 130 let params = Object.assign({}, req.query);
131 131
132 - saleModel.getFilterData(params).then((result) => { 132 + saleModel.getSearchData(params).then((result) => {
133 res.render('product', { 133 res.render('product', {
134 layout: false, 134 layout: false,
135 params: params, 135 params: params,
136 - filter: result 136 + goods: result
137 }); 137 });
138 }); 138 });
139 }; 139 };
140 140
141 -exports.search = (req, res) => { 141 +exports.filter = (req, res) => {
142 let params = Object.assign({}, req.query); 142 let params = Object.assign({}, req.query);
143 143
144 - saleModel.getSearchData(params).then((result) => {  
145 - res.render('product', { 144 + saleModel.getFilterData(params).then((result) => {
  145 + res.render('filter', {
146 layout: false, 146 layout: false,
147 params: params, 147 params: params,
148 - goods: result 148 + filter: result
149 }); 149 });
150 }); 150 });
151 }; 151 };
@@ -227,8 +227,27 @@ const processProductList = (list, options) => { @@ -227,8 +227,27 @@ const processProductList = (list, options) => {
227 return pruductList; 227 return pruductList;
228 }; 228 };
229 229
230 -const processFilter = (list) => {  
231 - return list; 230 +/**
  231 + * 处理筛选数据
  232 + * @param list
  233 + * @param string | options
  234 + * @return array 处理之后的筛选数据
  235 + */
  236 +const processFilter = (list, options) => {
  237 + const filters = {
  238 + classify: {}
  239 + };
  240 +
  241 + options = Object.assign({
  242 + gender: '1,2,3', // 默认选择的性别,默认1,2,3表示所有
  243 + exclude: null // 需要排除的字段
  244 + }, options);
  245 + list = camelCase(list);
  246 +
  247 + _.forEach(list, (item, key) => {
  248 + console.log(key);
  249 + });
  250 + return filters;
232 }; 251 };
233 252
234 /** 253 /**
@@ -257,7 +276,9 @@ const processBreakingSort = (list) => { @@ -257,7 +276,9 @@ const processBreakingSort = (list) => {
257 }; 276 };
258 277
259 const searchSales = (params) => { 278 const searchSales = (params) => {
260 - params = params || {}; 279 + params = Object.assign({
  280 + limit: '20'
  281 + }, params);
261 282
262 if (typeCont[params.type]) { 283 if (typeCont[params.type]) {
263 params.order = typeCont[params.type][params.order]; 284 params.order = typeCont[params.type][params.order];
@@ -16,8 +16,9 @@ const detail = require(`${cRoot}/detail`); @@ -16,8 +16,9 @@ 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(/\/pro_([\d]+)_([\d]+)\/(.*)/, detail.index); // /pro_136349_455445/  
20 -// HEARTSOFARMianMaShuJiaoXiuXianKuPS1684.html 19 +
  20 +// /pro_136349_455445/HEARTSOFARMianMaShuJiaoXiuXianKuPS1684.html
  21 +router.get(/\/pro_([\d]+)_([\d]+)\/(.*)/, detail.index);
21 router.get('/detail/intro/:productskn', detail.intro); 22 router.get('/detail/intro/:productskn', detail.intro);
22 router.get('/detail/preference/:productskn/:yhchannel/:brandId', detail.preference); 23 router.get('/detail/preference/:productskn/:yhchannel/:brandId', detail.preference);
23 24
@@ -28,6 +29,7 @@ router.get('/breakCode', sale.breakCode); @@ -28,6 +29,7 @@ router.get('/breakCode', sale.breakCode);
28 router.get('/vip', sale.vip); 29 router.get('/vip', sale.vip);
29 30
30 router.get('/sale/search', sale.search); 31 router.get('/sale/search', sale.search);
  32 +router.get('/sale/filter', sale.filter);
31 33
32 // router.get('/outlet', sale.outlet); 34 // router.get('/outlet', sale.outlet);
33 35