Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
yohoblk-wap
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
陈轩
9 years ago
Commit
3b3930a40a3722340fc4515e80403376f5aeff38
1 parent
e3284cb7
fix
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
72 additions
and
16 deletions
apps/product/models/new.js
apps/product/models/search.js
dispatch.js
doraemon/middleware/channel-gender.js
utils/beautify/product.js
utils/constant.js
apps/product/models/new.js
View file @
3b3930a
...
...
@@ -14,8 +14,8 @@ exports.getNewData = (params) => {
return
api
.
get
(
''
,
params
).
then
(
result
=>
{
if
(
result
.
data
)
{
prettyFilter
(
result
.
data
.
filter
);
result
.
data
.
productList
=
processProductList
(
result
.
data
.
productList
);
result
=
camelCase
(
result
);
result
.
data
.
productList
=
processProductList
(
result
.
data
.
productList
,
{
gender
:
params
.
gender
});
}
return
result
;
...
...
apps/product/models/search.js
View file @
3b3930a
...
...
@@ -28,7 +28,7 @@ const search = {
if
(
result
.
code
===
200
)
{
prettyFilter
(
result
.
data
.
filter
);
result
=
camelCase
(
result
);
result
.
data
.
productList
=
processProductList
(
result
.
data
.
productList
);
result
.
data
.
productList
=
processProductList
(
result
.
data
.
productList
,
{
gender
:
params
.
gender
}
);
}
return
result
;
});
...
...
dispatch.js
View file @
3b3930a
...
...
@@ -4,10 +4,15 @@
* @author: Aiden Xu<aiden.xu@yoho.cn>
* @date: 2016/4/27
*/
const
channelGender
=
require
(
'./doraemon/middleware/channel-gender'
).
channelGender
;
module
.
exports
=
app
=>
{
app
.
use
(
'/'
,
require
(
'./apps/channel'
));
// 一级频道模块
app
.
use
(
'/'
,
require
(
'./apps/product'
));
// 商品模块
// 商品模块
app
.
use
(
'/'
,
channelGender
,
require
(
'./apps/product'
)
);
app
.
use
(
'/'
,
require
(
'./apps/me'
));
// 个人中心
app
.
use
(
'/api'
,
require
(
'./apps/api'
));
// 各模块公有 API
app
.
use
(
'/editorial'
,
require
(
'./apps/editorial'
));
// 资讯
...
...
doraemon/middleware/channel-gender.js
0 → 100644
View file @
3b3930a
'use strict'
;
const
path
=
require
(
'path'
);
const
utilsPath
=
path
.
join
(
global
.
utils
,
'/constant'
);
const
channelDict
=
require
(
utilsPath
).
channelDict
;
// 如果 没有 gender, 根据channel,设置gender
// Notice: 如果 没有 channel,则不设 gender
exports
.
channelGender
=
(
req
,
res
,
next
)
=>
{
if
(
!
req
.
query
.
hasOwnProperty
(
'gender'
))
{
const
channel
=
channelDict
(
req
.
cookies
.
_Channel
);
channel
&&
(
req
.
query
.
gender
=
channel
);
}
next
();
};
...
...
utils/beautify/product.js
View file @
3b3930a
'use strict'
;
const
path
=
require
(
'path'
);
const
_
=
require
(
'lodash'
);
const
camelCase
=
global
.
yoho
.
camelCase
;
const
helpers
=
global
.
yoho
.
helpers
;
const
utilsPath
=
path
.
join
(
global
.
utils
,
'/constant'
);
const
genderMap
=
require
(
utilsPath
).
genderMap
;
/**
* 根据性别来决定 默认图片获取字段 如果是 2、3
*
* 则优先从cover2 --》 cover1 -- 》 images_url
* 否则优先从cover1 --》 cover2 -- 》 images_url
*
*/
const
_procProductImg
=
(
product
,
gender
,
yhChannel
)
=>
{
if
(
gender
===
'2,3'
||
gender
===
'2'
||
gender
===
'3'
&&
yhChannel
===
'2'
)
{
return
product
.
cover2
||
product
.
imagesUrl
||
product
.
cover1
||
''
;
const
_procProductImg
=
(
product
,
genderVal
)
=>
{
let
defaultImages
;
switch
(
genderVal
)
{
case
genderMap
.
men
:
defaultImages
=
product
.
cover1
||
product
.
imagesUrl
;
break
;
case
genderMap
.
women
:
defaultImages
=
product
.
cover2
||
product
.
imagesUrl
;
break
;
default
:
defaultImages
=
product
.
imagesUrl
||
product
.
cover1
||
product
.
cover2
;
break
;
}
return
product
.
cover1
||
product
.
imagesUrl
||
product
.
cover2
||
''
;
defaultImages
||
(
defaultImages
=
''
);
return
defaultImages
;
};
/**
...
...
@@ -32,11 +43,13 @@ module.exports = (list, options) => {
height
:
388
,
isApp
:
false
,
showPoint
:
true
,
gender
:
'
2,3
'
,
gender
:
''
,
yhChannel
:
''
},
options
);
list
=
camelCase
(
list
);
let
genderVal
=
options
.
gender
.
split
(
','
)[
0
];
_
.
forEach
(
list
,
(
product
)
=>
{
// 商品信息有问题,则不显示
if
(
!
product
.
productId
||
!
product
.
goodsList
.
length
)
{
...
...
@@ -59,18 +72,17 @@ module.exports = (list, options) => {
// 如果设置了默认图片,就取默认的图片
_
.
forEach
(
product
.
goodsList
,
(
goods
)
=>
{
if
(
flag
)
{
return
;
return
false
;
}
if
(
goods
.
isDefault
===
'Y'
)
{
// product.defaultImages = procProductImg(goods);
product
.
defaultImages
=
product
.
defaultImages
;
product
.
defaultImages
=
_procProductImg
(
goods
,
genderVal
);
flag
=
true
;
}
});
// 如果还未赋值,则取第一个skc产品的默认图片
if
(
!
flag
)
{
product
.
defaultImages
=
_procProductImg
(
product
.
goodsList
[
0
],
product
.
gender
,
options
.
yhChanne
l
);
product
.
defaultImages
=
_procProductImg
(
product
.
goodsList
[
0
],
genderVa
l
);
}
product
.
isSoonSoldOut
=
product
.
isSoonSoldOut
===
'Y'
;
...
...
utils/constant.js
0 → 100644
View file @
3b3930a
'use strict'
;
/**
* 获取 频道值
*/
const
channelMap
=
{
men
:
'1,3'
,
women
:
'2,3'
,
lifestyle
:
'4'
,
};
exports
.
genderMap
=
{
men
:
'1'
,
women
:
'2'
};
exports
.
channelDict
=
(
channelName
)
=>
{
let
val
=
channelMap
[
channelName
];
return
val
?
val
:
''
;
};
...
...
Please
register
or
login
to post a comment