Authored by 王水玲

sale models修改

  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