guang.js
2.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/**
* Created by TaoHuang on 2017/2/21.
*/
'use strict';
const helpers = global.yoho.helpers;
const TYPE = require('../type');
const MOBILE_DOMAIN = '//guang.m.yohobuy.com';
module.exports = [
// 老的首页
{
type: TYPE.redirect,
origin: (req) => {
return req.path === '/';
},
target: (req) => {
return helpers.urlFormat(`/${req.query.channel || 'boys'}/`, null, 'guang');
}
},
// 首页
{
type: TYPE.rewrite,
origin: /^\/(boys|girls|kids|lifestyle)(\/*)$/,
target: (req, match, p1) => {
req.query.channel = p1;
return `/guang/?chanel=${p1}`;
}
},
// 首页 + 类型
{
type: TYPE.rewrite,
origin: /^\/(boys|girls|kids|lifestyle)-t([\d]+)(\/*)$/,
target: (req, match, p1, p2) => {
req.query.channel = p1;
req.query.type = p2;
return `/guang/?chanel=${p1}&type=${p2}`;
}
},
// 列表页 + 类型 + 翻页
{
type: TYPE.rewrite,
origin: /^\/(boys|girls|kids|lifestyle)-t([\d]+)-p([\d]+)(\/*)$/,
target: (req, match, p1, p2, p3) => {
req.query.channel = p1;
req.query.type = p2;
req.query.page = p3;
return `/guang/index/index/?type=${p2}&channel=${p3}`;
}
},
// 老的编缉首页
{
type: TYPE.redirect,
origin: (req) => {
return /index\/editor/i.test(req.path);
},
target: (req) => {
let channel = req.yoho.channel;
let aid = req.query.author_id;
if (!aid) {
return helpers.urlFormat(`/${channel}/`, null, 'guang');
}
req.mobileUrl = `${MOBILE_DOMAIN}/author/${aid}/`;
return helpers.urlFormat(`/${channel}-author-i${aid}/`, null, 'guang');
}
},
// 编缉首页
{
type: TYPE.rewrite,
origin: /^\/(boys|girls|kids|lifestyle)-author-i([\d]+)(\/*)$/,
target: (req, match, p1, p2) => {
req.query.channel = p1;
req.query.author_id = p2;
req.mobileUrl = `${MOBILE_DOMAIN}/author/${p2}/`;
return `/guang/index/editor?channel=${p1}&author_id=${p2}`;
}
},
// 编缉首页 + 翻页
{
type: TYPE.rewrite,
origin: /^\/(boys|girls|kids|lifestyle)-author-i([\d]+)-p([\d]+)(\/*)$/,
target: (req, match, p1, p2, p3) => {
req.query.channel = p1;
req.query.author_id = p2;
req.query.page = p3;
req.mobileUrl = `${MOBILE_DOMAIN}/author/${p2}`;
return `/guang/index/editor?channel=${p1}&author_id=${p2}&page=${p3}`;
}
}
];