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

// const _ = require('lodash');

// const helpers = global.yoho.helpers;
const api = global.yoho.API;
const _ = require('lodash');

/**
 * 商品详情
 */
const component = {
    index(req, res) {
        const pid = req.params[0], goodsId = req.params[1];

        res.render('detail', {
            module: 'product',
            page: 'detail',
            pid: pid,
            goodsId: goodsId
        });
    },
    product(req, res, next) {
        const pid = req.params[0];// , goodsId = req.params[1];

        let params = {
            productId: _.toString(pid),
            method: 'h5.product.data' // TODO replace this to 'app.product.data'

        };

        api.get('', params).then(result => {
            res.json(result);
        }).catch(next);
    },
    intro(req, res, next) {
        let params = {
            method: 'h5.product.intro', // TODO replace this to 'app.product.intro'
            productskn: req.query.skn,
            udid: 'f528764d624db129b32c21fbca0cb8d6'
        };

        api.get('', params).then(result => {
            res.json(result);
        }).catch(next);
    },

    /**
     * 加入购物车接口
     *
     */
    addToCart(req, res, next) {
        let params = {
            method: 'app.Shopping.add',
            product_sku: req.body.productSku,      // 商品SKU
            buy_number: req.body.buyNumber,        // 购买数量
            goods_type: req.body.goodsType || 0,   // 商品类型,0表示普通商品,1表示加价购商品
            edit_product_sku: req.body.isEdit || 0,    // 是否是编辑商品SKU,0表示不是编辑
            selected: 'Y',
            promotion_id: req.body.promotionId || null, // 促销id,默认null(加价购有关)
            uid: req.user.uid || null, // TODO: fix uid
            shopping_key: global.yoho.cookie.getShoppingKey(req)
        };

        api.get('', params).then(result => {
            res.json(result);
        }).catch(next);
    },

    getFavorite(req, res, next) {
        api.get('', {}).then(result => {
            res.json(result);
        }).catch(next);
    },

    /**
     * 收藏
     *
     * @param req
     * @param res
     * @param next
     */
    addFavorite(req, res, next) {
        let params = {
            method: 'app.Shopping.addfavorite',
            product_sku_list: req.body.sku,
            uid: req.user.uid || 8050378 // TODO: fix this hard coded uid
        };

        api.get('', params).then(result => {
            res.json(result);
        }).catch(next);
    },

    /**
     * 获取购物车数量
     *
     * @param req
     * @param res
     * @param next
     */
    getCartCount: (req, res, next) => {
        let params = {
            method: 'app.Shopping.count',
            shopping_key: global.yoho.cookie.getShoppingKey(req),
            uid: req.user.uid || 0 // TODO fix uid
        };

        api.get('', params).then(result => {
            res.json(result);
        }).catch(next);
    }
};

module.exports = component;