|
|
/**
|
|
|
* Created by YanQing.Yang on 2017/3/9.
|
|
|
*/
|
|
|
|
|
|
'use strict';
|
|
|
|
|
|
const _ = require('lodash');
|
|
|
const helpers = global.yoho.helpers;
|
|
|
const mapSort = require(`${global.utils}/map-sort`);
|
|
|
const TYPE = require('../type');
|
|
|
|
|
|
module.exports = [
|
|
|
// 老版newURL
|
|
|
{
|
|
|
type: TYPE.redirect,
|
|
|
origin: '/new?gender=1,3&order=s_t_desc&msort=1,3,4,6,7,8,308,360',
|
|
|
target: helpers.urlFormat('/boys-new', {}, 'list')
|
|
|
},
|
|
|
{
|
|
|
type: TYPE.redirect,
|
|
|
origin: '/new?gender=2,3&order=s_t_desc&msort=1,3,4,6,7,8,308,360',
|
|
|
target: helpers.urlFormat('/girls-new', {}, 'list')
|
|
|
},
|
|
|
{
|
|
|
type: TYPE.redirect,
|
|
|
origin: '/new?order=s_t_desc&msort=365',
|
|
|
target: helpers.urlFormat('/kids-new', {}, 'list')
|
|
|
},
|
|
|
{
|
|
|
type: TYPE.redirect,
|
|
|
origin: '/new?order=s_t_desc&msort=10',
|
|
|
target: helpers.urlFormat('/lifestyle-new', {}, 'list')
|
|
|
},
|
|
|
|
|
|
// 筛选参数排序匹配
|
|
|
{
|
|
|
type: TYPE.redirect,
|
|
|
origin: req => {
|
|
|
if (_.isEmpty(req.query)) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
let sorts = mapSort(req.query);
|
|
|
let queryKeys = _.keys(req.query);
|
|
|
let index = 0;
|
|
|
let matched = _.map(sorts, (val, key) => {
|
|
|
return key === queryKeys[index++];
|
|
|
});
|
|
|
|
|
|
if (_.every(matched, match => match)) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
},
|
|
|
target: req => helpers.urlFormat(req.path, mapSort(req.query), 'list')
|
|
|
},
|
|
|
{
|
|
|
type: TYPE.rewrite,
|
|
|
origin: req => {
|
|
|
return !req.path || req.path === '/';
|
|
|
},
|
|
|
target: '/product/list/index'
|
|
|
},
|
|
|
{
|
|
|
type: TYPE.rewrite,
|
|
|
origin: /\/(.*)-new/,
|
|
|
target: (req, match, channel) => {
|
|
|
return `/product/list/${channel}-new`;
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
type: TYPE.rewrite,
|
|
|
origin: req => req.path === '/new',
|
|
|
target: '/product/list/new'
|
|
|
}
|
|
|
]; |
...
|
...
|
|