index.js 3.19 KB
/**
 * 逛 model
 * @author: lcy<chuanyang.liu@yoho.cn>
 * @date: 2016/08/31
 */
'use strict';

const _ = require('lodash');

// const dataMap = require('../../../config/data-map');

const helpers = global.yoho.helpers;

const serviceApi = global.yoho.ServiceAPI;

// const searchApi = global.yoho.SearchAPI;

// const headerModel = require('../../../doraemon/models/header');



/**
 * 获取首页频道nav
 */
const getHomeChannelNav = (channel) => {
    let home = null;

    switch (channel) {
        case 'boys':
            {
                home = helpers.urlFormat('', '', 'default');
                break;
            }
        case 'girls':
            {
                home = helpers.urlFormat('/woman', '', 'new');
                break;
            }
        case 'lifestyle':
            {
                home = helpers.urlFormat('/lifestyle', '', 'new');
                break;
            }
        case 'kids':
            {
                home = helpers.urlFormat('/kids', '', 'new');
                break;
            }
        default:
            {
                home = helpers.urlFormat('', '', 'default');
            }

    }

    return {
        href: home,
        name: `${channel.toUpperCase()}首页`,
        pathTitle: 'YOHO!有货'
    };
};

const getIndexNav = (channelType) => {

    _.concat(
        getHomeChannelNav(channelType),
        [{
            name: '逛',
            pathTitle: '逛',
            href: helpers.urlFormat('guang', '', 'guang')
        }]
    );
};

/**
 * 获取页文章数据
 * @param  {String} channelType 传入频道页类型,值可以是: boys, girls, kids, lifestyle
 * @return {Object}
 */
const getList = channelType => {
    return channelType;
};

/**
 * 获取热门标签数据
 * @param  {String} type 传入频道页类型,值可以是: boys, girls, kids, lifestyle
 * @return {Object}
 */
const getHotTags = (page, limit) => {

    let data = {
        client_type: 'web',
        page: page || 1,
        limit: limit || 10
    };

    return serviceApi.get('guang/api/v2/article/getTagTop', data, {
        cache: true,
        code: 200
    }).then(res => {
        let tags = (res && res.data) || [];
        return _.map(tags, it => {
            return {
                tagName: it.tag_name,
                url: helpers.urlFormat('/tags/', it.tag_name, 'guang')
            };
        });
    });
};

/**
 * 获取广告数据
 * @param  {String} channelType 传入频道页类型,值可以是: boys, girls, kids, lifestyle
 * @return {Object}
 */
const getAds = channelType => {
    return channelType;
};

/**
 * 获取热门标签数据
 * @param  {String} type 传入频道页类型,值可以是: boys, girls, kids, lifestyle
 * @return {Object}
 */
const getBanner = channelType => {
    return channelType;
};

const getCategory = channelType => {
    return channelType;
};

const getExcellectRecos = (channelType, start, limit) => {
    return {
        channelType: channelType,
        start: start,
        limit: limit
    };
};


module.exports = {
    getList: getList,
    getHotTags: getHotTags,
    getAds: getAds,
    getBanner: getBanner,
    getCategory: getCategory,
    getExcellectRecos: getExcellectRecos,
    getIndexNav: getIndexNav
};