brand.js 5.68 KB
/**
 * 品牌页
 * @param params
 * @returns {function()}
 */

'use strict';

var api = global.yoho.API;
const service = global.yoho.ServiceAPI;
const helpers = global.yoho.helpers;

// const utils = '../../../utils';
// const floorProcess = require(`${utils}/floor-process`);

/* 男生频道取品牌广告及热门品牌数据的位置码 */
let CODE_TOPPOS_BOYS = 'ce6ac059493ec26241a8cbe0bfa1b17a';

/* 女生频道取品牌广告及热门品牌数据的位置码 */
let CODE_TOPPOS_GIRLS = 'dac99cdedc1f948e84c145aca561f7d2';

/* 潮童频道取品牌广告及热门品牌数据的位置码 */
let CODE_TOPPOS_KIDS = '713784f93f52bb1a7b93916b2bb15510';

/* 创意生活频道取品牌广告及热门品牌数据的位置码 */
let CODE_TOPPOS_LIFESTYLE = 'f1aa914fd23cbcda71a87de6f5416c75';

/**
 * 获取频道接口
 */

const _packageAd = (params) => {

    return service.get('/operations/api/v5/resource/get', {
        content_code: params.contentCode,
        gender: 1,
        limit: 1000,
        page: 1
    }).then(result => {

        return result;

    });

};

const _packageList = (params) => {
    return api.get('', {
        method: 'app.brand.newBrandList',
        yh_channel: params.channel

    }, { code: 200 }).then(result => {

        return result;

    });
};

const getBrandByChannel = (channel) => {

    let params = {};

    /* 根据频道调用接口 */
    switch (channel) {
        case '1': // 男生
            params = {
                contentCode: CODE_TOPPOS_BOYS,
                channel: 1
            };
            break;
        case '2': // 女生
            params = {
                contentCode: CODE_TOPPOS_GIRLS,
                channel: 2
            };
            break;
        case '3': // 潮童
            params = {
                contentCode: CODE_TOPPOS_KIDS,
                channel: 3
            };
            break;
        case '4': // 创意生活
            params = {
                contentCode: CODE_TOPPOS_LIFESTYLE,
                channel: 4
            };
            break;
        default:


    }

    return api.all([

        _packageAd(params),
        _packageList(params)

    ]).then(result => {

        let resu = {
            brandPage: true,
            showDownloadApp: true,
            channel: {
                channels: [{
                    name: 'Boy'
                }, {
                    name: 'Girl'
                }, {
                    name: 'Kid'
                }, {
                    name: 'Lifestyle'
                }],
                topData: {
                    bannerTop: {},
                    hotBrandsScroll: {}
                },
                brandType: '全部品牌',
                secondBrandType: '新入驻品牌',
                thirdBrandType: '热门品牌',
                brandList: [

                    // {
                    //  title: 'A',
                    //  list: [
                    //      {
                    //          name: '11'
                    //      },
                    //      {
                    //          name: '22'
                    //      }
                    //  ]
                    // },
                    // {
                    //  title: 'B',
                    //  list: [
                    //      {
                    //          name: '11'
                    //      },
                    //      {
                    //          name: '33'
                    //      }
                    //  ]
                    // },
                    // {
                    //  title: 'C',
                    //  list: [
                    //      {
                    //          name: '11'
                    //      }
                    //  ]
                    // }
                ]
            }
        };

        resu.channel.channels[channel - 1].active = true;

        if (result && result[0] && result[0].data) {

            if (result[0].data[0] && result[0].data[0].data) {
                // 轮播图资源位
                let adList = result[0].data[0].data;

                let build = [];

                adList.forEach(ad => {
                    build.push({
                        img: helpers.image(ad.src, 640, 240),
                        url: ad.url
                    });
                });

                resu.channel.topData.bannerTop.list = build;

            }

            if (result[0].data[1] && result[0].data[1].data) {
                // 推荐品牌资源位
                let brandList = result[0].data[1].data.list;

                let brand = [];

                brandList.forEach(ad => {
                    brand.push({
                        img: helpers.image(ad.src, 140, 140),
                        url: ad.url,
                        textCn: ad.title
                    });
                });

                resu.channel.topData.hotBrandsScroll.name = result[0].data[1].data.title.title;

                resu.channel.topData.hotBrandsScroll.list = brand;

            }

        }

        if (result && result[1] && result[1].data) {

            let allList = result[1].data.all_list;

            let build = [];

            let listv = [];

            for (let key in allList) {

                build.push({
                    title: key
                });

                allList[key].forEach(row => {

                    listv.push({
                        name: row.brand_name
                    });

                    build.list = listv;

                    build = Object.assign(build, listv);

                });

            }
            console.log(build);
            resu.channel.brandList = build;

        }

        return resu;

    });
};

module.exports = {
    getBrandByChannel
};