outlets-handler.js
2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
'use strict';
const library = '../../../library';
const helpers = require(`${library}/helpers`);
const _ = require('lodash');
const camelCase = require('../../../library/camel-case');
/**
* NL2R图片轮播
*/
const NL2R = (data) => {
const result = {
left: [],
right: [],
};
//左侧
_.forEach(data.left, (value, key) => {
result.left.push({
img: value.src,
url: value.url
});
})
//右侧
_.forEach(data.right, (value, key) => {
result.right.push({
img: value.src,
url: value.url
});
})
return result
}
/**
* 热门分类
*/
const hotCategory = (data) => {
return {
hotCategory: {
name: data.name,
list: data.menuNav.list,
blocks: data.menuNav.blocks,
brands: data.imgs.slice(0, 1),
types: data.imgs.slice(1, 7)
}
}
}
/**
* 分类导航
*/
const categoryNavigation = (data) => {
}
/**
* 处理楼层数据
* @param {[array]} list
* @return {[array]}
*/
exports.processFloor = (list) => {
const formatData = [];
var floorData;
list = list || [];
list = camelCase(list);
//格式化数据
_.forEach(list, (floor) => {
switch (floor.templateName) {
case 'NL2R':
floorData = NL2R(floor.data);
break;
case 'hotCategory':
floorData = hotCategory(floor.data);
break;
case 'categoryNavigation':
floorData = categoryNavigation(floor.data);
break;
default:
floorData = floor.data;
break;
}
Object.assign(formatData, floorData);
});
return formatData;
};
/**
* 组织嗨购数据
*/
exports.formatActivityData = (data) => {
var high = {
name: '限时嗨购',
imgHot: []
};
_.forEach(data, (value) => {
high.imgHot.push({
url: value.webUrl,
img: value.coverUrl,
logo: value.logoUrl,
name: value.title,
price: value.promotionName,
count: value.endTime
});
})
return high;
}