Authored by 王水玲

sale models修改

/**
* 新潮教室
* @author: wsl<shuiling.wang@yoho.cn>
* @date: 2016/05/30
*/
'use strict';
const library = '../../../library';
const utils = '../../../utils';
const resourcesProcess = require(`${utils}/resources-process`);
const ServiceAPI = require(`${library}/api`).ServiceAPI;
const API = require(`${library}/api`).API;
const sign = require(`${library}/sign`);
const logger = require(`${library}/logger`);
const camelCase = require(`${library}/camel-case`);
const helpers = require(`${library}/helpers`);
const _ = require('lodash');
const url = require('url');
const qs = require('querystring');
const serviceAPI = new ServiceAPI();
const api = new API();
const contentCode = {
special: '89cc20483ee2cbc8a716dcfe2b6c7603'
};
class Star {
/**
* 获取资源位数据
* @param {[string]} page
* @return {[array]}
*/
static getResources(page) {
return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({
content_code: contentCode[page]
})).then((result) => {
if (result && result.code === 200) {
return resourcesProcess(result.data);
} else {
logger.error('星潮教室页面资源位返回 code 不是 200');
return [];
}
});
}
/**
* 星潮教室首页数据处理
* @param {[array]} list
* @return {[array]}
*/
static processIndexData(list) {
const formatData = {
ads: [],
starAvatar: [],
articles: []
};
list = list || {};
list = camelCase(list);
// 首页资源位数据处理
if (list.ads) {
_.forEach(list.ads.data, (data) => {
formatData.ads.push({
src: data.src,
url: data.url
});
});
}
// 首页明星文章数据处理
if (list.list) {
_.forEach(list.list, (data) => {
const avatar = {
tags: []
};
if (data.ext.tags.length > 1) {
avatar.isSwiper = true;
}
_.forEach(data.ext.tags, (tags) => {
avatar.tags.push({
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
cover: tags.cover,
tagName: tags.tagName
});
});
let urlObj = url.parse(data.url);
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
formatData.articles.push(_.merge({
id: data.id,
url: data.url + appUrl,
title: data.title,
articeTxt: data.intro,
src: data.src,
publishTime: helpers.dateFormat('MM月DD日 hh:mm', data.publishTime),
viewsNum: data.viewsNum
}, avatar));
});
}
// 首页明星头像数据处理
if (list.tags) {
_.forEach(list.tags, (data) => {
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
formatData.starAvatar.push({
url: url,
cover: data.cover
});
});
}
return formatData;
}
static processShareUrl(post) {
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
}
/**
* 明星专题列表数据处理
* @param {[array]} list
* @return {[array]}
*/
static processDetailData(list) {
const formatData = [];
list = list || [];
list = camelCase(list);
_.forEach(list, (data) => {
data.publishTime = helpers.dateFormat('MM月DD日 hh:mm', data.publishTime);
if (data.share && data.share.url) {
data.share.url = Star.processShareUrl(data);
}
formatData.push(data);
});
return formatData;
}
/**
* 星搭配文章列表数据处理
*/
static processCollocationData(list) {
const formatData = [];
list = list || [];
list = camelCase(list);
_.forEach(list, (data) => {
if (data.isFavor === 'N') {
data.isCollected = false;
} else {
data.isCollected = true;
}
formatData.push(data);
});
return formatData;
}
/**
* 星潮首页
*/
static getIndexData() {
return api.get('', sign.apiSign({
method: 'app.starClass.index',
code: '8adc27fcf5676f356602889afcfd2a8e'
})).then((result) => {
if (result && result.code === 200) {
return Star.processIndexData(result.data);
} else {
logger.error('星潮教室首页数据返回 code 不是 200');
return {};
}
});
}
/**
* 明星专题
*/
static getDetailData(params) {
return api.get('', sign.apiSign({
method: 'app.starClass.lastTagArticle',
tag: params.tag,
page: params.page || 1,
size: 10
})).then((result) => {
if (result && result.code === 200) {
if (params.page > result.data.totalPage) {
return '';
} else {
return Star.processDetailData(result.data.list);
}
} else {
logger.error('明星专题文章数据返回 code 不是 200');
return [];
}
});
}
/**
* 星专题
*/
static getSpecialData() {
return Star.getResources('special').then((result) => {
// 数据结构嵌套太深
_.forEach(result, (data) => {
_.map(data.data, (item) => {
let urlObj = url.parse(item.url);
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
item.url += appUrl;
return item;
});
});
return result;
});
}
/**
* 星搭配
*/
static getCollocationListData(params, uid) {
return serviceAPI.get('guang/api/v5/article/getStarClassroomArticleList', sign.apiSign(Object.assign({
limit: '20',
uid: uid
}, params))).then((result) => {
if (result && result.code === 200) {
return Star.processCollocationData(result.data.list.artList);
} else {
logger.error('获取星搭配文章列表返回 code 不是 200');
return [];
}
});
}
static setFavorite(params, uid) {
if (!uid) {
return Promise.resolve({
code: 401,
message: '未登录'
});
}
return api.get('', sign.apiSign({
method: params.type === 'del' ? 'app.sns.cancelFavorBackCount' : 'app.sns.setFavorBackCount',
client_type: 'h5',
article_id: params.articleId,
uid: uid
}));
}
}
const a = ()
const _b = ()
module.exports = {a: a, c: c};
... ...
... ... @@ -23,242 +23,246 @@ const contentCode = {
special: '89cc20483ee2cbc8a716dcfe2b6c7603'
};
class Star {
/**
* 获取资源位数据
* @param {[string]} page
* @return {[array]}
*/
static getResources(page) {
return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({
content_code: contentCode[page]
})).then((result) => {
if (result && result.code === 200) {
return resourcesProcess(result.data);
} else {
logger.error('星潮教室页面资源位返回 code 不是 200');
return [];
}
/**
* 获取资源位数据
* @param {[string]} page
* @return {[array]}
*/
const _getResources = (page) => {
return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({
content_code: contentCode[page]
})).then((result) => {
if (result && result.code === 200) {
return resourcesProcess(result.data);
} else {
logger.error('星潮教室页面资源位返回 code 不是 200');
return [];
}
});
}
/**
* 星潮教室首页数据处理
* @param {[array]} list
* @return {[array]}
*/
const _processIndexData = (list) => {
const formatData = {
ads: [],
starAvatar: [],
articles: []
};
list = list || {};
list = camelCase(list);
// 首页资源位数据处理
if (list.ads) {
_.forEach(list.ads.data, (data) => {
formatData.ads.push({
src: data.src,
url: data.url
});
});
}
/**
* 星潮教室首页数据处理
* @param {[array]} list
* @return {[array]}
*/
static processIndexData(list) {
const formatData = {
ads: [],
starAvatar: [],
articles: []
};
list = list || {};
list = camelCase(list);
// 首页资源位数据处理
if (list.ads) {
_.forEach(list.ads.data, (data) => {
formatData.ads.push({
src: data.src,
url: data.url
// 首页明星文章数据处理
if (list.list) {
_.forEach(list.list, (data) => {
const avatar = {
tags: []
};
if (data.ext.tags.length > 1) {
avatar.isSwiper = true;
}
_.forEach(data.ext.tags, (tags) => {
avatar.tags.push({
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
cover: tags.cover,
tagName: tags.tagName
});
});
}
// 首页明星文章数据处理
if (list.list) {
_.forEach(list.list, (data) => {
const avatar = {
tags: []
};
if (data.ext.tags.length > 1) {
avatar.isSwiper = true;
}
_.forEach(data.ext.tags, (tags) => {
avatar.tags.push({
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
cover: tags.cover,
tagName: tags.tagName
});
});
let urlObj = url.parse(data.url);
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
formatData.articles.push(_.merge({
id: data.id,
url: data.url + appUrl,
title: data.title,
articeTxt: data.intro,
src: data.src,
publishTime: helpers.dateFormat('MM月DD日 hh:mm', data.publishTime),
viewsNum: data.viewsNum
}, avatar));
});
}
let urlObj = url.parse(data.url);
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
formatData.articles.push(_.merge({
id: data.id,
url: data.url + appUrl,
title: data.title,
articeTxt: data.intro,
src: data.src,
publishTime: helpers.dateFormat('MM月DD日 hh:mm', data.publishTime),
viewsNum: data.viewsNum
}, avatar));
});
}
// 首页明星头像数据处理
if (list.tags) {
_.forEach(list.tags, (data) => {
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
formatData.starAvatar.push({
url: url,
cover: data.cover
});
});
}
// 首页明星头像数据处理
if (list.tags) {
_.forEach(list.tags, (data) => {
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
return formatData;
}
formatData.starAvatar.push({
url: url,
cover: data.cover
});
});
}
const _processShareUrl = (post) => {
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
}
return formatData;
}
/**
* 明星专题列表数据处理
* @param {[array]} list
* @return {[array]}
*/
const _processDetailData = (list) => {
const formatData = [];
static processShareUrl(post) {
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
}
list = list || [];
list = camelCase(list);
/**
* 明星专题列表数据处理
* @param {[array]} list
* @return {[array]}
*/
static processDetailData(list) {
const formatData = [];
list = list || [];
list = camelCase(list);
_.forEach(list, (data) => {
data.publishTime = helpers.dateFormat('MM月DD日 hh:mm', data.publishTime);
if (data.share && data.share.url) {
data.share.url = Star.processShareUrl(data);
}
formatData.push(data);
});
_.forEach(list, (data) => {
data.publishTime = helpers.dateFormat('MM月DD日 hh:mm', data.publishTime);
if (data.share && data.share.url) {
data.share.url = _processShareUrl(data);
}
formatData.push(data);
});
return formatData;
}
return formatData;
}
/**
* 星搭配文章列表数据处理
*/
static processCollocationData(list) {
const formatData = [];
/**
* 星搭配文章列表数据处理
*/
const _processCollocationData = (list) => {
const formatData = [];
list = list || [];
list = camelCase(list);
list = list || [];
list = camelCase(list);
_.forEach(list, (data) => {
if (data.isFavor === 'N') {
data.isCollected = false;
} else {
data.isCollected = true;
}
formatData.push(data);
});
_.forEach(list, (data) => {
if (data.isFavor === 'N') {
data.isCollected = false;
} else {
data.isCollected = true;
}
formatData.push(data);
});
return formatData;
}
return formatData;
}
/**
* 星潮首页
*/
static getIndexData() {
return api.get('', sign.apiSign({
method: 'app.starClass.index',
code: '8adc27fcf5676f356602889afcfd2a8e'
})).then((result) => {
if (result && result.code === 200) {
return Star.processIndexData(result.data);
} else {
logger.error('星潮教室首页数据返回 code 不是 200');
return {};
}
});
}
/**
* 星潮首页
*/
const getIndexData = () => {
return api.get('', sign.apiSign({
method: 'app.starClass.index',
code: '8adc27fcf5676f356602889afcfd2a8e'
})).then((result) => {
if (result && result.code === 200) {
return _processIndexData(result.data);
} else {
logger.error('星潮教室首页数据返回 code 不是 200');
return {};
}
});
}
/**
* 明星专题
*/
static getDetailData(params) {
return api.get('', sign.apiSign({
method: 'app.starClass.lastTagArticle',
tag: params.tag,
page: params.page || 1,
size: 10
})).then((result) => {
if (result && result.code === 200) {
if (params.page > result.data.totalPage) {
return '';
} else {
return Star.processDetailData(result.data.list);
}
/**
* 明星专题
*/
const getDetailData = (params) => {
return api.get('', sign.apiSign({
method: 'app.starClass.lastTagArticle',
tag: params.tag,
page: params.page || 1,
size: 10
})).then((result) => {
if (result && result.code === 200) {
if (params.page > result.data.totalPage) {
return '';
} else {
logger.error('明星专题文章数据返回 code 不是 200');
return [];
return _processDetailData(result.data.list);
}
});
}
} else {
logger.error('明星专题文章数据返回 code 不是 200');
return [];
}
});
}
/**
* 星专题
*/
static getSpecialData() {
return Star.getResources('special').then((result) => {
/**
* 星专题
*/
const getSpecialData = () => {
return _getResources('special').then((result) => {
// 数据结构嵌套太深
_.forEach(result, (data) => {
_.map(data.data, (item) => {
let urlObj = url.parse(item.url);
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
// 数据结构嵌套太深
_.forEach(result, (data) => {
_.map(data.data, (item) => {
let urlObj = url.parse(item.url);
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
item.url += appUrl;
return item;
});
item.url += appUrl;
return item;
});
return result;
});
}
/**
* 星搭配
*/
static getCollocationListData(params, uid) {
return serviceAPI.get('guang/api/v5/article/getStarClassroomArticleList', sign.apiSign(Object.assign({
limit: '20',
uid: uid
}, params))).then((result) => {
if (result && result.code === 200) {
return Star.processCollocationData(result.data.list.artList);
} else {
logger.error('获取星搭配文章列表返回 code 不是 200');
return [];
}
});
}
return result;
});
}
static setFavorite(params, uid) {
if (!uid) {
return Promise.resolve({
code: 401,
message: '未登录'
});
/**
* 星搭配
*/
const getCollocationListData = (params, uid) => {
return serviceAPI.get('guang/api/v5/article/getStarClassroomArticleList', sign.apiSign(Object.assign({
limit: '20',
uid: uid
}, params))).then((result) => {
if (result && result.code === 200) {
return _processCollocationData(result.data.list.artList);
} else {
logger.error('获取星搭配文章列表返回 code 不是 200');
return [];
}
});
}
return api.get('', sign.apiSign({
method: params.type === 'del' ? 'app.sns.cancelFavorBackCount' : 'app.sns.setFavorBackCount',
client_type: 'h5',
article_id: params.articleId,
uid: uid
}));
const setFavorite = (params, uid) => {
if (!uid) {
return Promise.resolve({
code: 401,
message: '未登录'
});
}
return api.get('', sign.apiSign({
method: params.type === 'del' ? 'app.sns.cancelFavorBackCount' : 'app.sns.setFavorBackCount',
client_type: 'h5',
article_id: params.articleId,
uid: uid
}));
}
module.exports = Star;
module.exports = {
getIndexData: getIndexData,
getSpecialData: getSpecialData,
getCollocationListData: getCollocationListData,
setFavorite: setFavorite,
getDetailData: getDetailData
};
... ...
... ... @@ -69,308 +69,313 @@ const contentCode = {
}
};
class Sale {
/**
* 折扣专场列表数据处理
* @param {[array]} list
* @return {[array]}
*/
static processDiscount(list, channel) {
const formatData = [];
let flag = true;
list = list || [];
list = camelCase(list);
if (list.length === 1) {
flag = false;
}
_.forEach(list, (data) => {
if (flag === true) {
data.specialUrl = `/product/sale/discount/detail?id=${data.id}&channel=${channel}`;
_.merge(data, processTime(data.leftTime));
}
/**
* 折扣专场列表数据处理
* @param {[array]} list
* @return {[array]}
*/
const _processDiscount = (list, channel) => {
const formatData = [];
let flag = true;
formatData.push(data);
});
list = list || [];
list = camelCase(list);
return formatData;
if (list.length === 1) {
flag = false;
}
/**
* 折扣专场接口调用
* @param {[object]} params
* @return {[array]}
*/
static discount(params) {
params = params || {};
return api.get('', sign.apiSign(Object.assign({
method: 'app.activity.get',
sort: 2,
plateform: 2
}, params)));
}
_.forEach(list, (data) => {
if (flag === true) {
data.specialUrl = `/product/sale/discount/detail?id=${data.id}&channel=${channel}`;
_.merge(data, processTime(data.leftTime));
}
formatData.push(data);
});
return formatData;
}
/**
* 折扣专场接口调用
* @param {[object]} params
* @return {[array]}
*/
const _discount = (params) => {
params = params || {};
return api.get('', sign.apiSign(Object.assign({
method: 'app.activity.get',
sort: 2,
plateform: 2
}, params)));
}
/**
* 断码区分类数据处理
* @param {[array]} list
* @return {[array]}
*/
static processBreakingSort(list) {
const formatData = {};
const sort = [];
const sub = [];
/**
* 断码区分类数据处理
* @param {[array]} list
* @return {[array]}
*/
const _processBreakingSort = (list) => {
const formatData = {};
const sort = [];
const sub = [];
list = list || [];
list = camelCase(list);
list = list || [];
list = camelCase(list);
_.forEach(list, (data, index) => {
const allSub = [];
_.forEach(list, (data, index) => {
const allSub = [];
data.sub.key = index;
sub.push(data.sub);
data.sub.key = index;
sub.push(data.sub);
_.forEach(data.sub, (dataSub) => {
allSub.push(dataSub.sizeId);
});
_.forEach(data.sub, (dataSub) => {
allSub.push(dataSub.sizeId);
});
sort.push({
sortName: data.sortName,
sortId: data.sortId,
allSub: allSub
});
sort.push({
sortName: data.sortName,
sortId: data.sortId,
allSub: allSub
});
});
formatData.sortData = sort;
formatData.sub = sub;
formatData.sortData = sort;
formatData.sub = sub;
return formatData;
}
return formatData;
}
/**
* 商品搜索接口请求
* @param {[object]} params
* @return {[array]}
*/
static searchSales(params) {
/**
* 商品搜索接口请求
* @param {[object]} params
* @return {[array]}
*/
const _searchSales = (params) => {
let method = 'app.search.sales';
let method = 'app.search.sales';
// 排除基本筛选项默认值为0的对象
for (let str in params) {
if (str !== 'order' && params[str] === '0' || params[str] === null) {
delete params[str];
}
// 排除基本筛选项默认值为0的对象
for (let str in params) {
if (str !== 'order' && params[str] === '0' || params[str] === null) {
delete params[str];
}
}
params.yh_channel = channelType[params.yh_channel];
params.yh_channel = channelType[params.yh_channel];
if (params.outlets) {
method = 'app.search.category';
}
if (params.outlets) {
method = 'app.search.category';
}
params = Object.assign({
limit: '50'
}, params);
params = Object.assign({
limit: '50'
}, params);
if (typeCont[params.type]) {
params.order = typeCont[params.type][params.order];
}
if (typeCont[params.type]) {
params.order = typeCont[params.type][params.order];
}
return api.get('', sign.apiSign(Object.assign({
method: method
}, params)), true);
}
return api.get('', sign.apiSign(Object.assign({
method: method
}, params)), true);
/**
* 获取用户数据信息
* @param {[string]} uid
* @return {[array]}
*/
const _getUserProfile = (uid) => {
if (!uid) {
return Promise.resolve({
code: 200,
data: {}
});
}
return api.get('', sign.apiSign({
method: 'app.passport.profile',
uid: uid
}), true);
}
/**
* 获取用户数据信息
* @param {[string]} uid
* @return {[array]}
*/
static getUserProfile(uid) {
if (!uid) {
return Promise.resolve({
code: 200,
data: {}
});
/**
* 获取资源位数据
* @param {[string]} page
* @return {[array]}
*/
const _getResources = (page, channel) => {
return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({
content_code: contentCode[channel][page]
})).then((result) => {
if (result && result.code === 200) {
return resourcesProcess(result.data);
} else {
logger.error('SALE 页面资源位返回 code 不是 200');
return [];
}
return api.get('', sign.apiSign({
method: 'app.passport.profile',
uid: uid
}), true);
}
});
}
/**
* 获取断码区分类数据
* @param {[string]} yhChannel
* @return {[object]}
*/
const _getBreakingSort = (yhChannel) => {
return api.get('', sign.apiSign({
method: 'app.sale.getBreakingSort',
yh_channel: channelType[yhChannel] || '1'
})).then((result) => {
if (result && result.code === 200) {
return _processBreakingSort(result.data);
} else {
logger.error('断码区分类接口返回 code 不是 200');
return {};
}
});
}
/**
* 获取资源位数据
* @param {[string]} page
* @return {[array]}
*/
static getResources(page, channel) {
return serviceAPI.get('operations/api/v5/resource/get', sign.apiSign({
content_code: contentCode[channel][page]
})).then((result) => {
/**
* 获取商品数据
*/
const getSearchData = (params, uid) => {
return Promise.all([
_searchSales(params).then((result) => {
if (result && result.code === 200) {
return resourcesProcess(result.data);
return productProcess.processProductList(result.data.product_list || [], {
yh_channel: params.yh_channel,
showSale: false
});
} else {
logger.error('SALE 页面资源位返回 code 不是 200');
logger.error('SALE 商品搜索返回 code 不是 200');
return [];
}
});
}
/**
* 获取断码区分类数据
* @param {[string]} yhChannel
* @return {[object]}
*/
static getBreakingSort(yhChannel) {
return api.get('', sign.apiSign({
method: 'app.sale.getBreakingSort',
yh_channel: channelType[yhChannel] || '1'
})).then((result) => {
}),
_getUserProfile(uid).then((result) => {
if (result && result.code === 200) {
return Sale.processBreakingSort(result.data);
return result.data.vip_info ? camelCase(result.data.vip_info) : {};
} else {
logger.error('断码区分类接口返回 code 不是 200');
logger.error('获取用户信息返回 code 不是 200');
return {};
}
});
}
})
]);
}
/**
* 获取商品数据
*/
static getSearchData(params, uid) {
return Promise.all([
Sale.searchSales(params).then((result) => {
if (result && result.code === 200) {
return productProcess.processProductList(result.data.product_list || [], {
yh_channel: params.yh_channel,
showSale: false
});
} else {
logger.error('SALE 商品搜索返回 code 不是 200');
return [];
}
}),
Sale.getUserProfile(uid).then((result) => {
if (result && result.code === 200) {
return result.data.vip_info ? camelCase(result.data.vip_info) : {};
} else {
logger.error('获取用户信息返回 code 不是 200');
return {};
}
})
]);
}
/**
* 获取筛选数据
* @param {[object]} params
* @return {[array]}
*/
const getFilterData = (params) => {
return _searchSales(params).then((result) => {
if (result && result.code === 200) {
return productProcess.processFilter(result.data.filter || [], {
hideSize: params.saleType === '1',
hideSort: params.saleType === '1'
});
} else {
logger.error('SALE 商品搜索返回 code 不是 200');
return [];
}
});
}
/**
* 获取筛选数据
* @param {[object]} params
* @return {[array]}
*/
static getFilterData(params) {
return Sale.searchSales(params).then((result) => {
if (result && result.code === 200) {
return productProcess.processFilter(result.data.filter || [], {
hideSize: params.saleType === '1',
hideSort: params.saleType === '1'
});
} else {
logger.error('SALE 商品搜索返回 code 不是 200');
return [];
}
});
}
/**
* 获取sale首页数据
* @return {[array]}
*/
const getSaleData = (channel) => {
return _getResources('sale', channel);
}
/**
* 获取sale首页数据
* @return {[array]}
*/
static getSaleData(channel) {
return Sale.getResources('sale', channel);
}
/**
* 获取会员享数据
* @return {[array]}
*/
const getVipData = (channel) => {
return _getResources('vip', channel);
}
/**
* 获取会员享数据
* @return {[array]}
*/
static getVipData(channel) {
return Sale.getResources('vip', channel);
}
/**
* 获取断码区数据
* @param {[object]} params
* @return {[object]}
*/
const getBreakCodeData = (params) => {
params = params || {};
return Promise.all([_getResources('breakCode', params.yhChannel), _getBreakingSort(params.yhChannel)])
.then((result) => {
return {
content: result[0],
nav: result[1]
};
});
}
/**
* 获取断码区数据
* @param {[object]} params
* @return {[object]}
*/
static getBreakCodeData(params) {
params = params || {};
return Promise.all([Sale.getResources('breakCode', params.yhChannel), Sale.getBreakingSort(params.yhChannel)])
.then((result) => {
return {
content: result[0],
nav: result[1]
};
});
}
/**
* 获取折扣专场专题列表数据
* @param {[object]} params
* @return {[object]}
*/
const getDiscountData = (yhChannel) => {
const discountData = {};
return _discount({
yh_channel: channelType[yhChannel] || '1'
}).then((result) => {
if (result && result.code === 200) {
discountData.data = _processDiscount(result.data, yhChannel);
return discountData;
} else {
logger.error('折扣专场专题列表返回 code 不是 200');
return {};
}
});
}
/**
* 获取折扣专场专题列表数据
* @param {[object]} params
* @return {[object]}
*/
static getDiscountData(yhChannel) {
const discountData = {};
return Sale.discount({
yh_channel: channelType[yhChannel] || '1'
}).then((result) => {
if (result && result.code === 200) {
discountData.data = Sale.processDiscount(result.data, yhChannel);
return discountData;
} else {
logger.error('折扣专场专题列表返回 code 不是 200');
return {};
}
});
}
/**
* 获取折扣专场专题详情数据
* @param {[string]} id
* @return {[object]}
*/
const getDiscountDetailData = (id, yhChannel) => {
let res = {};
let param = {
id: id,
yh_channel: channelType[yhChannel] || '1'
};
/**
* 获取折扣专场专题详情数据
* @param {[string]} id
* @return {[object]}
*/
static getDiscountDetailData(id, yhChannel) {
let res = {};
let param = {
id: id,
yh_channel: channelType[yhChannel] || '1'
};
return _discount(param).then((result) => {
if (result && result.code === 200) {
res = _processDiscount(result.data);
return Sale.discount(param).then((result) => {
if (result && result.code === 200) {
res = Sale.processDiscount(result.data);
return {
title: res[0].title,
productPool: res[0].productPool,
activity: {
coverUrl: res[0].coverUrl,
leftTime: res[0].leftTime
}
};
} else {
logger.error('折扣专场专题详情返回 code 不是 200');
return {};
}
});
}
return {
title: res[0].title,
productPool: res[0].productPool,
activity: {
coverUrl: res[0].coverUrl,
leftTime: res[0].leftTime
}
};
} else {
logger.error('折扣专场专题详情返回 code 不是 200');
return {};
}
});
}
module.exports = Sale;
module.exports = {
getSaleData: getSaleData,
getBreakCodeData: getBreakCodeData,
getDiscountData: getDiscountData,
getDiscountDetailData: getDiscountDetailData,
getVipData: getVipData,
getFilterData: getFilterData,
getSearchData: getSearchData
};
... ...
... ... @@ -9,7 +9,7 @@
&:link,
&:visited,
&:hover,
&:actived {
&:active {
color: #000;
}
}
... ... @@ -259,7 +259,7 @@
position: relative;
}
li:first {
li:first-child {
margin-left: 0;
}
... ...