indexService.js
5.27 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
import api from '../../common/api.js';
import { getGoodDetailParam,getImageUrl } from '../../utils/util';
export function getHomeFloorlist(params) {
return api.get({
url: '/operations/api/v5/resource/home',
data: {
...params,
page: 1,
limit: 10,
fromPage: 'aFP_Home'
},
});
}
export function getProductlist(params) {
return api.get({
data: {
...params,
method: 'app.search.newLast7day',
page: 1,
limit: 50,
},
});
}
export function parseHomeList(json, windowWidth, windowHeight, listImageWidth, listImageHeight){
let newList=[];
let index = 1;
json && json.map((item,index)=>{
if (item.template_name == 'focus' || item.template_name == 'newFocus'){
//焦点图 -- 只需要对列表中的图片url进行格式化 默认宽高: 750 : 500
for(var i =0;i<item.data.length;i++){
let src = item.data[i].src;
item.data[i].src = getImageUrl(item.data[i].src,750,500);
let param = getGoodDetailParam(item.data[i].url);
if(param){
let json = JSON.parse(param);
item.data[i].title = json.title;
item.data[i]._src = json.cover_url
}
}
} else if (item.template_name == 'newSingleImage'){
//新一张图片 ratio 为 高/宽 抽取出 src title ratio
item.ratio = item.data.imageWidth <= 0 || item.data.imageHeight<=0?0: item.data.imageHeight / item.data.imageWidth
item.ratio = Math.ceil(750 * item.ratio);
item.title = item.data.title;
// if(item.title != '精彩活动' && item.title!='热门品类' && item.title !='潮流品牌'){
// item.title = '';
// }
if(item.data.list && item.data.list[0]){
item.src = getImageUrl(item.data.list[0].src, item.data.imageWidth, item.data.imageHeight)
item.url = item.data.list[0].url
}
} else if (item.template_name =='new_recommend_content_five'){
//热门品类楼层
item.title = item.data.title.title;
item.moreUrl = item.data.more.url;
item.list = item.data.list;
for(var i=0;i<item.list.length;i++){
item.list[i].src = getImageUrl(item.list[i].src, 188, 198);
}
} else if (item.template_name == '3:4ImageListFloor'){
//潮流品牌图片列表
item.title = item.data.title;
item.list = item.data.list;
for(var i=0;i<item.list.length;i++){
item.list[i].src = getImageUrl(item.list[i].src,220,220);
}
let more = item.data.more;
if(more && more.url){
item.moreUrl = more.url;
}
} else if (item.template_name == 'popularListFloor' || item.template_name == 'newProductListFloor'){
//商品列表
for(var i = 0;i<item.data.list.length;i++){
try{
item.data.list[i].default_images = item.data.list[i].default_images.replace(/{width}/g, listImageWidth).replace(/{height}/g, listImageHeight).replace('{mode}', 2);
}catch(e){
console.log('--ReplaceError--')
}
item.data.list[i].index = index;
item.data.list[i].display_type = item.data.display_type; //1显示价格2显示店铺
}
} else if (item.template_name == 'image_list') {
//商品列表
for (var i = 0; i < item.data.list.length; i++) {
try{
item.data.list[i].src = item.data.list[i].src.replace(/{width}/g, 150).replace(/{height}/g, 150).replace('{mode}', 2);
}catch(e){
console.log('--ReplaceError--')
}
}
} else if (item.template_name == 'twoPicture'){
let width = item.data.imageWidth > 0 ? item.data.imageWidth:345;
let height = item.data.imageHeight > 0 ? item.data.imageHeight:200;
item.ratio = height/width;
item.data && item.data.list && item.data.list.map((item,index)=>{
try{
item.src = item.src.replace(/{width}/g, width).replace(/{height}/g, height).replace('{mode}', 2);
}catch(e){
}
})
item.title = item.data.title;
}else if (item.template_name == 'sv_new_user_floor') {
// 新人楼层
if (item.data && item.data.banner_image && item.data.banner_image.length > 0) {
for(var i = 0;i<item.data.banner_image.length;i++){
if (item.data.banner_image[i].src) {
try{
item.data.banner_image[i].src = item.data.banner_image[i].src.replace(/{width}/g, 1500).replace(/{height}/g, 720).replace('{mode}', 2);
}catch(e){
console.log('--ReplaceError--')
}
}
}
}
} else if (item.template_name == 'collageBuyPrdList'){
if (item.data.layout_float == 'V' || item.data.layout_float == 'v'){
item.layout_float='V';
item.sknList = item.data.sknList;
}else{
item.prdList = []
try {
item.data.data.prdList.map((list_item, index) => {
list_item.defaultImages = list_item.defaultImages.replace(/{width}/g, 188).replace(/{height}/g, 250).replace('{mode}', 2)
item.prdList.push(list_item)
})
} catch (e) { }
}
}
else{
item.template_name = "undefine";
}
index++;
newList.push(item);
})
return newList;
}
export default {
getHomeFloorlist,
parseHomeList,
getProductlist
};