...
|
...
|
@@ -4,14 +4,78 @@ |
|
|
* @date: 2016/07/06
|
|
|
*/
|
|
|
'use strict';
|
|
|
|
|
|
const _ = require('lodash');
|
|
|
const api = global.yoho.API;
|
|
|
const helpers = global.yoho.helpers;
|
|
|
const camelCase = global.yoho.camelCase;
|
|
|
|
|
|
const genderMap = {
|
|
|
boys: '1,3',
|
|
|
girls: '2,3',
|
|
|
kids: '1,2,3',
|
|
|
lifestyle: '1,2,3'
|
|
|
};
|
|
|
|
|
|
let _processCateData = (list, channel) => {
|
|
|
let nav = ['boys', 'girls', 'kids', 'lifestyle'];
|
|
|
|
|
|
nav = _.map(nav, function(item) {
|
|
|
return {
|
|
|
name: _.capitalize(item),
|
|
|
channel: item,
|
|
|
focus: item === channel
|
|
|
};
|
|
|
});
|
|
|
|
|
|
list = camelCase(list);
|
|
|
_.map(list, function(item, key) {
|
|
|
item.focus = key === channel;
|
|
|
|
|
|
let getCateData = () => {
|
|
|
_.map(item, function(firstItem) {
|
|
|
// 如果有二级菜单,二级菜单跳转,否则一级菜单跳转
|
|
|
if (firstItem.sub && firstItem.sub.length) {
|
|
|
_.map(firstItem.sub, function(secondItem) {
|
|
|
secondItem.url = helpers.urlFormat('/', {
|
|
|
sort: secondItem.categoryId,
|
|
|
sort_name: secondItem.categoryName,
|
|
|
gender: genderMap[channel] || ''
|
|
|
}, 'list');
|
|
|
});
|
|
|
} else {
|
|
|
firstItem.url = helpers.urlFormat('/', {
|
|
|
sort: firstItem.categoryId,
|
|
|
sort_name: firstItem.categoryName,
|
|
|
gender: genderMap[channel] || ''
|
|
|
}, 'list');
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
|
|
|
return {
|
|
|
nav,
|
|
|
list
|
|
|
};
|
|
|
};
|
|
|
|
|
|
let getCateData = (channel) => {
|
|
|
return api.get('', {
|
|
|
method: 'app.sort.get'
|
|
|
}, {
|
|
|
cache: true
|
|
|
}).then((result) => {
|
|
|
if (!result.code || result.code !== 200 || !result.data) {
|
|
|
return [];
|
|
|
}
|
|
|
|
|
|
// 统一频道名称
|
|
|
result.data.boys = result.data.boy;
|
|
|
result.data.girls = result.data.girl;
|
|
|
_.unset(result.data, 'boy');
|
|
|
_.unset(result.data, 'girl');
|
|
|
|
|
|
return result.data;
|
|
|
}).then((list) => {
|
|
|
return _processCateData(list, channel);
|
|
|
});
|
|
|
};
|
|
|
|
...
|
...
|
|