detail.js 2.67 KB
/**
 *
 * @author: Aiden Xu<aiden.xu@yoho.cn>
 * @date: 2016/07/19
 */
'use strict';

const api = global.yoho.API;
const singleAPI = global.yoho.SingleAPI;

/**
 * 商品详情
 */
const model = {
    product(params) {
        return api.get('', Object.assign({
            method: 'app.product.data'
        }, params), {
            code: 200,
            cache: true
        }).then(result => {

            if (result.data) {
                let storage = 0; // result.storage 的 数值 不可靠,循环累加 库存
                const goodsList = result.data.goods_list;

                if (goodsList) {
                    for (let good of goodsList) {
                        for (let size of good.size_list) {
                            storage += size.storage_number;
                        }
                    }
                }

                result.data.storage = storage;
            }

            return result;
        });
    },
    getVipData(params) {
        return api.get('', {
            method: 'app.passport.vip',
            uid: params.uid
        }, {
            code: 200
        });
    },
    intro(params) {
        return api.get('', Object.assign({
            method: 'h5.product.intro'
        }, params));
    },

    /**
     * 加入购物车接口
     *
     */
    addToCart(params) {
        return api.get('', Object.assign({
            method: 'app.Shopping.add'
        }, params));
    },

    /**
     * 添加收藏/取消收藏
     *
     * @param params
     */
    favorite(params, flag) {
        let method = '';

        if (flag) {
            method = 'app.favorite.add';
        } else {
            method = 'app.favorite.cancel';
        }

        return api.get('', Object.assign({
            method: method
        }, params));
    },

    /**
     * 判断是否收藏
     * @param params
     */
    isFavorite(params) {
        return singleAPI.get('/favorite', Object.assign({
            method: 'app.favorite.isFavoriteNew'
        }, params));
    },

    /**
     * 获取购物车数量
     *
     * @param params
     */
    getCartCount: (params) => {
        return api.get('', Object.assign({
            method: 'app.Shopping.count'
        }, params));
    },

    /**
     * 是否支持退换货
     * @param params
     */
    refundExchange(params) {
        return api.get('', Object.assign({
            method: 'app.product.refundExchange'
        }, params), {
            cache: true
        });
    },

    /**
     * 猜你喜欢
     * @param params
     */
    mightLike(params) {
        return api.get('', Object.assign({
            method: 'app.blk.shopRecommend'
        }, params));
    }
};

module.exports = model;