...
|
...
|
@@ -16,78 +16,80 @@ const genderMap = { |
|
|
lifestyle: '1,2,3'
|
|
|
};
|
|
|
|
|
|
let _processCateData = (list, channel) => {
|
|
|
let nav = ['boys', 'girls', 'kids', 'lifestyle'];
|
|
|
module.exports = class extends global.yoho.BaseModel {
|
|
|
constructor(ctx) {
|
|
|
super(ctx);
|
|
|
}
|
|
|
|
|
|
nav = _.map(nav, function(item) {
|
|
|
return {
|
|
|
name: _.capitalize(item),
|
|
|
channel: item,
|
|
|
focus: item === channel
|
|
|
};
|
|
|
});
|
|
|
_processCateData(list, channel) {
|
|
|
let nav = ['boys', 'girls', 'kids', 'lifestyle'];
|
|
|
|
|
|
_.map(list, function(item, key) {
|
|
|
item.focus = key === channel;
|
|
|
nav = _.map(nav, function(item) {
|
|
|
return {
|
|
|
name: _.capitalize(item),
|
|
|
channel: item,
|
|
|
focus: item === channel
|
|
|
};
|
|
|
});
|
|
|
|
|
|
_.map(item, function(firstItem) {
|
|
|
// 如果有二级菜单,二级菜单跳转,否则一级菜单跳转
|
|
|
if (firstItem.sub && firstItem.sub.length) {
|
|
|
_.map(firstItem.sub, function(secondItem) {
|
|
|
secondItem.url = helpers.urlFormat('/', utils.mapSort({
|
|
|
sort: _.get(secondItem, 'relation_parameter.sort'),
|
|
|
sort_name: secondItem.category_name,
|
|
|
gender: genderMap[key] || ''
|
|
|
}), 'list');
|
|
|
});
|
|
|
_.map(list, function(item, key) {
|
|
|
item.focus = key === channel;
|
|
|
|
|
|
_.map(item, function(firstItem) {
|
|
|
// 如果有二级菜单,二级菜单跳转,否则一级菜单跳转
|
|
|
if (firstItem.sub && firstItem.sub.length) {
|
|
|
_.map(firstItem.sub, function(secondItem) {
|
|
|
secondItem.url = helpers.urlFormat('/', utils.mapSort({
|
|
|
sort: _.get(secondItem, 'relation_parameter.sort'),
|
|
|
sort_name: secondItem.category_name,
|
|
|
gender: genderMap[key] || ''
|
|
|
}), 'list');
|
|
|
});
|
|
|
|
|
|
firstItem.sub.unshift({
|
|
|
category_name: `全部${firstItem.category_name}`,
|
|
|
url: helpers.urlFormat('/', utils.mapSort({
|
|
|
firstItem.sub.unshift({
|
|
|
category_name: `全部${firstItem.category_name}`,
|
|
|
url: helpers.urlFormat('/', utils.mapSort({
|
|
|
sort: _.get(firstItem, 'relation_parameter.sort'),
|
|
|
sort_name: firstItem.category_name,
|
|
|
gender: genderMap[key] || ''
|
|
|
}), 'list')
|
|
|
});
|
|
|
} else {
|
|
|
firstItem.url = helpers.urlFormat('/', utils.mapSort({
|
|
|
sort: _.get(firstItem, 'relation_parameter.sort'),
|
|
|
sort_name: firstItem.category_name,
|
|
|
gender: genderMap[key] || ''
|
|
|
}), 'list')
|
|
|
});
|
|
|
} else {
|
|
|
firstItem.url = helpers.urlFormat('/', utils.mapSort({
|
|
|
sort: _.get(firstItem, 'relation_parameter.sort'),
|
|
|
sort_name: firstItem.category_name,
|
|
|
gender: genderMap[key] || ''
|
|
|
}), 'list');
|
|
|
}
|
|
|
}), 'list');
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
});
|
|
|
|
|
|
return {
|
|
|
nav,
|
|
|
list
|
|
|
};
|
|
|
};
|
|
|
|
|
|
let getCateData = (channel) => {
|
|
|
return api.get('', {
|
|
|
method: 'app.sort.get'
|
|
|
}, {
|
|
|
cache: true
|
|
|
}).then((result) => {
|
|
|
return {
|
|
|
nav,
|
|
|
list
|
|
|
};
|
|
|
}
|
|
|
|
|
|
if (!result || !result.code || result.code !== 200 || !result.data) {
|
|
|
return [];
|
|
|
}
|
|
|
getCateData(channel) {
|
|
|
return api.get('', {
|
|
|
method: 'app.sort.get'
|
|
|
}, {
|
|
|
cache: true
|
|
|
}).then((result) => {
|
|
|
|
|
|
// 统一频道名称
|
|
|
result.data.boys = result.data.boy;
|
|
|
result.data.girls = result.data.girl;
|
|
|
_.unset(result.data, 'boy');
|
|
|
_.unset(result.data, 'girl');
|
|
|
if (!result || !result.code || result.code !== 200 || !result.data) {
|
|
|
return [];
|
|
|
}
|
|
|
|
|
|
return result.data;
|
|
|
}).then((list) => {
|
|
|
return _processCateData(list, channel);
|
|
|
});
|
|
|
};
|
|
|
// 统一频道名称
|
|
|
result.data.boys = result.data.boy;
|
|
|
result.data.girls = result.data.girl;
|
|
|
_.unset(result.data, 'boy');
|
|
|
_.unset(result.data, 'girl');
|
|
|
|
|
|
module.exports = {
|
|
|
getCateData
|
|
|
return result.data;
|
|
|
}).then((list) => {
|
|
|
return this._processCateData(list, channel);
|
|
|
});
|
|
|
}
|
|
|
}; |
...
|
...
|
|