outlets-api.js
3.61 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
/*
* @Author: Targaryen
* @Date: 2016-06-01 14:37:03
* @Last Modified by: Targaryen
* @Last Modified time: 2016-06-07 15:40:29
*/
'use strict';
const _ = require('lodash');
const config = global.yoho.config;
const yhChannel = {
boys: {
channel: '1'
},
girls: {
channel: '2'
},
kids: {
channel: '3'
},
lifestyle: {
channel: '4'
},
otltIdxDflt: {
channel: null
}
};
module.exports = class extends global.yoho.BaseModel {
constructor(ctx) {
super(ctx);
}
/**
* 获取奥莱活动列表接口
* @param {[int]} id 活动id 为空表示查询全部活动
* @param {[int ]} platform 活动平台 1--WEB,2--APP,3--WAP,4--IPAD
* @param {[int]} size 查询数量,默认查询全部
* @param {[int]} channel 频道: 1 || 2 || 3 || 4
* @param {[int]} type
* @return {[type]} 0 活动列表,1 限时嗨购 2 即将结束 3.即将上线
*/
getOutletsActivityOrigin(params) {
let tempChannel = params.channel || 'boys';
return this.get({
data: {
method: 'app.outlets.activityGet',
id: params.id || null,
platform: params.platform || 1,
size: params.size || 0,
yh_channel: yhChannel[tempChannel].channel,
type: params.type || 0
}, params: {cache: config.apiCache}
});
}
/**
* 获取奥莱频道资源位数据
* @param {[object]} params
* @return {[type]}
*/
getChannelResouceData(params) {
return this.get({
url: 'operations/api/v5/resource/home',
data: params,
params: {cache: config.apiCache},
api: global.yoho.ServiceAPI
});
}
/**
* 获取奥莱潮品速递商品数据
* @param {[type]} params [description]
* @return {[type]} [description]
*/
getOutletsTrendData(params) {
let tempChannel = params.channel || 'boys';
return this.get({
data: {
method: 'app.search.trend',
yh_channel: yhChannel[tempChannel].channel,
order: params.order || 's_s_desc,s_n_desc',
gender: params.gender || '1,3',
stocknumber: 1, // 过滤出库存 > 1的商品
limit: params.limit || 5,
outlets: params.outlets || 1 // 默认取奥莱商品
}, params: {cache: config.apiCache}
});
}
/**
* 获取奥莱商品列表 promise 对象
* @return {[type]} [description]
*/
getOutletsGoodsList(params) {
// 频道
let tempChannel = params.channel || 'boys';
// 接口可接收的参数
let apiParams = ['outlets', 'page', 'limit', 'order', 'productSize', 'yh_channel', 'query',
'p_d', 'gender', 'msort', 'misort', 'sort', 'brand', 'color', 'size', 'saleType',
'breakSize', 'breakSort', 'productPool', 'price', 'method'];
// 初始化必填的接口参数
let tempParams = {
method: 'app.search.li',
outlets: 1,
page: params.page || 1,
limit: params.limit || 60,
order: params.order || 's_t_desc',
productSize: '384x511',
yh_channel: yhChannel[tempChannel].channel
};
_.forEach(apiParams, (paramsName) => {
if (params[paramsName]) {
tempParams[paramsName] = params[paramsName];
}
});
return this.get({data: tempParams, params: {cache: config.apiCache}});
}
};