detail-product-api.js 2.56 KB
/**
 * Created by TaoHuang on 2016/6/14.
 */

'use strict';

const api = global.yoho.API;
const config = global.yoho.config;

const getProductBannerAsync = (pid) => {
    return api.get('', {
        method: 'web.productBanner.data',
        product_id: pid
    }, config.apiCache);

};

const sizeInfoAsync = skn => {
    return api.get('', {
        method: 'h5.product.intro',
        productskn: skn
    }, config.apiCache);

};

// 退换支持
const isSupportReturnedSale = skn => {
    return api.get('', {
        method: 'app.product.refundExchange',
        product_skn: skn
    }, config.apiCache);
};

const getProductComfortAsync = pid => {
    return api.get('', {
        method: 'web.productComfort.data',
        product_id: pid
    }, config.apiCache);

};

const getProductModelCardAsync = pid => {
    return api.get('', {
        method: 'web.productModelcard.list',
        product_id: pid
    }, config.apiCache);
};

const getProductModelTryAsync = skn => {
    return api.get('', {
        method: 'web.productModelTry.data',
        product_skn: skn
    }, config.apiCache);
};

/**
 * 获得产品信息
 * @param pid
 * @returns {Promise.<type>}
 */
const getProductAsync = (pid, uid, isStudents, vipLevel) => {
    let params = {
        method: 'app.product.data',
        product_id: pid
    };

    if (uid) {
        params.uid = uid;
    }

    if (isStudents) {
        params.is_student = isStudents;
    }

    if (vipLevel) {
        params.current_vip_level = vipLevel;
    }
    return api.get('', params, config.apiCache);
};

const getPromotionAsync = (skn) => {
    let params = {
        method: 'app.product.promotion',
        product_skn: skn
    };

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

const getLimitedProductStatusAsync = (code, uid, skn) => {
    let params = {
        method: 'app.limitProduct.productStatus',
        limitProductCode: code
    };

    if (uid) {
        params.uid = uid;
    }

    if (skn) {
        params.product_skn = skn;
    }

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

/**
 *
 * @param skn product_skn
 * @param sid shop_id
 */
const getShopRecommendAsync = (skn, page, limit) => {
    return api.get('', {
        method: 'web.product.shopRecommend',
        product_skn: skn,
        page: page,
        limit: limit
    });
};

module.exports = {
    getProductBannerAsync,
    sizeInfoAsync,
    getProductComfortAsync,
    getProductModelCardAsync,
    getProductModelTryAsync,
    getProductAsync,
    getPromotionAsync,
    isSupportReturnedSale,
    getLimitedProductStatusAsync,
    getShopRecommendAsync
};