guang.js 2.72 KB
/**
 * 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}`;
        }
    }

];