Showing
4 changed files
with
740 additions
and
464 deletions
apps/guang/models/star - 副本.js
0 → 100644
1 | +/** | ||
2 | + * 新潮教室 | ||
3 | + * @author: wsl<shuiling.wang@yoho.cn> | ||
4 | + * @date: 2016/05/30 | ||
5 | + */ | ||
6 | +'use strict'; | ||
7 | +const library = '../../../library'; | ||
8 | +const utils = '../../../utils'; | ||
9 | +const resourcesProcess = require(`${utils}/resources-process`); | ||
10 | +const ServiceAPI = require(`${library}/api`).ServiceAPI; | ||
11 | +const API = require(`${library}/api`).API; | ||
12 | +const sign = require(`${library}/sign`); | ||
13 | +const logger = require(`${library}/logger`); | ||
14 | +const camelCase = require(`${library}/camel-case`); | ||
15 | +const helpers = require(`${library}/helpers`); | ||
16 | +const _ = require('lodash'); | ||
17 | +const url = require('url'); | ||
18 | +const qs = require('querystring'); | ||
19 | +const serviceAPI = new ServiceAPI(); | ||
20 | +const api = new API(); | ||
21 | + | ||
22 | +const contentCode = { | ||
23 | + special: '89cc20483ee2cbc8a716dcfe2b6c7603' | ||
24 | +}; | ||
25 | + | ||
26 | +class Star { | ||
27 | + /** | ||
28 | + * 获取资源位数据 | ||
29 | + * @param {[string]} page | ||
30 | + * @return {[array]} | ||
31 | + */ | ||
32 | + static getResources(page) { | ||
33 | + return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({ | ||
34 | + content_code: contentCode[page] | ||
35 | + })).then((result) => { | ||
36 | + if (result && result.code === 200) { | ||
37 | + return resourcesProcess(result.data); | ||
38 | + } else { | ||
39 | + logger.error('星潮教室页面资源位返回 code 不是 200'); | ||
40 | + return []; | ||
41 | + } | ||
42 | + }); | ||
43 | + } | ||
44 | + | ||
45 | + /** | ||
46 | + * 星潮教室首页数据处理 | ||
47 | + * @param {[array]} list | ||
48 | + * @return {[array]} | ||
49 | + */ | ||
50 | + static processIndexData(list) { | ||
51 | + const formatData = { | ||
52 | + ads: [], | ||
53 | + starAvatar: [], | ||
54 | + articles: [] | ||
55 | + }; | ||
56 | + | ||
57 | + list = list || {}; | ||
58 | + list = camelCase(list); | ||
59 | + | ||
60 | + // 首页资源位数据处理 | ||
61 | + if (list.ads) { | ||
62 | + _.forEach(list.ads.data, (data) => { | ||
63 | + formatData.ads.push({ | ||
64 | + src: data.src, | ||
65 | + url: data.url | ||
66 | + }); | ||
67 | + }); | ||
68 | + } | ||
69 | + | ||
70 | + // 首页明星文章数据处理 | ||
71 | + if (list.list) { | ||
72 | + _.forEach(list.list, (data) => { | ||
73 | + const avatar = { | ||
74 | + tags: [] | ||
75 | + }; | ||
76 | + | ||
77 | + if (data.ext.tags.length > 1) { | ||
78 | + avatar.isSwiper = true; | ||
79 | + } | ||
80 | + | ||
81 | + _.forEach(data.ext.tags, (tags) => { | ||
82 | + avatar.tags.push({ | ||
83 | + avatarUrl: `/guang/star/detail?tag=${tags.tagName}&openby:yohobuy={"action":"go.h5","params":{"id":"","share":"","shareparam":{},"islogin":"N","type":0,"updateflag":"N","url":"http:\/\/m.yohobuy.com\/guang\/star\/detail","param":{"tag":"${tags.tagName}"}}}`, // eslint-disable-line | ||
84 | + cover: tags.cover, | ||
85 | + tagName: tags.tagName | ||
86 | + }); | ||
87 | + }); | ||
88 | + | ||
89 | + let urlObj = url.parse(data.url); | ||
90 | + let appUrl = `&openby:yohobuy={"action":"go.h5","params":{"id":"","share":"","shareparam":{},"islogin":"N","type":0,"updateflag":"N","url":"${ urlObj.protocol + '//' + urlObj.host + urlObj.pathname}","param":${JSON.stringify(qs.parse(urlObj.query))}}}`.replace(/\//g, '\/'); // eslint-disable-line | ||
91 | + | ||
92 | + formatData.articles.push(_.merge({ | ||
93 | + id: data.id, | ||
94 | + url: data.url + appUrl, | ||
95 | + title: data.title, | ||
96 | + articeTxt: data.intro, | ||
97 | + src: data.src, | ||
98 | + publishTime: helpers.dateFormat('MM月DD日 hh:mm', data.publishTime), | ||
99 | + viewsNum: data.viewsNum | ||
100 | + }, avatar)); | ||
101 | + }); | ||
102 | + } | ||
103 | + | ||
104 | + | ||
105 | + // 首页明星头像数据处理 | ||
106 | + if (list.tags) { | ||
107 | + _.forEach(list.tags, (data) => { | ||
108 | + let url = `/guang/star/detail?tag=${data.tagName}&openby:yohobuy={"action":"go.h5","params":{"id":"","share":"","shareparam":{},"islogin":"N","type":0,"updateflag":"N","url":"http:\/\/m.yohobuy.com\/guang\/star\/detail","param":{"tag":"${data.tagName}"}}}`; // eslint-disable-line | ||
109 | + | ||
110 | + formatData.starAvatar.push({ | ||
111 | + url: url, | ||
112 | + cover: data.cover | ||
113 | + }); | ||
114 | + }); | ||
115 | + } | ||
116 | + | ||
117 | + return formatData; | ||
118 | + } | ||
119 | + | ||
120 | + static processShareUrl(post) { | ||
121 | + return `${post.share.url}&openby:yohobuy={"action":"go.share","params":{"pic":"${helpers.image(post.src, 640, 640)}","title":"${post.title}","url":"${post.share.url}","content":"潮流资讯,新鲜贩售,YOHO!Buy有货【逛】不停"}}`; // eslint-disable-line | ||
122 | + } | ||
123 | + | ||
124 | + /** | ||
125 | + * 明星专题列表数据处理 | ||
126 | + * @param {[array]} list | ||
127 | + * @return {[array]} | ||
128 | + */ | ||
129 | + static processDetailData(list) { | ||
130 | + const formatData = []; | ||
131 | + | ||
132 | + list = list || []; | ||
133 | + list = camelCase(list); | ||
134 | + | ||
135 | + _.forEach(list, (data) => { | ||
136 | + data.publishTime = helpers.dateFormat('MM月DD日 hh:mm', data.publishTime); | ||
137 | + if (data.share && data.share.url) { | ||
138 | + data.share.url = Star.processShareUrl(data); | ||
139 | + } | ||
140 | + formatData.push(data); | ||
141 | + }); | ||
142 | + | ||
143 | + return formatData; | ||
144 | + } | ||
145 | + | ||
146 | + | ||
147 | + /** | ||
148 | + * 星搭配文章列表数据处理 | ||
149 | + */ | ||
150 | + static processCollocationData(list) { | ||
151 | + const formatData = []; | ||
152 | + | ||
153 | + list = list || []; | ||
154 | + list = camelCase(list); | ||
155 | + | ||
156 | + _.forEach(list, (data) => { | ||
157 | + if (data.isFavor === 'N') { | ||
158 | + data.isCollected = false; | ||
159 | + } else { | ||
160 | + data.isCollected = true; | ||
161 | + } | ||
162 | + formatData.push(data); | ||
163 | + }); | ||
164 | + | ||
165 | + return formatData; | ||
166 | + } | ||
167 | + | ||
168 | + /** | ||
169 | + * 星潮首页 | ||
170 | + */ | ||
171 | + static getIndexData() { | ||
172 | + return api.get('', sign.apiSign({ | ||
173 | + method: 'app.starClass.index', | ||
174 | + code: '8adc27fcf5676f356602889afcfd2a8e' | ||
175 | + })).then((result) => { | ||
176 | + if (result && result.code === 200) { | ||
177 | + return Star.processIndexData(result.data); | ||
178 | + } else { | ||
179 | + logger.error('星潮教室首页数据返回 code 不是 200'); | ||
180 | + return {}; | ||
181 | + } | ||
182 | + }); | ||
183 | + } | ||
184 | + | ||
185 | + /** | ||
186 | + * 明星专题 | ||
187 | + */ | ||
188 | + static getDetailData(params) { | ||
189 | + return api.get('', sign.apiSign({ | ||
190 | + method: 'app.starClass.lastTagArticle', | ||
191 | + tag: params.tag, | ||
192 | + page: params.page || 1, | ||
193 | + size: 10 | ||
194 | + })).then((result) => { | ||
195 | + if (result && result.code === 200) { | ||
196 | + if (params.page > result.data.totalPage) { | ||
197 | + return ''; | ||
198 | + } else { | ||
199 | + return Star.processDetailData(result.data.list); | ||
200 | + } | ||
201 | + } else { | ||
202 | + logger.error('明星专题文章数据返回 code 不是 200'); | ||
203 | + return []; | ||
204 | + } | ||
205 | + }); | ||
206 | + } | ||
207 | + | ||
208 | + | ||
209 | + /** | ||
210 | + * 星专题 | ||
211 | + */ | ||
212 | + static getSpecialData() { | ||
213 | + return Star.getResources('special').then((result) => { | ||
214 | + | ||
215 | + // 数据结构嵌套太深 | ||
216 | + _.forEach(result, (data) => { | ||
217 | + _.map(data.data, (item) => { | ||
218 | + let urlObj = url.parse(item.url); | ||
219 | + let appUrl = `&openby:yohobuy={"action":"go.h5","params":{"id":"","share":"","shareparam":{},"islogin":"N","type":0,"updateflag":"N","url":"${ urlObj.protocol + '//' + urlObj.host + urlObj.pathname}","param":${JSON.stringify(qs.parse(urlObj.query))}}}`.replace(/\//g, '\/'); // eslint-disable-line | ||
220 | + | ||
221 | + item.url += appUrl; | ||
222 | + return item; | ||
223 | + }); | ||
224 | + }); | ||
225 | + return result; | ||
226 | + }); | ||
227 | + } | ||
228 | + | ||
229 | + /** | ||
230 | + * 星搭配 | ||
231 | + */ | ||
232 | + static getCollocationListData(params, uid) { | ||
233 | + | ||
234 | + return serviceAPI.get('guang/api/v5/article/getStarClassroomArticleList', sign.apiSign(Object.assign({ | ||
235 | + limit: '20', | ||
236 | + uid: uid | ||
237 | + }, params))).then((result) => { | ||
238 | + if (result && result.code === 200) { | ||
239 | + return Star.processCollocationData(result.data.list.artList); | ||
240 | + } else { | ||
241 | + logger.error('获取星搭配文章列表返回 code 不是 200'); | ||
242 | + return []; | ||
243 | + } | ||
244 | + }); | ||
245 | + } | ||
246 | + | ||
247 | + static setFavorite(params, uid) { | ||
248 | + if (!uid) { | ||
249 | + return Promise.resolve({ | ||
250 | + code: 401, | ||
251 | + message: '未登录' | ||
252 | + }); | ||
253 | + } | ||
254 | + | ||
255 | + return api.get('', sign.apiSign({ | ||
256 | + method: params.type === 'del' ? 'app.sns.cancelFavorBackCount' : 'app.sns.setFavorBackCount', | ||
257 | + client_type: 'h5', | ||
258 | + article_id: params.articleId, | ||
259 | + uid: uid | ||
260 | + })); | ||
261 | + } | ||
262 | +} | ||
263 | + | ||
264 | +const a = () | ||
265 | +const _b = () | ||
266 | + | ||
267 | +module.exports = {a: a, c: c}; |
@@ -23,242 +23,246 @@ const contentCode = { | @@ -23,242 +23,246 @@ const contentCode = { | ||
23 | special: '89cc20483ee2cbc8a716dcfe2b6c7603' | 23 | special: '89cc20483ee2cbc8a716dcfe2b6c7603' |
24 | }; | 24 | }; |
25 | 25 | ||
26 | -class Star { | ||
27 | - /** | ||
28 | - * 获取资源位数据 | ||
29 | - * @param {[string]} page | ||
30 | - * @return {[array]} | ||
31 | - */ | ||
32 | - static getResources(page) { | ||
33 | - return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({ | ||
34 | - content_code: contentCode[page] | ||
35 | - })).then((result) => { | ||
36 | - if (result && result.code === 200) { | ||
37 | - return resourcesProcess(result.data); | ||
38 | - } else { | ||
39 | - logger.error('星潮教室页面资源位返回 code 不是 200'); | ||
40 | - return []; | ||
41 | - } | 26 | +/** |
27 | + * 获取资源位数据 | ||
28 | + * @param {[string]} page | ||
29 | + * @return {[array]} | ||
30 | + */ | ||
31 | +const _getResources = (page) => { | ||
32 | + return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({ | ||
33 | + content_code: contentCode[page] | ||
34 | + })).then((result) => { | ||
35 | + if (result && result.code === 200) { | ||
36 | + return resourcesProcess(result.data); | ||
37 | + } else { | ||
38 | + logger.error('星潮教室页面资源位返回 code 不是 200'); | ||
39 | + return []; | ||
40 | + } | ||
41 | + }); | ||
42 | +} | ||
43 | + | ||
44 | +/** | ||
45 | + * 星潮教室首页数据处理 | ||
46 | + * @param {[array]} list | ||
47 | + * @return {[array]} | ||
48 | + */ | ||
49 | +const _processIndexData = (list) => { | ||
50 | + const formatData = { | ||
51 | + ads: [], | ||
52 | + starAvatar: [], | ||
53 | + articles: [] | ||
54 | + }; | ||
55 | + | ||
56 | + list = list || {}; | ||
57 | + list = camelCase(list); | ||
58 | + | ||
59 | + // 首页资源位数据处理 | ||
60 | + if (list.ads) { | ||
61 | + _.forEach(list.ads.data, (data) => { | ||
62 | + formatData.ads.push({ | ||
63 | + src: data.src, | ||
64 | + url: data.url | ||
65 | + }); | ||
42 | }); | 66 | }); |
43 | } | 67 | } |
44 | 68 | ||
45 | - /** | ||
46 | - * 星潮教室首页数据处理 | ||
47 | - * @param {[array]} list | ||
48 | - * @return {[array]} | ||
49 | - */ | ||
50 | - static processIndexData(list) { | ||
51 | - const formatData = { | ||
52 | - ads: [], | ||
53 | - starAvatar: [], | ||
54 | - articles: [] | ||
55 | - }; | ||
56 | - | ||
57 | - list = list || {}; | ||
58 | - list = camelCase(list); | ||
59 | - | ||
60 | - // 首页资源位数据处理 | ||
61 | - if (list.ads) { | ||
62 | - _.forEach(list.ads.data, (data) => { | ||
63 | - formatData.ads.push({ | ||
64 | - src: data.src, | ||
65 | - url: data.url | 69 | + // 首页明星文章数据处理 |
70 | + if (list.list) { | ||
71 | + _.forEach(list.list, (data) => { | ||
72 | + const avatar = { | ||
73 | + tags: [] | ||
74 | + }; | ||
75 | + | ||
76 | + if (data.ext.tags.length > 1) { | ||
77 | + avatar.isSwiper = true; | ||
78 | + } | ||
79 | + | ||
80 | + _.forEach(data.ext.tags, (tags) => { | ||
81 | + avatar.tags.push({ | ||
82 | + avatarUrl: `/guang/star/detail?tag=${tags.tagName}&openby:yohobuy={"action":"go.h5","params":{"id":"","share":"","shareparam":{},"islogin":"N","type":0,"updateflag":"N","url":"http:\/\/m.yohobuy.com\/guang\/star\/detail","param":{"tag":"${tags.tagName}"}}}`, // eslint-disable-line | ||
83 | + cover: tags.cover, | ||
84 | + tagName: tags.tagName | ||
66 | }); | 85 | }); |
67 | }); | 86 | }); |
68 | - } | ||
69 | 87 | ||
70 | - // 首页明星文章数据处理 | ||
71 | - if (list.list) { | ||
72 | - _.forEach(list.list, (data) => { | ||
73 | - const avatar = { | ||
74 | - tags: [] | ||
75 | - }; | ||
76 | - | ||
77 | - if (data.ext.tags.length > 1) { | ||
78 | - avatar.isSwiper = true; | ||
79 | - } | ||
80 | - | ||
81 | - _.forEach(data.ext.tags, (tags) => { | ||
82 | - avatar.tags.push({ | ||
83 | - avatarUrl: `/guang/star/detail?tag=${tags.tagName}&openby:yohobuy={"action":"go.h5","params":{"id":"","share":"","shareparam":{},"islogin":"N","type":0,"updateflag":"N","url":"http:\/\/m.yohobuy.com\/guang\/star\/detail","param":{"tag":"${tags.tagName}"}}}`, // eslint-disable-line | ||
84 | - cover: tags.cover, | ||
85 | - tagName: tags.tagName | ||
86 | - }); | ||
87 | - }); | 88 | + let urlObj = url.parse(data.url); |
89 | + let appUrl = `&openby:yohobuy={"action":"go.h5","params":{"id":"","share":"","shareparam":{},"islogin":"N","type":0,"updateflag":"N","url":"${ urlObj.protocol + '//' + urlObj.host + urlObj.pathname}","param":${JSON.stringify(qs.parse(urlObj.query))}}}`.replace(/\//g, '\/'); // eslint-disable-line | ||
90 | + | ||
91 | + formatData.articles.push(_.merge({ | ||
92 | + id: data.id, | ||
93 | + url: data.url + appUrl, | ||
94 | + title: data.title, | ||
95 | + articeTxt: data.intro, | ||
96 | + src: data.src, | ||
97 | + publishTime: helpers.dateFormat('MM月DD日 hh:mm', data.publishTime), | ||
98 | + viewsNum: data.viewsNum | ||
99 | + }, avatar)); | ||
100 | + }); | ||
101 | + } | ||
88 | 102 | ||
89 | - let urlObj = url.parse(data.url); | ||
90 | - let appUrl = `&openby:yohobuy={"action":"go.h5","params":{"id":"","share":"","shareparam":{},"islogin":"N","type":0,"updateflag":"N","url":"${ urlObj.protocol + '//' + urlObj.host + urlObj.pathname}","param":${JSON.stringify(qs.parse(urlObj.query))}}}`.replace(/\//g, '\/'); // eslint-disable-line | ||
91 | 103 | ||
92 | - formatData.articles.push(_.merge({ | ||
93 | - id: data.id, | ||
94 | - url: data.url + appUrl, | ||
95 | - title: data.title, | ||
96 | - articeTxt: data.intro, | ||
97 | - src: data.src, | ||
98 | - publishTime: helpers.dateFormat('MM月DD日 hh:mm', data.publishTime), | ||
99 | - viewsNum: data.viewsNum | ||
100 | - }, avatar)); | ||
101 | - }); | ||
102 | - } | 104 | + // 首页明星头像数据处理 |
105 | + if (list.tags) { | ||
106 | + _.forEach(list.tags, (data) => { | ||
107 | + let url = `/guang/star/detail?tag=${data.tagName}&openby:yohobuy={"action":"go.h5","params":{"id":"","share":"","shareparam":{},"islogin":"N","type":0,"updateflag":"N","url":"http:\/\/m.yohobuy.com\/guang\/star\/detail","param":{"tag":"${data.tagName}"}}}`; // eslint-disable-line | ||
103 | 108 | ||
109 | + formatData.starAvatar.push({ | ||
110 | + url: url, | ||
111 | + cover: data.cover | ||
112 | + }); | ||
113 | + }); | ||
114 | + } | ||
104 | 115 | ||
105 | - // 首页明星头像数据处理 | ||
106 | - if (list.tags) { | ||
107 | - _.forEach(list.tags, (data) => { | ||
108 | - let url = `/guang/star/detail?tag=${data.tagName}&openby:yohobuy={"action":"go.h5","params":{"id":"","share":"","shareparam":{},"islogin":"N","type":0,"updateflag":"N","url":"http:\/\/m.yohobuy.com\/guang\/star\/detail","param":{"tag":"${data.tagName}"}}}`; // eslint-disable-line | 116 | + return formatData; |
117 | +} | ||
109 | 118 | ||
110 | - formatData.starAvatar.push({ | ||
111 | - url: url, | ||
112 | - cover: data.cover | ||
113 | - }); | ||
114 | - }); | ||
115 | - } | 119 | +const _processShareUrl = (post) => { |
120 | + return `${post.share.url}&openby:yohobuy={"action":"go.share","params":{"pic":"${helpers.image(post.src, 640, 640)}","title":"${post.title}","url":"${post.share.url}","content":"潮流资讯,新鲜贩售,YOHO!Buy有货【逛】不停"}}`; // eslint-disable-line | ||
121 | +} | ||
116 | 122 | ||
117 | - return formatData; | ||
118 | - } | 123 | +/** |
124 | + * 明星专题列表数据处理 | ||
125 | + * @param {[array]} list | ||
126 | + * @return {[array]} | ||
127 | + */ | ||
128 | +const _processDetailData = (list) => { | ||
129 | + const formatData = []; | ||
119 | 130 | ||
120 | - static processShareUrl(post) { | ||
121 | - return `${post.share.url}&openby:yohobuy={"action":"go.share","params":{"pic":"${helpers.image(post.src, 640, 640)}","title":"${post.title}","url":"${post.share.url}","content":"潮流资讯,新鲜贩售,YOHO!Buy有货【逛】不停"}}`; // eslint-disable-line | ||
122 | - } | 131 | + list = list || []; |
132 | + list = camelCase(list); | ||
123 | 133 | ||
124 | - /** | ||
125 | - * 明星专题列表数据处理 | ||
126 | - * @param {[array]} list | ||
127 | - * @return {[array]} | ||
128 | - */ | ||
129 | - static processDetailData(list) { | ||
130 | - const formatData = []; | ||
131 | - | ||
132 | - list = list || []; | ||
133 | - list = camelCase(list); | ||
134 | - | ||
135 | - _.forEach(list, (data) => { | ||
136 | - data.publishTime = helpers.dateFormat('MM月DD日 hh:mm', data.publishTime); | ||
137 | - if (data.share && data.share.url) { | ||
138 | - data.share.url = Star.processShareUrl(data); | ||
139 | - } | ||
140 | - formatData.push(data); | ||
141 | - }); | 134 | + _.forEach(list, (data) => { |
135 | + data.publishTime = helpers.dateFormat('MM月DD日 hh:mm', data.publishTime); | ||
136 | + if (data.share && data.share.url) { | ||
137 | + data.share.url = _processShareUrl(data); | ||
138 | + } | ||
139 | + formatData.push(data); | ||
140 | + }); | ||
142 | 141 | ||
143 | - return formatData; | ||
144 | - } | 142 | + return formatData; |
143 | +} | ||
145 | 144 | ||
146 | 145 | ||
147 | - /** | ||
148 | - * 星搭配文章列表数据处理 | ||
149 | - */ | ||
150 | - static processCollocationData(list) { | ||
151 | - const formatData = []; | 146 | +/** |
147 | + * 星搭配文章列表数据处理 | ||
148 | + */ | ||
149 | +const _processCollocationData = (list) => { | ||
150 | + const formatData = []; | ||
152 | 151 | ||
153 | - list = list || []; | ||
154 | - list = camelCase(list); | 152 | + list = list || []; |
153 | + list = camelCase(list); | ||
155 | 154 | ||
156 | - _.forEach(list, (data) => { | ||
157 | - if (data.isFavor === 'N') { | ||
158 | - data.isCollected = false; | ||
159 | - } else { | ||
160 | - data.isCollected = true; | ||
161 | - } | ||
162 | - formatData.push(data); | ||
163 | - }); | 155 | + _.forEach(list, (data) => { |
156 | + if (data.isFavor === 'N') { | ||
157 | + data.isCollected = false; | ||
158 | + } else { | ||
159 | + data.isCollected = true; | ||
160 | + } | ||
161 | + formatData.push(data); | ||
162 | + }); | ||
164 | 163 | ||
165 | - return formatData; | ||
166 | - } | 164 | + return formatData; |
165 | +} | ||
167 | 166 | ||
168 | - /** | ||
169 | - * 星潮首页 | ||
170 | - */ | ||
171 | - static getIndexData() { | ||
172 | - return api.get('', sign.apiSign({ | ||
173 | - method: 'app.starClass.index', | ||
174 | - code: '8adc27fcf5676f356602889afcfd2a8e' | ||
175 | - })).then((result) => { | ||
176 | - if (result && result.code === 200) { | ||
177 | - return Star.processIndexData(result.data); | ||
178 | - } else { | ||
179 | - logger.error('星潮教室首页数据返回 code 不是 200'); | ||
180 | - return {}; | ||
181 | - } | ||
182 | - }); | ||
183 | - } | 167 | +/** |
168 | + * 星潮首页 | ||
169 | + */ | ||
170 | +const getIndexData = () => { | ||
171 | + return api.get('', sign.apiSign({ | ||
172 | + method: 'app.starClass.index', | ||
173 | + code: '8adc27fcf5676f356602889afcfd2a8e' | ||
174 | + })).then((result) => { | ||
175 | + if (result && result.code === 200) { | ||
176 | + return _processIndexData(result.data); | ||
177 | + } else { | ||
178 | + logger.error('星潮教室首页数据返回 code 不是 200'); | ||
179 | + return {}; | ||
180 | + } | ||
181 | + }); | ||
182 | +} | ||
184 | 183 | ||
185 | - /** | ||
186 | - * 明星专题 | ||
187 | - */ | ||
188 | - static getDetailData(params) { | ||
189 | - return api.get('', sign.apiSign({ | ||
190 | - method: 'app.starClass.lastTagArticle', | ||
191 | - tag: params.tag, | ||
192 | - page: params.page || 1, | ||
193 | - size: 10 | ||
194 | - })).then((result) => { | ||
195 | - if (result && result.code === 200) { | ||
196 | - if (params.page > result.data.totalPage) { | ||
197 | - return ''; | ||
198 | - } else { | ||
199 | - return Star.processDetailData(result.data.list); | ||
200 | - } | 184 | +/** |
185 | + * 明星专题 | ||
186 | + */ | ||
187 | +const getDetailData = (params) => { | ||
188 | + return api.get('', sign.apiSign({ | ||
189 | + method: 'app.starClass.lastTagArticle', | ||
190 | + tag: params.tag, | ||
191 | + page: params.page || 1, | ||
192 | + size: 10 | ||
193 | + })).then((result) => { | ||
194 | + if (result && result.code === 200) { | ||
195 | + if (params.page > result.data.totalPage) { | ||
196 | + return ''; | ||
201 | } else { | 197 | } else { |
202 | - logger.error('明星专题文章数据返回 code 不是 200'); | ||
203 | - return []; | 198 | + return _processDetailData(result.data.list); |
204 | } | 199 | } |
205 | - }); | ||
206 | - } | 200 | + } else { |
201 | + logger.error('明星专题文章数据返回 code 不是 200'); | ||
202 | + return []; | ||
203 | + } | ||
204 | + }); | ||
205 | +} | ||
207 | 206 | ||
208 | 207 | ||
209 | - /** | ||
210 | - * 星专题 | ||
211 | - */ | ||
212 | - static getSpecialData() { | ||
213 | - return Star.getResources('special').then((result) => { | 208 | +/** |
209 | + * 星专题 | ||
210 | + */ | ||
211 | +const getSpecialData = () => { | ||
212 | + return _getResources('special').then((result) => { | ||
214 | 213 | ||
215 | - // 数据结构嵌套太深 | ||
216 | - _.forEach(result, (data) => { | ||
217 | - _.map(data.data, (item) => { | ||
218 | - let urlObj = url.parse(item.url); | ||
219 | - let appUrl = `&openby:yohobuy={"action":"go.h5","params":{"id":"","share":"","shareparam":{},"islogin":"N","type":0,"updateflag":"N","url":"${ urlObj.protocol + '//' + urlObj.host + urlObj.pathname}","param":${JSON.stringify(qs.parse(urlObj.query))}}}`.replace(/\//g, '\/'); // eslint-disable-line | 214 | + // 数据结构嵌套太深 |
215 | + _.forEach(result, (data) => { | ||
216 | + _.map(data.data, (item) => { | ||
217 | + let urlObj = url.parse(item.url); | ||
218 | + let appUrl = `&openby:yohobuy={"action":"go.h5","params":{"id":"","share":"","shareparam":{},"islogin":"N","type":0,"updateflag":"N","url":"${ urlObj.protocol + '//' + urlObj.host + urlObj.pathname}","param":${JSON.stringify(qs.parse(urlObj.query))}}}`.replace(/\//g, '\/'); // eslint-disable-line | ||
220 | 219 | ||
221 | - item.url += appUrl; | ||
222 | - return item; | ||
223 | - }); | 220 | + item.url += appUrl; |
221 | + return item; | ||
224 | }); | 222 | }); |
225 | - return result; | ||
226 | - }); | ||
227 | - } | ||
228 | - | ||
229 | - /** | ||
230 | - * 星搭配 | ||
231 | - */ | ||
232 | - static getCollocationListData(params, uid) { | ||
233 | - | ||
234 | - return serviceAPI.get('guang/api/v5/article/getStarClassroomArticleList', sign.apiSign(Object.assign({ | ||
235 | - limit: '20', | ||
236 | - uid: uid | ||
237 | - }, params))).then((result) => { | ||
238 | - if (result && result.code === 200) { | ||
239 | - return Star.processCollocationData(result.data.list.artList); | ||
240 | - } else { | ||
241 | - logger.error('获取星搭配文章列表返回 code 不是 200'); | ||
242 | - return []; | ||
243 | - } | ||
244 | }); | 223 | }); |
245 | - } | 224 | + return result; |
225 | + }); | ||
226 | +} | ||
246 | 227 | ||
247 | - static setFavorite(params, uid) { | ||
248 | - if (!uid) { | ||
249 | - return Promise.resolve({ | ||
250 | - code: 401, | ||
251 | - message: '未登录' | ||
252 | - }); | 228 | +/** |
229 | + * 星搭配 | ||
230 | + */ | ||
231 | +const getCollocationListData = (params, uid) => { | ||
232 | + | ||
233 | + return serviceAPI.get('guang/api/v5/article/getStarClassroomArticleList', sign.apiSign(Object.assign({ | ||
234 | + limit: '20', | ||
235 | + uid: uid | ||
236 | + }, params))).then((result) => { | ||
237 | + if (result && result.code === 200) { | ||
238 | + return _processCollocationData(result.data.list.artList); | ||
239 | + } else { | ||
240 | + logger.error('获取星搭配文章列表返回 code 不是 200'); | ||
241 | + return []; | ||
253 | } | 242 | } |
243 | + }); | ||
244 | +} | ||
254 | 245 | ||
255 | - return api.get('', sign.apiSign({ | ||
256 | - method: params.type === 'del' ? 'app.sns.cancelFavorBackCount' : 'app.sns.setFavorBackCount', | ||
257 | - client_type: 'h5', | ||
258 | - article_id: params.articleId, | ||
259 | - uid: uid | ||
260 | - })); | 246 | +const setFavorite = (params, uid) => { |
247 | + if (!uid) { | ||
248 | + return Promise.resolve({ | ||
249 | + code: 401, | ||
250 | + message: '未登录' | ||
251 | + }); | ||
261 | } | 252 | } |
253 | + | ||
254 | + return api.get('', sign.apiSign({ | ||
255 | + method: params.type === 'del' ? 'app.sns.cancelFavorBackCount' : 'app.sns.setFavorBackCount', | ||
256 | + client_type: 'h5', | ||
257 | + article_id: params.articleId, | ||
258 | + uid: uid | ||
259 | + })); | ||
262 | } | 260 | } |
263 | 261 | ||
264 | -module.exports = Star; | 262 | +module.exports = { |
263 | + getIndexData: getIndexData, | ||
264 | + getSpecialData: getSpecialData, | ||
265 | + getCollocationListData: getCollocationListData, | ||
266 | + setFavorite: setFavorite, | ||
267 | + getDetailData: getDetailData | ||
268 | +}; |
@@ -69,308 +69,313 @@ const contentCode = { | @@ -69,308 +69,313 @@ const contentCode = { | ||
69 | } | 69 | } |
70 | }; | 70 | }; |
71 | 71 | ||
72 | -class Sale { | ||
73 | - | ||
74 | - /** | ||
75 | - * 折扣专场列表数据处理 | ||
76 | - * @param {[array]} list | ||
77 | - * @return {[array]} | ||
78 | - */ | ||
79 | - static processDiscount(list, channel) { | ||
80 | - const formatData = []; | ||
81 | - let flag = true; | ||
82 | - | ||
83 | - list = list || []; | ||
84 | - list = camelCase(list); | ||
85 | - | ||
86 | - if (list.length === 1) { | ||
87 | - flag = false; | ||
88 | - } | ||
89 | - | ||
90 | - _.forEach(list, (data) => { | ||
91 | - if (flag === true) { | ||
92 | - data.specialUrl = `/product/sale/discount/detail?id=${data.id}&channel=${channel}`; | ||
93 | - _.merge(data, processTime(data.leftTime)); | ||
94 | - } | 72 | +/** |
73 | + * 折扣专场列表数据处理 | ||
74 | + * @param {[array]} list | ||
75 | + * @return {[array]} | ||
76 | + */ | ||
77 | +const _processDiscount = (list, channel) => { | ||
78 | + const formatData = []; | ||
79 | + let flag = true; | ||
95 | 80 | ||
96 | - formatData.push(data); | ||
97 | - }); | 81 | + list = list || []; |
82 | + list = camelCase(list); | ||
98 | 83 | ||
99 | - return formatData; | 84 | + if (list.length === 1) { |
85 | + flag = false; | ||
100 | } | 86 | } |
101 | 87 | ||
102 | - /** | ||
103 | - * 折扣专场接口调用 | ||
104 | - * @param {[object]} params | ||
105 | - * @return {[array]} | ||
106 | - */ | ||
107 | - static discount(params) { | ||
108 | - params = params || {}; | ||
109 | - | ||
110 | - return api.get('', sign.apiSign(Object.assign({ | ||
111 | - method: 'app.activity.get', | ||
112 | - sort: 2, | ||
113 | - plateform: 2 | ||
114 | - }, params))); | ||
115 | - } | 88 | + _.forEach(list, (data) => { |
89 | + if (flag === true) { | ||
90 | + data.specialUrl = `/product/sale/discount/detail?id=${data.id}&channel=${channel}`; | ||
91 | + _.merge(data, processTime(data.leftTime)); | ||
92 | + } | ||
93 | + | ||
94 | + formatData.push(data); | ||
95 | + }); | ||
96 | + | ||
97 | + return formatData; | ||
98 | +} | ||
99 | + | ||
100 | +/** | ||
101 | + * 折扣专场接口调用 | ||
102 | + * @param {[object]} params | ||
103 | + * @return {[array]} | ||
104 | + */ | ||
105 | +const _discount = (params) => { | ||
106 | + params = params || {}; | ||
107 | + | ||
108 | + return api.get('', sign.apiSign(Object.assign({ | ||
109 | + method: 'app.activity.get', | ||
110 | + sort: 2, | ||
111 | + plateform: 2 | ||
112 | + }, params))); | ||
113 | +} | ||
116 | 114 | ||
117 | - /** | ||
118 | - * 断码区分类数据处理 | ||
119 | - * @param {[array]} list | ||
120 | - * @return {[array]} | ||
121 | - */ | ||
122 | - static processBreakingSort(list) { | ||
123 | - const formatData = {}; | ||
124 | - const sort = []; | ||
125 | - const sub = []; | 115 | +/** |
116 | + * 断码区分类数据处理 | ||
117 | + * @param {[array]} list | ||
118 | + * @return {[array]} | ||
119 | + */ | ||
120 | +const _processBreakingSort = (list) => { | ||
121 | + const formatData = {}; | ||
122 | + const sort = []; | ||
123 | + const sub = []; | ||
126 | 124 | ||
127 | - list = list || []; | ||
128 | - list = camelCase(list); | 125 | + list = list || []; |
126 | + list = camelCase(list); | ||
129 | 127 | ||
130 | - _.forEach(list, (data, index) => { | ||
131 | - const allSub = []; | 128 | + _.forEach(list, (data, index) => { |
129 | + const allSub = []; | ||
132 | 130 | ||
133 | - data.sub.key = index; | ||
134 | - sub.push(data.sub); | 131 | + data.sub.key = index; |
132 | + sub.push(data.sub); | ||
135 | 133 | ||
136 | - _.forEach(data.sub, (dataSub) => { | ||
137 | - allSub.push(dataSub.sizeId); | ||
138 | - }); | 134 | + _.forEach(data.sub, (dataSub) => { |
135 | + allSub.push(dataSub.sizeId); | ||
136 | + }); | ||
139 | 137 | ||
140 | - sort.push({ | ||
141 | - sortName: data.sortName, | ||
142 | - sortId: data.sortId, | ||
143 | - allSub: allSub | ||
144 | - }); | 138 | + sort.push({ |
139 | + sortName: data.sortName, | ||
140 | + sortId: data.sortId, | ||
141 | + allSub: allSub | ||
145 | }); | 142 | }); |
143 | + }); | ||
146 | 144 | ||
147 | - formatData.sortData = sort; | ||
148 | - formatData.sub = sub; | 145 | + formatData.sortData = sort; |
146 | + formatData.sub = sub; | ||
149 | 147 | ||
150 | - return formatData; | ||
151 | - } | 148 | + return formatData; |
149 | +} | ||
152 | 150 | ||
153 | - /** | ||
154 | - * 商品搜索接口请求 | ||
155 | - * @param {[object]} params | ||
156 | - * @return {[array]} | ||
157 | - */ | ||
158 | - static searchSales(params) { | 151 | +/** |
152 | + * 商品搜索接口请求 | ||
153 | + * @param {[object]} params | ||
154 | + * @return {[array]} | ||
155 | + */ | ||
156 | +const _searchSales = (params) => { | ||
159 | 157 | ||
160 | - let method = 'app.search.sales'; | 158 | + let method = 'app.search.sales'; |
161 | 159 | ||
162 | - // 排除基本筛选项默认值为0的对象 | ||
163 | - for (let str in params) { | ||
164 | - if (str !== 'order' && params[str] === '0' || params[str] === null) { | ||
165 | - delete params[str]; | ||
166 | - } | 160 | + // 排除基本筛选项默认值为0的对象 |
161 | + for (let str in params) { | ||
162 | + if (str !== 'order' && params[str] === '0' || params[str] === null) { | ||
163 | + delete params[str]; | ||
167 | } | 164 | } |
165 | + } | ||
168 | 166 | ||
169 | - params.yh_channel = channelType[params.yh_channel]; | 167 | + params.yh_channel = channelType[params.yh_channel]; |
170 | 168 | ||
171 | - if (params.outlets) { | ||
172 | - method = 'app.search.category'; | ||
173 | - } | 169 | + if (params.outlets) { |
170 | + method = 'app.search.category'; | ||
171 | + } | ||
174 | 172 | ||
175 | - params = Object.assign({ | ||
176 | - limit: '50' | ||
177 | - }, params); | 173 | + params = Object.assign({ |
174 | + limit: '50' | ||
175 | + }, params); | ||
178 | 176 | ||
179 | - if (typeCont[params.type]) { | ||
180 | - params.order = typeCont[params.type][params.order]; | ||
181 | - } | 177 | + if (typeCont[params.type]) { |
178 | + params.order = typeCont[params.type][params.order]; | ||
179 | + } | ||
180 | + | ||
181 | + return api.get('', sign.apiSign(Object.assign({ | ||
182 | + method: method | ||
183 | + }, params)), true); | ||
184 | +} | ||
182 | 185 | ||
183 | - return api.get('', sign.apiSign(Object.assign({ | ||
184 | - method: method | ||
185 | - }, params)), true); | 186 | +/** |
187 | + * 获取用户数据信息 | ||
188 | + * @param {[string]} uid | ||
189 | + * @return {[array]} | ||
190 | + */ | ||
191 | +const _getUserProfile = (uid) => { | ||
192 | + if (!uid) { | ||
193 | + return Promise.resolve({ | ||
194 | + code: 200, | ||
195 | + data: {} | ||
196 | + }); | ||
186 | } | 197 | } |
198 | + return api.get('', sign.apiSign({ | ||
199 | + method: 'app.passport.profile', | ||
200 | + uid: uid | ||
201 | + }), true); | ||
202 | +} | ||
187 | 203 | ||
188 | - /** | ||
189 | - * 获取用户数据信息 | ||
190 | - * @param {[string]} uid | ||
191 | - * @return {[array]} | ||
192 | - */ | ||
193 | - static getUserProfile(uid) { | ||
194 | - if (!uid) { | ||
195 | - return Promise.resolve({ | ||
196 | - code: 200, | ||
197 | - data: {} | ||
198 | - }); | 204 | +/** |
205 | + * 获取资源位数据 | ||
206 | + * @param {[string]} page | ||
207 | + * @return {[array]} | ||
208 | + */ | ||
209 | +const _getResources = (page, channel) => { | ||
210 | + return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({ | ||
211 | + content_code: contentCode[channel][page] | ||
212 | + })).then((result) => { | ||
213 | + if (result && result.code === 200) { | ||
214 | + return resourcesProcess(result.data); | ||
215 | + } else { | ||
216 | + logger.error('SALE 页面资源位返回 code 不是 200'); | ||
217 | + return []; | ||
199 | } | 218 | } |
200 | - return api.get('', sign.apiSign({ | ||
201 | - method: 'app.passport.profile', | ||
202 | - uid: uid | ||
203 | - }), true); | ||
204 | - } | 219 | + }); |
220 | +} | ||
221 | + | ||
222 | +/** | ||
223 | + * 获取断码区分类数据 | ||
224 | + * @param {[string]} yhChannel | ||
225 | + * @return {[object]} | ||
226 | + */ | ||
227 | +const _getBreakingSort = (yhChannel) => { | ||
228 | + return api.get('', sign.apiSign({ | ||
229 | + method: 'app.sale.getBreakingSort', | ||
230 | + yh_channel: channelType[yhChannel] || '1' | ||
231 | + })).then((result) => { | ||
232 | + if (result && result.code === 200) { | ||
233 | + return _processBreakingSort(result.data); | ||
234 | + } else { | ||
235 | + logger.error('断码区分类接口返回 code 不是 200'); | ||
236 | + return {}; | ||
237 | + } | ||
238 | + }); | ||
239 | +} | ||
205 | 240 | ||
206 | - /** | ||
207 | - * 获取资源位数据 | ||
208 | - * @param {[string]} page | ||
209 | - * @return {[array]} | ||
210 | - */ | ||
211 | - static getResources(page, channel) { | ||
212 | - return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({ | ||
213 | - content_code: contentCode[channel][page] | ||
214 | - })).then((result) => { | 241 | +/** |
242 | + * 获取商品数据 | ||
243 | + */ | ||
244 | +const getSearchData = (params, uid) => { | ||
245 | + return Promise.all([ | ||
246 | + _searchSales(params).then((result) => { | ||
215 | if (result && result.code === 200) { | 247 | if (result && result.code === 200) { |
216 | - return resourcesProcess(result.data); | 248 | + return productProcess.processProductList(result.data.product_list || [], { |
249 | + yh_channel: params.yh_channel, | ||
250 | + showSale: false | ||
251 | + }); | ||
217 | } else { | 252 | } else { |
218 | - logger.error('SALE 页面资源位返回 code 不是 200'); | 253 | + logger.error('SALE 商品搜索返回 code 不是 200'); |
219 | return []; | 254 | return []; |
220 | } | 255 | } |
221 | - }); | ||
222 | - } | ||
223 | - | ||
224 | - /** | ||
225 | - * 获取断码区分类数据 | ||
226 | - * @param {[string]} yhChannel | ||
227 | - * @return {[object]} | ||
228 | - */ | ||
229 | - static getBreakingSort(yhChannel) { | ||
230 | - return api.get('', sign.apiSign({ | ||
231 | - method: 'app.sale.getBreakingSort', | ||
232 | - yh_channel: channelType[yhChannel] || '1' | ||
233 | - })).then((result) => { | 256 | + }), |
257 | + _getUserProfile(uid).then((result) => { | ||
234 | if (result && result.code === 200) { | 258 | if (result && result.code === 200) { |
235 | - return Sale.processBreakingSort(result.data); | 259 | + return result.data.vip_info ? camelCase(result.data.vip_info) : {}; |
236 | } else { | 260 | } else { |
237 | - logger.error('断码区分类接口返回 code 不是 200'); | 261 | + logger.error('获取用户信息返回 code 不是 200'); |
238 | return {}; | 262 | return {}; |
239 | } | 263 | } |
240 | - }); | ||
241 | - } | 264 | + }) |
265 | + ]); | ||
266 | +} | ||
242 | 267 | ||
243 | - /** | ||
244 | - * 获取商品数据 | ||
245 | - */ | ||
246 | - static getSearchData(params, uid) { | ||
247 | - return Promise.all([ | ||
248 | - Sale.searchSales(params).then((result) => { | ||
249 | - if (result && result.code === 200) { | ||
250 | - return productProcess.processProductList(result.data.product_list || [], { | ||
251 | - yh_channel: params.yh_channel, | ||
252 | - showSale: false | ||
253 | - }); | ||
254 | - } else { | ||
255 | - logger.error('SALE 商品搜索返回 code 不是 200'); | ||
256 | - return []; | ||
257 | - } | ||
258 | - }), | ||
259 | - Sale.getUserProfile(uid).then((result) => { | ||
260 | - if (result && result.code === 200) { | ||
261 | - return result.data.vip_info ? camelCase(result.data.vip_info) : {}; | ||
262 | - } else { | ||
263 | - logger.error('获取用户信息返回 code 不是 200'); | ||
264 | - return {}; | ||
265 | - } | ||
266 | - }) | ||
267 | - ]); | ||
268 | - } | 268 | +/** |
269 | + * 获取筛选数据 | ||
270 | + * @param {[object]} params | ||
271 | + * @return {[array]} | ||
272 | + */ | ||
273 | +const getFilterData = (params) => { | ||
274 | + return _searchSales(params).then((result) => { | ||
275 | + if (result && result.code === 200) { | ||
276 | + return productProcess.processFilter(result.data.filter || [], { | ||
277 | + hideSize: params.saleType === '1', | ||
278 | + hideSort: params.saleType === '1' | ||
279 | + }); | ||
280 | + } else { | ||
281 | + logger.error('SALE 商品搜索返回 code 不是 200'); | ||
282 | + return []; | ||
283 | + } | ||
284 | + }); | ||
285 | +} | ||
269 | 286 | ||
270 | - /** | ||
271 | - * 获取筛选数据 | ||
272 | - * @param {[object]} params | ||
273 | - * @return {[array]} | ||
274 | - */ | ||
275 | - static getFilterData(params) { | ||
276 | - return Sale.searchSales(params).then((result) => { | ||
277 | - if (result && result.code === 200) { | ||
278 | - return productProcess.processFilter(result.data.filter || [], { | ||
279 | - hideSize: params.saleType === '1', | ||
280 | - hideSort: params.saleType === '1' | ||
281 | - }); | ||
282 | - } else { | ||
283 | - logger.error('SALE 商品搜索返回 code 不是 200'); | ||
284 | - return []; | ||
285 | - } | ||
286 | - }); | ||
287 | - } | 287 | +/** |
288 | + * 获取sale首页数据 | ||
289 | + * @return {[array]} | ||
290 | + */ | ||
291 | +const getSaleData = (channel) => { | ||
292 | + return _getResources('sale', channel); | ||
293 | +} | ||
288 | 294 | ||
289 | - /** | ||
290 | - * 获取sale首页数据 | ||
291 | - * @return {[array]} | ||
292 | - */ | ||
293 | - static getSaleData(channel) { | ||
294 | - return Sale.getResources('sale', channel); | ||
295 | - } | ||
296 | 295 | ||
296 | +/** | ||
297 | + * 获取会员享数据 | ||
298 | + * @return {[array]} | ||
299 | + */ | ||
300 | +const getVipData = (channel) => { | ||
301 | + return _getResources('vip', channel); | ||
302 | +} | ||
297 | 303 | ||
298 | - /** | ||
299 | - * 获取会员享数据 | ||
300 | - * @return {[array]} | ||
301 | - */ | ||
302 | - static getVipData(channel) { | ||
303 | - return Sale.getResources('vip', channel); | ||
304 | - } | ||
305 | 304 | ||
305 | +/** | ||
306 | + * 获取断码区数据 | ||
307 | + * @param {[object]} params | ||
308 | + * @return {[object]} | ||
309 | + */ | ||
310 | +const getBreakCodeData = (params) => { | ||
311 | + params = params || {}; | ||
312 | + return Promise.all([_getResources('breakCode', params.yhChannel), _getBreakingSort(params.yhChannel)]) | ||
313 | + .then((result) => { | ||
314 | + return { | ||
315 | + content: result[0], | ||
316 | + nav: result[1] | ||
317 | + }; | ||
318 | + }); | ||
319 | +} | ||
306 | 320 | ||
307 | - /** | ||
308 | - * 获取断码区数据 | ||
309 | - * @param {[object]} params | ||
310 | - * @return {[object]} | ||
311 | - */ | ||
312 | - static getBreakCodeData(params) { | ||
313 | - params = params || {}; | ||
314 | - return Promise.all([Sale.getResources('breakCode', params.yhChannel), Sale.getBreakingSort(params.yhChannel)]) | ||
315 | - .then((result) => { | ||
316 | - return { | ||
317 | - content: result[0], | ||
318 | - nav: result[1] | ||
319 | - }; | ||
320 | - }); | ||
321 | - } | 321 | +/** |
322 | + * 获取折扣专场专题列表数据 | ||
323 | + * @param {[object]} params | ||
324 | + * @return {[object]} | ||
325 | + */ | ||
326 | +const getDiscountData = (yhChannel) => { | ||
327 | + const discountData = {}; | ||
328 | + | ||
329 | + return _discount({ | ||
330 | + yh_channel: channelType[yhChannel] || '1' | ||
331 | + }).then((result) => { | ||
332 | + if (result && result.code === 200) { | ||
333 | + discountData.data = _processDiscount(result.data, yhChannel); | ||
334 | + return discountData; | ||
335 | + } else { | ||
336 | + logger.error('折扣专场专题列表返回 code 不是 200'); | ||
337 | + return {}; | ||
338 | + } | ||
339 | + }); | ||
340 | +} | ||
322 | 341 | ||
323 | - /** | ||
324 | - * 获取折扣专场专题列表数据 | ||
325 | - * @param {[object]} params | ||
326 | - * @return {[object]} | ||
327 | - */ | ||
328 | - static getDiscountData(yhChannel) { | ||
329 | - const discountData = {}; | ||
330 | - | ||
331 | - return Sale.discount({ | ||
332 | - yh_channel: channelType[yhChannel] || '1' | ||
333 | - }).then((result) => { | ||
334 | - if (result && result.code === 200) { | ||
335 | - discountData.data = Sale.processDiscount(result.data, yhChannel); | ||
336 | - return discountData; | ||
337 | - } else { | ||
338 | - logger.error('折扣专场专题列表返回 code 不是 200'); | ||
339 | - return {}; | ||
340 | - } | ||
341 | - }); | ||
342 | - } | 342 | +/** |
343 | + * 获取折扣专场专题详情数据 | ||
344 | + * @param {[string]} id | ||
345 | + * @return {[object]} | ||
346 | + */ | ||
347 | +const getDiscountDetailData = (id, yhChannel) => { | ||
348 | + let res = {}; | ||
349 | + let param = { | ||
350 | + id: id, | ||
351 | + yh_channel: channelType[yhChannel] || '1' | ||
352 | + }; | ||
343 | 353 | ||
344 | - /** | ||
345 | - * 获取折扣专场专题详情数据 | ||
346 | - * @param {[string]} id | ||
347 | - * @return {[object]} | ||
348 | - */ | ||
349 | - static getDiscountDetailData(id, yhChannel) { | ||
350 | - let res = {}; | ||
351 | - let param = { | ||
352 | - id: id, | ||
353 | - yh_channel: channelType[yhChannel] || '1' | ||
354 | - }; | 354 | + return _discount(param).then((result) => { |
355 | + if (result && result.code === 200) { | ||
356 | + res = _processDiscount(result.data); | ||
355 | 357 | ||
356 | - return Sale.discount(param).then((result) => { | ||
357 | - if (result && result.code === 200) { | ||
358 | - res = Sale.processDiscount(result.data); | ||
359 | - | ||
360 | - return { | ||
361 | - title: res[0].title, | ||
362 | - productPool: res[0].productPool, | ||
363 | - activity: { | ||
364 | - coverUrl: res[0].coverUrl, | ||
365 | - leftTime: res[0].leftTime | ||
366 | - } | ||
367 | - }; | ||
368 | - } else { | ||
369 | - logger.error('折扣专场专题详情返回 code 不是 200'); | ||
370 | - return {}; | ||
371 | - } | ||
372 | - }); | ||
373 | - } | 358 | + return { |
359 | + title: res[0].title, | ||
360 | + productPool: res[0].productPool, | ||
361 | + activity: { | ||
362 | + coverUrl: res[0].coverUrl, | ||
363 | + leftTime: res[0].leftTime | ||
364 | + } | ||
365 | + }; | ||
366 | + } else { | ||
367 | + logger.error('折扣专场专题详情返回 code 不是 200'); | ||
368 | + return {}; | ||
369 | + } | ||
370 | + }); | ||
374 | } | 371 | } |
375 | 372 | ||
376 | -module.exports = Sale; | 373 | +module.exports = { |
374 | + getSaleData: getSaleData, | ||
375 | + getBreakCodeData: getBreakCodeData, | ||
376 | + getDiscountData: getDiscountData, | ||
377 | + getDiscountDetailData: getDiscountDetailData, | ||
378 | + getVipData: getVipData, | ||
379 | + getFilterData: getFilterData, | ||
380 | + getSearchData: getSearchData | ||
381 | +}; |
@@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
9 | &:link, | 9 | &:link, |
10 | &:visited, | 10 | &:visited, |
11 | &:hover, | 11 | &:hover, |
12 | - &:actived { | 12 | + &:active { |
13 | color: #000; | 13 | color: #000; |
14 | } | 14 | } |
15 | } | 15 | } |
@@ -259,7 +259,7 @@ | @@ -259,7 +259,7 @@ | ||
259 | position: relative; | 259 | position: relative; |
260 | } | 260 | } |
261 | 261 | ||
262 | - li:first { | 262 | + li:first-child { |
263 | margin-left: 0; | 263 | margin-left: 0; |
264 | } | 264 | } |
265 | 265 |
-
Please register or login to post a comment