Showing
4 changed files
with
369 additions
and
93 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,13 +23,12 @@ const contentCode = { | @@ -23,13 +23,12 @@ const contentCode = { | ||
23 | special: '89cc20483ee2cbc8a716dcfe2b6c7603' | 23 | special: '89cc20483ee2cbc8a716dcfe2b6c7603' |
24 | }; | 24 | }; |
25 | 25 | ||
26 | -class Star { | ||
27 | - /** | 26 | +/** |
28 | * 获取资源位数据 | 27 | * 获取资源位数据 |
29 | * @param {[string]} page | 28 | * @param {[string]} page |
30 | * @return {[array]} | 29 | * @return {[array]} |
31 | */ | 30 | */ |
32 | - static getResources(page) { | 31 | +const _getResources = (page) => { |
33 | return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({ | 32 | return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({ |
34 | content_code: contentCode[page] | 33 | content_code: contentCode[page] |
35 | })).then((result) => { | 34 | })).then((result) => { |
@@ -40,14 +39,14 @@ class Star { | @@ -40,14 +39,14 @@ class Star { | ||
40 | return []; | 39 | return []; |
41 | } | 40 | } |
42 | }); | 41 | }); |
43 | - } | 42 | +} |
44 | 43 | ||
45 | - /** | 44 | +/** |
46 | * 星潮教室首页数据处理 | 45 | * 星潮教室首页数据处理 |
47 | * @param {[array]} list | 46 | * @param {[array]} list |
48 | * @return {[array]} | 47 | * @return {[array]} |
49 | */ | 48 | */ |
50 | - static processIndexData(list) { | 49 | +const _processIndexData = (list) => { |
51 | const formatData = { | 50 | const formatData = { |
52 | ads: [], | 51 | ads: [], |
53 | starAvatar: [], | 52 | starAvatar: [], |
@@ -115,18 +114,18 @@ class Star { | @@ -115,18 +114,18 @@ class Star { | ||
115 | } | 114 | } |
116 | 115 | ||
117 | return formatData; | 116 | return formatData; |
118 | - } | 117 | +} |
119 | 118 | ||
120 | - static processShareUrl(post) { | 119 | +const _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 | 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 |
122 | - } | 121 | +} |
123 | 122 | ||
124 | - /** | 123 | +/** |
125 | * 明星专题列表数据处理 | 124 | * 明星专题列表数据处理 |
126 | * @param {[array]} list | 125 | * @param {[array]} list |
127 | * @return {[array]} | 126 | * @return {[array]} |
128 | */ | 127 | */ |
129 | - static processDetailData(list) { | 128 | +const _processDetailData = (list) => { |
130 | const formatData = []; | 129 | const formatData = []; |
131 | 130 | ||
132 | list = list || []; | 131 | list = list || []; |
@@ -135,19 +134,19 @@ class Star { | @@ -135,19 +134,19 @@ class Star { | ||
135 | _.forEach(list, (data) => { | 134 | _.forEach(list, (data) => { |
136 | data.publishTime = helpers.dateFormat('MM月DD日 hh:mm', data.publishTime); | 135 | data.publishTime = helpers.dateFormat('MM月DD日 hh:mm', data.publishTime); |
137 | if (data.share && data.share.url) { | 136 | if (data.share && data.share.url) { |
138 | - data.share.url = Star.processShareUrl(data); | 137 | + data.share.url = _processShareUrl(data); |
139 | } | 138 | } |
140 | formatData.push(data); | 139 | formatData.push(data); |
141 | }); | 140 | }); |
142 | 141 | ||
143 | return formatData; | 142 | return formatData; |
144 | - } | 143 | +} |
145 | 144 | ||
146 | 145 | ||
147 | - /** | 146 | +/** |
148 | * 星搭配文章列表数据处理 | 147 | * 星搭配文章列表数据处理 |
149 | */ | 148 | */ |
150 | - static processCollocationData(list) { | 149 | +const _processCollocationData = (list) => { |
151 | const formatData = []; | 150 | const formatData = []; |
152 | 151 | ||
153 | list = list || []; | 152 | list = list || []; |
@@ -163,29 +162,29 @@ class Star { | @@ -163,29 +162,29 @@ class Star { | ||
163 | }); | 162 | }); |
164 | 163 | ||
165 | return formatData; | 164 | return formatData; |
166 | - } | 165 | +} |
167 | 166 | ||
168 | - /** | 167 | +/** |
169 | * 星潮首页 | 168 | * 星潮首页 |
170 | */ | 169 | */ |
171 | - static getIndexData() { | 170 | +const getIndexData = () => { |
172 | return api.get('', sign.apiSign({ | 171 | return api.get('', sign.apiSign({ |
173 | method: 'app.starClass.index', | 172 | method: 'app.starClass.index', |
174 | code: '8adc27fcf5676f356602889afcfd2a8e' | 173 | code: '8adc27fcf5676f356602889afcfd2a8e' |
175 | })).then((result) => { | 174 | })).then((result) => { |
176 | if (result && result.code === 200) { | 175 | if (result && result.code === 200) { |
177 | - return Star.processIndexData(result.data); | 176 | + return _processIndexData(result.data); |
178 | } else { | 177 | } else { |
179 | logger.error('星潮教室首页数据返回 code 不是 200'); | 178 | logger.error('星潮教室首页数据返回 code 不是 200'); |
180 | return {}; | 179 | return {}; |
181 | } | 180 | } |
182 | }); | 181 | }); |
183 | - } | 182 | +} |
184 | 183 | ||
185 | - /** | 184 | +/** |
186 | * 明星专题 | 185 | * 明星专题 |
187 | */ | 186 | */ |
188 | - static getDetailData(params) { | 187 | +const getDetailData = (params) => { |
189 | return api.get('', sign.apiSign({ | 188 | return api.get('', sign.apiSign({ |
190 | method: 'app.starClass.lastTagArticle', | 189 | method: 'app.starClass.lastTagArticle', |
191 | tag: params.tag, | 190 | tag: params.tag, |
@@ -196,21 +195,21 @@ class Star { | @@ -196,21 +195,21 @@ class Star { | ||
196 | if (params.page > result.data.totalPage) { | 195 | if (params.page > result.data.totalPage) { |
197 | return ''; | 196 | return ''; |
198 | } else { | 197 | } else { |
199 | - return Star.processDetailData(result.data.list); | 198 | + return _processDetailData(result.data.list); |
200 | } | 199 | } |
201 | } else { | 200 | } else { |
202 | logger.error('明星专题文章数据返回 code 不是 200'); | 201 | logger.error('明星专题文章数据返回 code 不是 200'); |
203 | return []; | 202 | return []; |
204 | } | 203 | } |
205 | }); | 204 | }); |
206 | - } | 205 | +} |
207 | 206 | ||
208 | 207 | ||
209 | - /** | 208 | +/** |
210 | * 星专题 | 209 | * 星专题 |
211 | */ | 210 | */ |
212 | - static getSpecialData() { | ||
213 | - return Star.getResources('special').then((result) => { | 211 | +const getSpecialData = () => { |
212 | + return _getResources('special').then((result) => { | ||
214 | 213 | ||
215 | // 数据结构嵌套太深 | 214 | // 数据结构嵌套太深 |
216 | _.forEach(result, (data) => { | 215 | _.forEach(result, (data) => { |
@@ -224,27 +223,27 @@ class Star { | @@ -224,27 +223,27 @@ class Star { | ||
224 | }); | 223 | }); |
225 | return result; | 224 | return result; |
226 | }); | 225 | }); |
227 | - } | 226 | +} |
228 | 227 | ||
229 | - /** | 228 | +/** |
230 | * 星搭配 | 229 | * 星搭配 |
231 | */ | 230 | */ |
232 | - static getCollocationListData(params, uid) { | 231 | +const getCollocationListData = (params, uid) => { |
233 | 232 | ||
234 | return serviceAPI.get('guang/api/v5/article/getStarClassroomArticleList', sign.apiSign(Object.assign({ | 233 | return serviceAPI.get('guang/api/v5/article/getStarClassroomArticleList', sign.apiSign(Object.assign({ |
235 | limit: '20', | 234 | limit: '20', |
236 | uid: uid | 235 | uid: uid |
237 | }, params))).then((result) => { | 236 | }, params))).then((result) => { |
238 | if (result && result.code === 200) { | 237 | if (result && result.code === 200) { |
239 | - return Star.processCollocationData(result.data.list.artList); | 238 | + return _processCollocationData(result.data.list.artList); |
240 | } else { | 239 | } else { |
241 | logger.error('获取星搭配文章列表返回 code 不是 200'); | 240 | logger.error('获取星搭配文章列表返回 code 不是 200'); |
242 | return []; | 241 | return []; |
243 | } | 242 | } |
244 | }); | 243 | }); |
245 | - } | 244 | +} |
246 | 245 | ||
247 | - static setFavorite(params, uid) { | 246 | +const setFavorite = (params, uid) => { |
248 | if (!uid) { | 247 | if (!uid) { |
249 | return Promise.resolve({ | 248 | return Promise.resolve({ |
250 | code: 401, | 249 | code: 401, |
@@ -258,7 +257,12 @@ class Star { | @@ -258,7 +257,12 @@ class Star { | ||
258 | article_id: params.articleId, | 257 | article_id: params.articleId, |
259 | uid: uid | 258 | uid: uid |
260 | })); | 259 | })); |
261 | - } | ||
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,14 +69,12 @@ const contentCode = { | @@ -69,14 +69,12 @@ const contentCode = { | ||
69 | } | 69 | } |
70 | }; | 70 | }; |
71 | 71 | ||
72 | -class Sale { | ||
73 | - | ||
74 | - /** | 72 | +/** |
75 | * 折扣专场列表数据处理 | 73 | * 折扣专场列表数据处理 |
76 | * @param {[array]} list | 74 | * @param {[array]} list |
77 | * @return {[array]} | 75 | * @return {[array]} |
78 | */ | 76 | */ |
79 | - static processDiscount(list, channel) { | 77 | +const _processDiscount = (list, channel) => { |
80 | const formatData = []; | 78 | const formatData = []; |
81 | let flag = true; | 79 | let flag = true; |
82 | 80 | ||
@@ -97,14 +95,14 @@ class Sale { | @@ -97,14 +95,14 @@ class Sale { | ||
97 | }); | 95 | }); |
98 | 96 | ||
99 | return formatData; | 97 | return formatData; |
100 | - } | 98 | +} |
101 | 99 | ||
102 | - /** | 100 | +/** |
103 | * 折扣专场接口调用 | 101 | * 折扣专场接口调用 |
104 | * @param {[object]} params | 102 | * @param {[object]} params |
105 | * @return {[array]} | 103 | * @return {[array]} |
106 | */ | 104 | */ |
107 | - static discount(params) { | 105 | +const _discount = (params) => { |
108 | params = params || {}; | 106 | params = params || {}; |
109 | 107 | ||
110 | return api.get('', sign.apiSign(Object.assign({ | 108 | return api.get('', sign.apiSign(Object.assign({ |
@@ -112,14 +110,14 @@ class Sale { | @@ -112,14 +110,14 @@ class Sale { | ||
112 | sort: 2, | 110 | sort: 2, |
113 | plateform: 2 | 111 | plateform: 2 |
114 | }, params))); | 112 | }, params))); |
115 | - } | 113 | +} |
116 | 114 | ||
117 | - /** | 115 | +/** |
118 | * 断码区分类数据处理 | 116 | * 断码区分类数据处理 |
119 | * @param {[array]} list | 117 | * @param {[array]} list |
120 | * @return {[array]} | 118 | * @return {[array]} |
121 | */ | 119 | */ |
122 | - static processBreakingSort(list) { | 120 | +const _processBreakingSort = (list) => { |
123 | const formatData = {}; | 121 | const formatData = {}; |
124 | const sort = []; | 122 | const sort = []; |
125 | const sub = []; | 123 | const sub = []; |
@@ -148,14 +146,14 @@ class Sale { | @@ -148,14 +146,14 @@ class Sale { | ||
148 | formatData.sub = sub; | 146 | formatData.sub = sub; |
149 | 147 | ||
150 | return formatData; | 148 | return formatData; |
151 | - } | 149 | +} |
152 | 150 | ||
153 | - /** | 151 | +/** |
154 | * 商品搜索接口请求 | 152 | * 商品搜索接口请求 |
155 | * @param {[object]} params | 153 | * @param {[object]} params |
156 | * @return {[array]} | 154 | * @return {[array]} |
157 | */ | 155 | */ |
158 | - static searchSales(params) { | 156 | +const _searchSales = (params) => { |
159 | 157 | ||
160 | let method = 'app.search.sales'; | 158 | let method = 'app.search.sales'; |
161 | 159 | ||
@@ -183,14 +181,14 @@ class Sale { | @@ -183,14 +181,14 @@ class Sale { | ||
183 | return api.get('', sign.apiSign(Object.assign({ | 181 | return api.get('', sign.apiSign(Object.assign({ |
184 | method: method | 182 | method: method |
185 | }, params)), true); | 183 | }, params)), true); |
186 | - } | 184 | +} |
187 | 185 | ||
188 | - /** | 186 | +/** |
189 | * 获取用户数据信息 | 187 | * 获取用户数据信息 |
190 | * @param {[string]} uid | 188 | * @param {[string]} uid |
191 | * @return {[array]} | 189 | * @return {[array]} |
192 | */ | 190 | */ |
193 | - static getUserProfile(uid) { | 191 | +const _getUserProfile = (uid) => { |
194 | if (!uid) { | 192 | if (!uid) { |
195 | return Promise.resolve({ | 193 | return Promise.resolve({ |
196 | code: 200, | 194 | code: 200, |
@@ -201,14 +199,14 @@ class Sale { | @@ -201,14 +199,14 @@ class Sale { | ||
201 | method: 'app.passport.profile', | 199 | method: 'app.passport.profile', |
202 | uid: uid | 200 | uid: uid |
203 | }), true); | 201 | }), true); |
204 | - } | 202 | +} |
205 | 203 | ||
206 | - /** | 204 | +/** |
207 | * 获取资源位数据 | 205 | * 获取资源位数据 |
208 | * @param {[string]} page | 206 | * @param {[string]} page |
209 | * @return {[array]} | 207 | * @return {[array]} |
210 | */ | 208 | */ |
211 | - static getResources(page, channel) { | 209 | +const _getResources = (page, channel) => { |
212 | return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({ | 210 | return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({ |
213 | content_code: contentCode[channel][page] | 211 | content_code: contentCode[channel][page] |
214 | })).then((result) => { | 212 | })).then((result) => { |
@@ -219,33 +217,33 @@ class Sale { | @@ -219,33 +217,33 @@ class Sale { | ||
219 | return []; | 217 | return []; |
220 | } | 218 | } |
221 | }); | 219 | }); |
222 | - } | 220 | +} |
223 | 221 | ||
224 | - /** | 222 | +/** |
225 | * 获取断码区分类数据 | 223 | * 获取断码区分类数据 |
226 | * @param {[string]} yhChannel | 224 | * @param {[string]} yhChannel |
227 | * @return {[object]} | 225 | * @return {[object]} |
228 | */ | 226 | */ |
229 | - static getBreakingSort(yhChannel) { | 227 | +const _getBreakingSort = (yhChannel) => { |
230 | return api.get('', sign.apiSign({ | 228 | return api.get('', sign.apiSign({ |
231 | method: 'app.sale.getBreakingSort', | 229 | method: 'app.sale.getBreakingSort', |
232 | yh_channel: channelType[yhChannel] || '1' | 230 | yh_channel: channelType[yhChannel] || '1' |
233 | })).then((result) => { | 231 | })).then((result) => { |
234 | if (result && result.code === 200) { | 232 | if (result && result.code === 200) { |
235 | - return Sale.processBreakingSort(result.data); | 233 | + return _processBreakingSort(result.data); |
236 | } else { | 234 | } else { |
237 | logger.error('断码区分类接口返回 code 不是 200'); | 235 | logger.error('断码区分类接口返回 code 不是 200'); |
238 | return {}; | 236 | return {}; |
239 | } | 237 | } |
240 | }); | 238 | }); |
241 | - } | 239 | +} |
242 | 240 | ||
243 | - /** | 241 | +/** |
244 | * 获取商品数据 | 242 | * 获取商品数据 |
245 | */ | 243 | */ |
246 | - static getSearchData(params, uid) { | 244 | +const getSearchData = (params, uid) => { |
247 | return Promise.all([ | 245 | return Promise.all([ |
248 | - Sale.searchSales(params).then((result) => { | 246 | + _searchSales(params).then((result) => { |
249 | if (result && result.code === 200) { | 247 | if (result && result.code === 200) { |
250 | return productProcess.processProductList(result.data.product_list || [], { | 248 | return productProcess.processProductList(result.data.product_list || [], { |
251 | yh_channel: params.yh_channel, | 249 | yh_channel: params.yh_channel, |
@@ -256,7 +254,7 @@ class Sale { | @@ -256,7 +254,7 @@ class Sale { | ||
256 | return []; | 254 | return []; |
257 | } | 255 | } |
258 | }), | 256 | }), |
259 | - Sale.getUserProfile(uid).then((result) => { | 257 | + _getUserProfile(uid).then((result) => { |
260 | if (result && result.code === 200) { | 258 | if (result && result.code === 200) { |
261 | return result.data.vip_info ? camelCase(result.data.vip_info) : {}; | 259 | return result.data.vip_info ? camelCase(result.data.vip_info) : {}; |
262 | } else { | 260 | } else { |
@@ -265,15 +263,15 @@ class Sale { | @@ -265,15 +263,15 @@ class Sale { | ||
265 | } | 263 | } |
266 | }) | 264 | }) |
267 | ]); | 265 | ]); |
268 | - } | 266 | +} |
269 | 267 | ||
270 | - /** | 268 | +/** |
271 | * 获取筛选数据 | 269 | * 获取筛选数据 |
272 | * @param {[object]} params | 270 | * @param {[object]} params |
273 | * @return {[array]} | 271 | * @return {[array]} |
274 | */ | 272 | */ |
275 | - static getFilterData(params) { | ||
276 | - return Sale.searchSales(params).then((result) => { | 273 | +const getFilterData = (params) => { |
274 | + return _searchSales(params).then((result) => { | ||
277 | if (result && result.code === 200) { | 275 | if (result && result.code === 200) { |
278 | return productProcess.processFilter(result.data.filter || [], { | 276 | return productProcess.processFilter(result.data.filter || [], { |
279 | hideSize: params.saleType === '1', | 277 | hideSize: params.saleType === '1', |
@@ -284,78 +282,78 @@ class Sale { | @@ -284,78 +282,78 @@ class Sale { | ||
284 | return []; | 282 | return []; |
285 | } | 283 | } |
286 | }); | 284 | }); |
287 | - } | 285 | +} |
288 | 286 | ||
289 | - /** | 287 | +/** |
290 | * 获取sale首页数据 | 288 | * 获取sale首页数据 |
291 | * @return {[array]} | 289 | * @return {[array]} |
292 | */ | 290 | */ |
293 | - static getSaleData(channel) { | ||
294 | - return Sale.getResources('sale', channel); | ||
295 | - } | 291 | +const getSaleData = (channel) => { |
292 | + return _getResources('sale', channel); | ||
293 | +} | ||
296 | 294 | ||
297 | 295 | ||
298 | - /** | 296 | +/** |
299 | * 获取会员享数据 | 297 | * 获取会员享数据 |
300 | * @return {[array]} | 298 | * @return {[array]} |
301 | */ | 299 | */ |
302 | - static getVipData(channel) { | ||
303 | - return Sale.getResources('vip', channel); | ||
304 | - } | 300 | +const getVipData = (channel) => { |
301 | + return _getResources('vip', channel); | ||
302 | +} | ||
305 | 303 | ||
306 | 304 | ||
307 | - /** | 305 | +/** |
308 | * 获取断码区数据 | 306 | * 获取断码区数据 |
309 | * @param {[object]} params | 307 | * @param {[object]} params |
310 | * @return {[object]} | 308 | * @return {[object]} |
311 | */ | 309 | */ |
312 | - static getBreakCodeData(params) { | 310 | +const getBreakCodeData = (params) => { |
313 | params = params || {}; | 311 | params = params || {}; |
314 | - return Promise.all([Sale.getResources('breakCode', params.yhChannel), Sale.getBreakingSort(params.yhChannel)]) | 312 | + return Promise.all([_getResources('breakCode', params.yhChannel), _getBreakingSort(params.yhChannel)]) |
315 | .then((result) => { | 313 | .then((result) => { |
316 | return { | 314 | return { |
317 | content: result[0], | 315 | content: result[0], |
318 | nav: result[1] | 316 | nav: result[1] |
319 | }; | 317 | }; |
320 | }); | 318 | }); |
321 | - } | 319 | +} |
322 | 320 | ||
323 | - /** | 321 | +/** |
324 | * 获取折扣专场专题列表数据 | 322 | * 获取折扣专场专题列表数据 |
325 | * @param {[object]} params | 323 | * @param {[object]} params |
326 | * @return {[object]} | 324 | * @return {[object]} |
327 | */ | 325 | */ |
328 | - static getDiscountData(yhChannel) { | 326 | +const getDiscountData = (yhChannel) => { |
329 | const discountData = {}; | 327 | const discountData = {}; |
330 | 328 | ||
331 | - return Sale.discount({ | 329 | + return _discount({ |
332 | yh_channel: channelType[yhChannel] || '1' | 330 | yh_channel: channelType[yhChannel] || '1' |
333 | }).then((result) => { | 331 | }).then((result) => { |
334 | if (result && result.code === 200) { | 332 | if (result && result.code === 200) { |
335 | - discountData.data = Sale.processDiscount(result.data, yhChannel); | 333 | + discountData.data = _processDiscount(result.data, yhChannel); |
336 | return discountData; | 334 | return discountData; |
337 | } else { | 335 | } else { |
338 | logger.error('折扣专场专题列表返回 code 不是 200'); | 336 | logger.error('折扣专场专题列表返回 code 不是 200'); |
339 | return {}; | 337 | return {}; |
340 | } | 338 | } |
341 | }); | 339 | }); |
342 | - } | 340 | +} |
343 | 341 | ||
344 | - /** | 342 | +/** |
345 | * 获取折扣专场专题详情数据 | 343 | * 获取折扣专场专题详情数据 |
346 | * @param {[string]} id | 344 | * @param {[string]} id |
347 | * @return {[object]} | 345 | * @return {[object]} |
348 | */ | 346 | */ |
349 | - static getDiscountDetailData(id, yhChannel) { | 347 | +const getDiscountDetailData = (id, yhChannel) => { |
350 | let res = {}; | 348 | let res = {}; |
351 | let param = { | 349 | let param = { |
352 | id: id, | 350 | id: id, |
353 | yh_channel: channelType[yhChannel] || '1' | 351 | yh_channel: channelType[yhChannel] || '1' |
354 | }; | 352 | }; |
355 | 353 | ||
356 | - return Sale.discount(param).then((result) => { | 354 | + return _discount(param).then((result) => { |
357 | if (result && result.code === 200) { | 355 | if (result && result.code === 200) { |
358 | - res = Sale.processDiscount(result.data); | 356 | + res = _processDiscount(result.data); |
359 | 357 | ||
360 | return { | 358 | return { |
361 | title: res[0].title, | 359 | title: res[0].title, |
@@ -370,7 +368,14 @@ class Sale { | @@ -370,7 +368,14 @@ class Sale { | ||
370 | return {}; | 368 | return {}; |
371 | } | 369 | } |
372 | }); | 370 | }); |
373 | - } | ||
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