sale-api.js 2.71 KB
/*
 * @Author: Targaryen
 * @Date:   2016-05-25 18:03:34
 * @Last Modified by:   Targaryen
 * @Last Modified time: 2016-06-07 13:58:53
 */

'use strict';

const serviceAPI = global.yoho.ServiceAPI;
const api = global.yoho.API;
const _ = require('lodash');
const config = global.yoho.config;

const yhChannel = {
    boys: {
        channel: '1'
    },
    girls: {
        channel: '2'
    },
    kids: {
        channel: '3'
    },
    lifestyle: {
        channel: '4'
    }
};

/**
 * 获取商品列表 promise 对象
 * @return {[type]} [description]
 */
exports.getSaleGoodsList = (params) => {
    let finalParams = {
        method: 'app.search.sales',
        limit: 60,
        order: 's_t_desc',
        productSize: '384x511'
    };

    if (params && params.channel) {
        finalParams.yh_channel = yhChannel[params.channel].channel;
    }

    return api.get('', Object.assign(finalParams, params), config.apiCache);
};

/**
 * 断码区分类信息数据 promise 对象
 * @return {[type]} [description]
 */
exports.getSalebreakingYardsSortList = (params) => {
    let tempChannel = _.isEmpty(params.channel) ? 'boys' : params.channel;

    return api.get('', {
        method: 'app.sale.getBreakingSort',
        yh_channel: yhChannel[tempChannel].channel
    }, config.apiCache);
};

/**
 * 获取折扣专区活动列表 promise 对象
 * @return {[type]} [description]
 */
exports.getSaleActivityList = (params, channel) => {
    let tempChannel = yhChannel[channel] || yhChannel.boys;

    return api.get('', {
        id: params.id || null,
        method: 'app.activity.get',
        sort: '2',
        plateform: '1',
        yh_channel: tempChannel.channel
    }, config.apiCache);
};

/**
 * 获取Sale首页顶部 banner promise 对象
 * @return {[type]} [description]
 */
exports.getSaleBannerList = (cCode) => {
    return serviceAPI.get('operations/api/v5/resource/get', {
        content_code: cCode
    }, config.apiCache);
};

/**
 * 获取左侧类目列表
 * @return {[type]} [description]
 */
exports.getLeftContentList = () => {
    return api.get('', {
        method: 'app.sort.get'
    }, config.apiCache);
};

/**
 * 获取用户数据信息
 * @param  {[string]} uid
 * @return {[array]}
 */
exports.getUserProfile = (uid) => {
    if (!uid) {
        return Promise.resolve({
            code: 200,
            data: {}
        });
    }
    return api.get('', {
        method: 'app.passport.profile',
        uid: uid
    }, true);
};

/**
 * 获取用户数据信息
 * @param  {[string]} uid
 * @return {[array]}
 */
exports.getSaleSpecialAsync = (specialId) => {
    return api.get('', {
        method: 'app.resources.getOneSpecial',
        special_id: specialId
    }, {
        code: 200,
        cache: true
    });
};