router.js 2.45 KB
/**
 * router of sub app product
 * @author: Aiden Xu<aiden.xu@yoho.cn>
 * @author: chen xuan<xuan.chen@yoho.cn>
 * @date: 2016/07/19
 */

'use strict';

const expressRouter = require('express').Router;
const cRoot = './controllers';
const router = expressRouter();
const auth = require(`${global.doraemon}/middleware/auth`);

// 产品 搜索 页面
const search = require(`${cRoot}/search`);

router.get('/product/search', search.index);
router.get('/product/search.json', search.fetchProducts); // ajax

// 新品页
const newProduct = require(`${cRoot}/new`);

router.get('/product/new', newProduct.index);
router.get('/product/new.json', newProduct.fetchProducts);

// 产品 列表页
const productList = require(`${cRoot}/product-list`);

router.get('/product/list', productList.index);
router.get('/product/list.json', productList.fetchProducts);

// 品牌店铺页面
const shop = require(`${cRoot}/shop`);

// router.get('/brand', shop.index); // 品牌 集合页
router.get('/product/shop/info.json', shop.getShopInfo); // 店铺介绍
router.get('/product/shop/goods.json', shop.getBrandShopGoods); // 店铺商品列表
router.post('/product/shop/collect.json', auth, shop.collectShop); // 收藏品牌店铺
router.get('/product/shop/:domain', shop.index); // 品牌店铺页
router.get('/product/shop/:domain/share', shop.shopShare); // 品牌店铺页分享

// 商品详情controller
const detail = require(`${cRoot}/detail`);

router.get(/\/product\/pro_([\d]+)_([\d]+)\/(.*).html/, detail.index); // 商品详情routers
router.get(/\/product\/product_([\d]+)\.json/, detail.product);
router.get(/\/product\/intro_([\d]+)\.json/, detail.intro);
router.post(/\product\/cart.json/, detail.addToCart);
router.post(/\product\/favorite.json/, auth, detail.favorite);
router.get(/\/product\/cart-count.json/, detail.getCartCount);
router.get(/\/product\/search_product\.json/, detail.search);

// alias:  TODO: 测试完成 删除一下router,并更新资源位
// router.get(/\/brand\/share\/(.*)/, shop.shopShare); // 品牌店铺分享页面
router.get(/\/item\/([\d]+)(.*)\.html/, detail.index); // 商品详情routers
// router.get(/\/brand\/(.*)/, shop.index); // 店铺首页

router.get('/new', newProduct.index);
router.get('/new.json', newProduct.fetchProducts);

router.get('/list', productList.index);
router.get('/list.json', productList.fetchProducts);

router.get('/search', search.index);
router.get('/search.json', search.fetchProducts); // ajax



module.exports = router;