plusstar.js 2.97 KB
'use strict';
const api = global.yoho.API;
const serviceAPI = global.yoho.ServiceAPI;
const camelCase = global.yoho.camelCase;
const _ = require('lodash');
const logger = global.yoho.logger;
const helpers = global.yoho.helpers;

/**
 * 获取潮流优选tab
 * @return {[array]}
 */
const getAllChannels = (params) => {
    params = params || {};

    return api.get('', Object.assign({
        method: 'app.blk.getAllChannels'
    }, params)).then(result => {
        let data = {channel: []};

        if (result.code !== 200) {
            return data;
        }

        _.forEach(result.data, (res, index) => {
            data.channel.push({
                id: res.channel_id,
                mame: res.channel_name,
                code: res.content_code,
                focus: index === 0 ? true : false
            });
        });

        return data;
    });
};

/**
 * 获取资源位数据
 * @param {[string]} content_code
 * @return {[array]}
 */
const getResources = (params) => {
    params = params || {};

    return serviceAPI.get(
    	'operations/api/v5/resource/get',
    	Object.assign(params)
	).then(result => {
    let data = {
        goods: {},
        recommend_content_five: {}
    };
    let list = {};

    if (result.code !== 200) {
        return data;
    }

    _.forEach(result.data, (res, index) => {
        list = {};
        switch (res.template_name) {
            case 'focus':
                list = {
                    data: res.data
                };

                if (res.focus_type == 1) {
                    data.focus1 = list;
                } else {
                    data.focus2 = list;
                }

                break;
            case 'title_image':
                if (typeof data[res.template_name] === 'undefined') {
                    data[res.template_name] = [];
                }

                list = {
                    title: res.data.title,
                    moreUrl: res.data.more_url,
                    moreName: res.data.more_name,
                    image: res.data.image
                };

                data.title_image.push(list);
                break;
            case 'titleFloor':
                list = {
                    title: res.data.title.more_name,
                    more_url: res.data.more_url,
                    more_name: res.data.more_name,
                    data: res.data.image
                };

                if (res.data.title.name === '热门商品') {
                    data.goods.title = list;
                } else if (res.data.title.name === '热门品类') {
                    data.recommend_content_five.title = list;
                }
                break;
            case 'recommend_content_five':
                data[res.template_name].data = res.data;
                break;
            case 'goods':
                data[res.template_name].data = res.data;
                break;
        }
    });
    return data;
});
};

module.exports = {
    getAllChannels,
    getResources
};