plustar.js 2.65 KB
'use strict';
const api = global.yoho.API;
const serviceAPI = global.yoho.ServiceAPI;
const _ = require('lodash');
const productProcess = require('../../../utils/product-process');
const logger = global.yoho.logger;
const camelCase = global.yoho.camelCase;

const formaData = (data, gender) => {
    let build = [];
    //console.log(data)
    _.forEach(data, function(val) { 
        //多张图
        if(val.data[1]) {

            let imgs = [];

            _.forEach(val.data, function(list) {
                let obj = {};

                obj = _.assign(obj, {
                    url: '/plustar/brandinfo?id=' + val.id + '&gender=' + gender,
                    img: list.src,
                    deps: val.brand_title 
                });

                imgs.push(obj);
            })

            build.push({
                imgs: imgs
            })

        }


        //单张图
        if(val.data[0]) {
            _.forEach(val.data, function(list) {
                build.push({
                    url: '/plustar/brandinfo?id=' + val.id + '&gender=' + gender,
                    img: list.src,
                    deps: val.brand_title
                })
            })
        }
    })

    return build;
}


const getContentData = (gender, type) => {

    return serviceAPI.get('guang/api/v3/plustar/getlist', {
        gender: gender,
        brand_type: type
    }).then((result) => {
        if (result && result.code === 200) {
            //console.log(result)
            return formaData(result.data.data.list[0].data, gender);
        } else {
            logger.error('列表 list data return code is not 200');
            return {};
        }
    });
};

const getListData = (gender, recom, all) => {
    return Promise.all([getContentData(gender, recom), getContentData(gender, all)]).then((result) => {
        return {
            star: result[0],
            plus: result[1]
        };
    });
};

const getRelatedEditorial = () => {

};

const getBrandData = (id, clientType) => {

    return serviceAPI.get('guang/api/v1/plustar/getbrandinfo', {
        id: id,
        client_type: clientType
    }).then((result) => {
        if (result && result.code === 200) {
            //console.log(result.data)
          
            return camelCase(result.data);
        } else {
            logger.error('detail data return code is not 200');
            return {};
        }
    });
};

const getDetailData = (id, uid, udid, gender, isApp, clientType) => {
    return Promise.all([getBrandData(id, clientType), getRelatedEditorial(gender)]).then((result) => {
        return result;
    });
};



module.exports = {
    getListData,
    getContentData,
    getDetailData
};