Authored by yyq

品牌收藏

... ... @@ -30,7 +30,7 @@ const product = (req, res, next) => {
code: 403,
message: '请登录后执行该操作',
data: {
refer: helpers.urlFormat('/signin')
refer: helpers.urlFormat('/passport/login')
}
});
}
... ... @@ -59,7 +59,7 @@ const brand = (req, res, next) => {
code: 403,
message: '请登录后执行该操作',
data: {
refer: helpers.urlFormat('/signin')
refer: helpers.urlFormat('/passport/login')
}
});
}
... ... @@ -88,7 +88,7 @@ const shop = (req, res, next) => {
code: 403,
message: '请登录后执行该操作',
data: {
refer: helpers.urlFormat('/signin')
refer: helpers.urlFormat('/passport/login')
}
});
}
... ...
... ... @@ -9,238 +9,6 @@ const _ = require('lodash');
const Item = require('../models/item');
const index = (req, res, next) => {
// let data = {
// brandBanner: {
// bgColor: '#93897d',
// brandLogo: {
// link: '#',
// img: 'http://placehold.it/{width}x{height}'
// },
// brandHome: {
// link: '#'
// }
// },
// nav: [
// {
// link: '#',
// name: 'MEN首页'
// },
// {
// link: '#',
// name: '上衣'
// },
// {
// link: '#',
// name: '卫衣'
// },
// {
// name: 'Spring 2016NEWT-Shirt 2016迷彩蝴蝶夹克'
// }
// ],
// goodInfo: {
// name: 'Spring 2016NEWT-Shirt 2016迷彩蝴蝶夹克',
// brandName: 'Supreme',
// intro: '2016最新发布',
// img: 'http://placehold.it/{width}x{height}',
// sellPrice: 3199,
// marketPrice: 4009,
// colors: [
// {
// name: '黑色',
// title: '黑色',
// focus: true,
// thumbs: [
// 'http://placehold.it/{width}x{height}',
// 'http://placehold.it/{width}x{height}',
// 'http://placehold.it/{width}x{height}',
// 'http://placehold.it/{width}x{height}',
// 'http://placehold.it/{width}x{height}'
// ],
// sizes: [
// {
// name: 'S',
// title: 'S',
// sku: '12313',
// num: 10
// },
// {
// name: 'M',
// title: 'M',
// sku: '12314',
// num: 14
// },
// {
// name: 'L',
// title: 'L',
// sku: '12315',
// num: 0
// },
// {
// name: 'XL',
// title: 'XL',
// sku: '12316',
// num: 0
// }
// ],
// rgb: '#000'
// },
// {
// name: '黄色',
// title: '黄色',
// thumbs: [
// 'http://placehold.it/{width}x{height}',
// 'http://placehold.it/{width}x{height}'
// ],
// rgb: '#efdc0e',
// sizes: [
// {
// name: 'S',
// title: 'S',
// sku: '12313',
// num: 0
// },
// {
// name: 'M',
// title: 'M',
// sku: '12314',
// num: 14
// },
// {
// name: 'L',
// title: 'L',
// sku: '12315',
// num: 0
// },
// {
// name: 'XL',
// title: 'XL',
// sku: '12316',
// num: 23
// }
// ]
// },
// {
// name: '蓝色',
// title: '蓝色',
// thumbs: [
// 'http://placehold.it/{width}x{height}',
// 'http://placehold.it/{width}x{height}',
// 'http://placehold.it/{width}x{height}',
// 'http://placehold.it/{width}x{height}'
// ],
// rgb: '#2ea8e6'
// },
// {
// name: '绿色',
// title: '绿色',
// thumbs: [
// 'http://placehold.it/{width}x{height}',
// 'http://placehold.it/{width}x{height}',
// 'http://placehold.it/{width}x{height}',
// 'http://placehold.it/{width}x{height}'
// ],
// rgb: '#85b2ef'
// }
// ]
// },
// description: {
// titleEn: 'DESCRIPTION',
// titleCn: '商品信息',
// basic: [
// {
// key: '编号',
// value: '51144694'
// },
// {
// key: '颜色',
// value: '灰色'
// },
// {
// key: '性别',
// value: '男款'
// },
// {
// key: '经典款型',
// value: '灰色'
// }
// ]
// },
// material: {
// titleEn: 'MATERIALS',
// titleCn: '材料洗涤',
// detail: [
// {
// img: 'http://placehold.it/{width}x{height}',
// name: '皮革',
// nameEn: 'Leather',
// text: '不适宜沾水,避免硬物划花,使用专用清洁膏擦拭。长时间不着用,可用软毛巾抹掉表面尘土,上一层皮革保养油。建议几双鞋交替穿着,不穿时放置通风处保持鞋内干爽。'
// }
// ],
// wash: [
// {
// img: 'http://placehold.it/{width}x{height}',
// name: '分色洗涤'
// }
// ]
// },
// sizeInfo: {
// titleEn: 'SIZEINFO',
// titleCn: '尺码信息',
// param: {
// thead: [
// {
// width: 126,
// name: '吊牌尺码'
// },
// {
// width: 126,
// name: '后衣长'
// },
// {
// width: 126,
// name: '前衣长'
// }
// ],
// tbody: [
// ['XS', 66, 66],
// ['S', 66, 66],
// ['L', 66, 66]
// ]
// },
// taste: {
// thead: [
// {
// width: 170,
// name: '模特'
// },
// {
// width: 126,
// name: '身高'
// },
// {
// width: 126,
// name: '体重'
// }
// ],
// tbody: [
// [{
// img: 'http://placehold.it/{width}x{height}',
// name: 'Steven'
// }, 187, 66],
// [{
// img: 'http://placehold.it/{width}x{height}',
// name: 'Oliver'
// }, 183, 66]
// ]
// }
// },
// details: {
// titleEn: 'DETAILS',
// titleCn: '商品详情',
// content: 'aaaa'
// }
// };
Item.getProductItemData(req.params, req.url, req.user.uid).then(result => {
if (_.isEmpty(result)) {
return next();
... ...
... ... @@ -140,7 +140,10 @@ const setPathNav = (data, name) => {
let resData = {};
if (!_.isEmpty(data)) {
let navs = [];
let navs = [{
link: helpers.urlFormat(''),
name: 'MEN首页' // 待处理
}];
let sort = data.sort[0];
navs.push({
... ... @@ -185,6 +188,7 @@ const setPathNav = (data, name) => {
*/
const setBrandBanner = brand => {
let data = {
brandId: brand.id,
bgColor: '#000',
brandLogo: {
link: `/product/shop/${brand.brandDomain}`, // 品牌跳转链接 -- 待处理
... ...
... ... @@ -7,6 +7,7 @@
const _ = require('lodash');
const itemAPI = require('./item-api');
const brandAPI = require('./brand-api');
const itemFUN = require('./item-handler');
const search = require('./search-api');
... ... @@ -14,8 +15,7 @@ const search = require('./search-api');
const _getMultiResourceByBaseInfo = (base) => {
let productId = base.id;
let skn = base.erpProductId;
// let brandId = base.brand.id ? base.brand.id : 0;
let brandId = base.brand.id ? base.brand.id : 0;
// 获取相关数据
let promiseData = [
... ... @@ -27,6 +27,7 @@ const _getMultiResourceByBaseInfo = (base) => {
if (base.uid) {
promiseData.push(itemAPI.getUserIsFav(base.uid, productId));
promiseData.push(brandAPI.getBrandInfo(brandId, base.uid));
}
return Promise.all(promiseData).then(result => {
... ... @@ -35,7 +36,8 @@ const _getMultiResourceByBaseInfo = (base) => {
comfort: result[1].data,
modelTry: result[2].data,
sort: result[3].data,
productFav: (result[4] && result[4].data)
productFav: (result[4] && result[4].data),
brandFav: (result[5] && result[5].data && result[5].data.is_favorite === 'Y')
};
});
};
... ... @@ -68,12 +70,14 @@ let getProductItemData = (params, url, uid) => {
}
return _getMultiResourceByBaseInfo(result).then(mulRes => {
// 面包屑导航
Object.assign(data, itemFUN.setPathNav(mulRes.sort, result.productName));
// 收藏状态
_.set(data, 'brandBanner.brandFav', mulRes.brandFav);
_.set(data, 'goodInfo.productFav', mulRes.productFav);
// 面包屑导航
Object.assign(data, itemFUN.setPathNav(mulRes.sort, result.productName));
// DESCRIPTION商品描述
Object.assign(data, itemFUN.setDescriptionData(mulRes.sizeInfo, mulRes.comfort));
... ...
... ... @@ -23,7 +23,7 @@
</a>
{{/ brandIntro}}
<span id="brand-fav" class="brand-fav{{#if coled}} coled{{/if}}">
<span id="brand-fav" class="brand-fav{{#if brandFav}} cur{{/if}}" data-id={{brandId}}>
<i class="iconfont">&#xe627;</i>
</span>
</p>
... ...
... ... @@ -256,6 +256,33 @@ $('#keep-shopping').click(function() {
$tradeWrapper.slideDown(SLIDETIME);
});
$('#brand-fav').click(function() {
var $this = $(this),
info = $this.data(),
param = {};
if (!info.id) {
return;
}
param.brandId = info.id;
if ($this.hasClass('coll')) {
param.type = 'cancel';
}
$.ajax({
type: 'POST',
url: '/product/brand/togglecollect',
data: param
}).then(function(data) {
if (data.code === 200) {
$this.toggleClass('coll');
} else if (data.code === 403) {
location.href = data.data.refer;
}
});
});
// 商品收藏
$('#collect-product').click(function() {
var $this = $(this),
... ...
... ... @@ -36,6 +36,10 @@
cursor: pointer;
}
.coll {
color: #1d1d1d;
}
.iconfont {
font-size: 12px;
}
... ...