Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
YOHOBUYWAP
·
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
Plain Diff
Browse Files
Authored by
梁志锋
2016-03-11 17:23:01 +0800
Commit
f0f59b668f85086b0c60979459da388b4ff721e1
2 parents
144d6760
4111e547
Merge branch 'develop/wap' of
http://git.dev.yoho.cn/web/yohobuy
into develop/wap
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
326 additions
and
69 deletions
static/js/product/detail/like.js
static/sass-new/product/_detail.css
static/sass-new/product/_limit.css
static/sass-new/product/_limit.scss
static/sass/product/_detail.scss
static/sass/product/_limit.scss
template/m.yohobuy.com/actions/index/help/limitcode-help-part.phtml
template/m.yohobuy.com/actions/index/help/limitcode-intro.phtml
template/m.yohobuy.com/actions/product/detail/index.phtml
yohobuy/m.yohobuy.com/application/models/Index/Side.php
yohobuy/m.yohobuy.com/application/models/Product/Detail.php
static/js/product/detail/like.js
View file @
f0f59b6
...
...
@@ -11,7 +11,7 @@ var $ = require('jquery'),
var
productId
=
$
(
'#productId'
).
val
();
var
skn
=
$
(
'#pr
eferenceUrl'
).
val
().
split
(
'?'
)[
1
].
split
(
'&'
)[
0
].
split
(
'='
)[
1
]
,
var
skn
=
$
(
'#pr
oductSkn'
).
val
()
,
productCode
=
$
(
'#limitProductCode'
).
val
();
$
(
'#likeBtn'
).
on
(
'touchstart'
,
function
()
{
...
...
static/sass-new/product/_detail.css
View file @
f0f59b6
...
...
@@ -256,9 +256,11 @@ $basicBtnC:#eb0313;
}
.limit-sale
{
height
:
48px
;
position
:
absolute
;
right
:
84px
;
top
:
24px
;
top
:
50%
;
margin-top
:
-24px
;
color
:
#d0021b
;
border
:
2
PX
solid
#d0021b
;
background-color
:
#fff
;
...
...
static/sass-new/product/_limit.css
View file @
f0f59b6
...
...
@@ -3,12 +3,12 @@
color
:
#444
;
.top
{
font-size
:
0.6rem
;
height
:
2rem
;
line-height
:
2.2rem
;
margin-bottom
:
0.1rem
;
font-size
:
24px
;
height
:
80px
;
line-height
:
88px
;
margin-bottom
:
4px
;
background-color
:
#fff
;
padding
:
0.2rem
0
0.2rem
0.5rem
;
padding
:
8px
0
8px
20px
;
div
{
...
...
@@ -16,9 +16,9 @@
display
:
inline-block
;
float
:
left
;
img
{
width
:
1.5rem
;
width
:
60px
;
position
:
relative
;
top
:
0.25rem
;
top
:
10px
;
}
}
...
...
@@ -31,60 +31,62 @@
.detail
{
background-color
:
#fff
;
padding
:
0.6rem
0.8rem
;
border-bottom
:
1px
solid
#e6e6e6
;
padding
:
24px
32px
;
border-bottom
:
1
PX
solid
#e6e6e6
;
margin-bottom
:
1rem
;
.name
{
font-size
:
0.9rem
;
margin-bottom
:
0.5rem
;
font-size
:
36px
;
margin-bottom
:
20px
;
}
.sale-info
{
height
:
1rem
;
line-height
:
1rem
;
height
:
40px
;
line-height
:
40px
;
}
.price
{
font-size
:
0.8rem
;
font-size
:
32px
;
color
:
#d0021b
;
float
:
left
;
}
.date
{
font-size
:
0.6rem
;
font-size
:
24px
;
float
:
right
;
.text
{
position
:
relative
;
top
:
0.08rem
;
top
:
3.2px
;
}
}
}
.goodDesc
{
margin-top
:
1rem
;
padding
:
0.5rem
;
border-top
:
1px
solid
#e6e6e6
;
padding
:
20px
;
border-top
:
1
PX
solid
#e6e6e6
;
background-color
:
#fff
;
p
{
font-size
:
0.6rem
;
line-height
:
1rem
;
font-size
:
24px
;
line-height
:
40px
;
text-indent
:
2em
;
}
img
{
margin
:
0.3rem
0
;
margin
:
12px
0
;
max-width
:
100%
;
}
}
.bottom
{
background-color
:
#fff
;
padding
:
0.5rem
2rem
2rem
2rem
;
height
:
3rem
;
width
:
12rem
;
padding
:
20px
80px
80px
80px
;
height
:
120px
;
width
:
480px
;
margin
:
0
auto
;
.logo
{
width
:
100
;
height
:
2.5rem
;
height
:
100px
;
background-image
:
resolve
(
'logo-bottom.png'
);
background-size
:
100%
;
...
...
@@ -93,11 +95,11 @@
}
.btn
{
font-size
:
0.8rem
;
font-size
:
32px
;
background-color
:
#fff
;
border
:
1px
solid
#444
;
border-radius
:
0.2rem
;
padding
:
0.3rem
0.6rem
;
border
:
1
PX
solid
#444
;
border-radius
:
8px
;
padding
:
12px
24px
;
}
.btn
:active
{
...
...
@@ -115,7 +117,7 @@
.right
{
width
:
60%
;
font-size
:
0.65rem
;
font-size
:
26px
;
span
{
display
:
block
;
...
...
static/sass-new/product/_limit.scss
View file @
f0f59b6
...
...
@@ -35,6 +35,7 @@
background-color
:
#fff
;
padding
:
0
.6rem
0
.8rem
;
border-bottom
:
1px
solid
#e6e6e6
;
margin-bottom
:
1rem
;
.name
{
font-size
:
0
.9rem
;
...
...
@@ -62,15 +63,19 @@
}
.goodDesc
{
margin-top
:
1rem
;
padding
:
0
.5rem
;
border-top
:
1px
solid
#e6e6e6
;
background-color
:
#fff
;
p
{
font-size
:
0
.6rem
;
line-height
:
1rem
;
text-indent
:
2em
;
}
img
{
margin
:
0
.3rem
0
;
max-width
:
100%
;
}
}
...
...
static/sass/product/_detail.scss
View file @
f0f59b6
...
...
@@ -287,9 +287,11 @@ $basicBtnC:#eb0313;
}
.limit-sale
{
height
:
pxToRem
(
48px
);
position
:
absolute
;
right
:
pxToRem
(
84px
);
top
:
pxToRem
(
24px
);
top
:
50%
;
margin-top
:
pxToRem
(
-24px
);
color
:
#d0021b
;
border
:
2px
solid
#d0021b
;
background-color
:
#fff
;
...
...
static/sass/product/_limit.scss
View file @
f0f59b6
...
...
@@ -35,6 +35,7 @@
background-color
:
#fff
;
padding
:
0
.6rem
0
.8rem
;
border-bottom
:
1px
solid
#e6e6e6
;
margin-bottom
:
1rem
;
.name
{
font-size
:
0
.9rem
;
...
...
@@ -62,7 +63,6 @@
}
.goodDesc
{
margin-top
:
1rem
;
padding
:
0
.5rem
;
border-top
:
1px
solid
#e6e6e6
;
background-color
:
#fff
;
...
...
@@ -70,10 +70,12 @@
p
{
font-size
:
0
.6rem
;
line-height
:
1rem
;
text-indent
:
2em
;
}
img
{
margin
:
0
.3rem
0
;
max-width
:
100%
;
}
}
...
...
template/m.yohobuy.com/actions/index/help/limitcode-help-part.phtml
0 → 100644
View file @
f0f59b6
{{!-- APP 如何获得限购码 --}}
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<title>
如何获得限购码
</title>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
>
<meta
http-equiv=
"cleartype"
content=
"on"
>
<meta
content=
"telephone=no"
name=
"format-detection"
/>
<script
type=
"text/javascript"
>
(
function
(
doc
,
win
)
{
var
docEl
=
doc
.
documentElement
;
(
function
()
{
var
clientWidth
=
docEl
.
clientWidth
;
if
(
!
clientWidth
)
{
return
;
}
docEl
.
style
.
fontSize
=
20
*
(
clientWidth
/
320
)
+
'px'
;
}());
})(
document
,
window
);
</script>
<style>
html
,
body
,
div
,
span
,
applet
,
object
,
iframe
,
h1
,
h2
,
h3
,
h4
,
h5
,
h6
,
p
,
blockquote
,
pre
,
a
,
abbr
,
acronym
,
address
,
big
,
cite
,
code
,
del
,
dfn
,
em
,
img
,
ins
,
kbd
,
q
,
s
,
samp
,
small
,
strike
,
strong
,
sub
,
sup
,
tt
,
var
,
b
,
u
,
i
,
center
,
dl
,
dt
,
dd
,
ol
,
ul
,
li
,
fieldset
,
form
,
label
,
legend
,
table
,
caption
,
tbody
,
tfoot
,
thead
,
tr
,
th
,
td
,
article
,
aside
,
canvas
,
details
,
embed
,
figure
,
figcaption
,
footer
,
header
,
hgroup
,
menu
,
nav
,
output
,
ruby
,
section
,
summary
,
time
,
mark
,
audio
,
video
,
.yoho-header
.nav-back
,
.yoho-header
.nav-home
,
.yoho-header
.nav-btn
{
margin
:
0
;
padding
:
0
;
border
:
0
;
font
:
inherit
;
font-size
:
100%
;
vertical-align
:
baseline
;
}
html
{
line-height
:
1
;
}
ol
,
ul
{
list-style
:
none
;
}
table
{
border-collapse
:
collapse
;
border-spacing
:
0
;
}
caption
,
th
,
td
{
text-align
:
left
;
font-weight
:
normal
;
vertical-align
:
middle
;
}
q
,
blockquote
{
quotes
:
none
;
}
q
:before
,
q
:after
,
blockquote
:before
,
blockquote
:after
{
content
:
""
;
content
:
none
;
}
a
img
{
border
:
none
;
}
article
,
aside
,
details
,
figcaption
,
figure
,
footer
,
header
,
hgroup
,
main
,
menu
,
nav
,
section
,
summary
,
.yoho-header
.nav-back
,
.yoho-header
.nav-home
,
.yoho-header
.nav-btn
{
display
:
block
;
}
/*Reset End*/
.clearfix
:after
{
content
:
''
;
display
:
table
;
clear
:
both
;
}
*
{
-webkit-tap-highlight-color
:
rgba
(
0
,
0
,
0
,
0
);
-moz-tap-highlight-color
:
rgba
(
0
,
0
,
0
,
0
);
tap-highlight-color
:
rgba
(
0
,
0
,
0
,
0
);
}
html
,
body
{
font-family
:
helvetica
,
Arial
,
"黑体"
;
width
:
100%
;
font-size
:
12
PX
;
line-height
:
1.4
;
}
button
,
input
,
select
,
textarea
{
font-size
:
100%
;
margin
:
0
;
}
img
{
max-width
:
100%
;
display
:
block
;
border
:
0
;
margin
:
0
auto
;
}
a
{
text-decoration
:
none
;
outline
:
none
;
color
:
#000
}
a
:link
,
a
:visited
,
a
:hover
,
a
:actived
{
color
:
#000
;
}
*
:focus
{
outline
:
none
;
}
.hide
{
display
:
none
;
}
.overflow-hidden
{
overflow
:
hidden
;
}
@font-face
{
font-family
:
"iconfont"
;
src
:
url('../font/iconfont.eot')
;
/* IE9*/
src
:
url('../font/iconfont.eot?#iefix')
format
(
'embedded-opentype'
),
url('../font/iconfont.woff')
format
(
'woff'
),
url('../font/iconfont.ttf')
format
(
'truetype'
),
url('../font/iconfont.svg#iconfont')
format
(
'svg'
);
/* iOS 4.1- */
}
.iconfont
{
font-family
:
"iconfont"
!important
;
font-size
:
16
PX
;
font-style
:
normal
;
text-decoration
:
none
;
-webkit-font-smoothing
:
antialiased
;
-webkit-text-stroke-width
:
0.2
PX
;
-moz-osx-font-smoothing
:
grayscale
;
}
.limit-help-page
{
padding
:
0.7rem
;
color
:
#444
;
}
.limit-help-page
h2
{
font-size
:
0.75rem
;
font-weight
:
bold
;
}
.limit-help-page
.method
{
display
:
block
;
width
:
2.3rem
;
height
:
0.875rem
;
line-height
:
0.9rem
;
background-color
:
#444
;
color
:
#fff
;
border-radius
:
0.5rem
;
text-align
:
center
;
margin
:
0.5rem
0
;
}
.limit-help-page
li
{
font-size
:
0.6rem
;
}
.limit-help-page
.intro-img
{
width
:
100%
;
height
:
5.5rem
;
background-size
:
100%
;
background-repeat
:
no-repeat
;
margin
:
0.5rem
0
;
}
.limit-help-page
.method-1
li
:nth-child
(
1
)
.intro-img
{
background-image
:
url('../assets/img/product/help/1.png')
;
}
.limit-help-page
.method-1
li
:nth-child
(
2
)
.intro-img
{
background-image
:
url('../assets/img/product/help/2.png')
;
}
.limit-help-page
.method-1
li
:nth-child
(
3
)
.intro-img
{
background-image
:
url('../assets/img/product/help/3.png')
;
}
.limit-help-page
.method-2
li
:nth-child
(
1
)
.intro-img
{
background-image
:
url('../assets/img/product/help/4.png')
;
}
.limit-help-page
.method-2
li
:nth-child
(
2
)
.intro-img
{
background-image
:
url('../assets/img/product/help/5.png')
;
}
.limit-help-page
.method-2
li
:nth-child
(
3
)
.intro-img
{
background-image
:
url('../assets/img/product/help/6.png')
;
}
.limit-help-page
.method-2
li
:nth-child
(
4
)
.intro-img
{
background-image
:
url('../assets/img/product/help/7.png')
;
}
.limit-help-page
.how
li
:nth-child
(
1
)
.intro-img
{
background-image
:
url('../assets/img/product/help/8.png')
;
}
.limit-help-page
.how
li
:nth-child
(
2
)
.intro-img
{
background-image
:
url('../assets/img/product/help/9.png')
;
margin-bottom
:
0
;
}
</style>
</head>
<body>
<div
class=
"limit-help-page yoho-page"
>
<ul
class=
"method-2"
>
<li>
1.在限定发售详情页点击参加排队赢取限购码图标。
<div
class=
"intro-img"
></div>
</li>
<li>
2.进入限定发售排队页面,点击参加排队。
<div
class=
"intro-img"
></div>
</li>
<li>
3.排队成功后凭排队序列号作为抽奖凭证,等待开奖时间。
<div
class=
"intro-img"
></div>
</li>
<li>
4.开奖后,排队页面会公布中奖名单,限购码会直接发送至账户。
<div
class=
"intro-img"
></div>
</li>
</ul>
<h2>
查看和使用限购码
</h2>
<ul
class=
"how"
>
<li>
1.从个人中心进入我的限购码页面,可查看所获取的限购码。
<div
class=
"intro-img"
></div>
</li>
<li>
2.商品开售后,可凭此限购码购买对应商品。
<div
class=
"intro-img"
></div>
</li>
</ul>
</div>
</body>
</html>
...
...
template/m.yohobuy.com/actions/index/help/limitcode-intro.phtml
View file @
f0f59b6
...
...
@@ -24,8 +24,19 @@
padding
:
0
;
font-family
:
helvetica
,
Arial
,
"黑体"
;
}
div
{
padding
:
0.7rem
body
{
background-color
:
#ccc
;
}
.container
{
padding
:
0.7rem
;
background-color
:
#fff
;
}
.row
{
border-bottom
:
1px
solid
#b4b4b4
;
padding-bottom
:
0.2rem
;
}
.block
{
margin-bottom
:
0.5rem
}
p
{
font-size
:
0.7rem
;
...
...
@@ -33,32 +44,32 @@
margin
:
0.3rem
0
;
line-height
:
1rem
;
}
span
{
font-weight
:
bold
;
}
</style>
</head>
<body>
<div>
<p>
<span>
介绍:
</span>
限购码是指用于删除商品的一种权利,达到一定条件即可获得。
</p>
<p>
<span>
优势:
</span>
限定商品购买权
</p>
<p>
<span>
用户:
</span>
Yoho!Buy有货忠实用户
</p>
<p>
<span>
如何使用:
</span>
相关商品开放购买的时候,页面会出现使用限购码的按钮,点击购买即可。
<br>
限购码对应的商品是唯一的,一个码只可买一个商品。
</p>
<div
class=
"container"
>
<p>
1.当稀缺商品上架,同一用户账号在一定时间段内,仅支持购买1件该商品。
</p>
<p>
2.可通过分享或其他活动获得该商品的限购码,每个商品仅可获得1次限购码。
</p>
<p>
3.若下单未付款导致交易取消,不会扣限购额度。已付款状态下,无论是否退款则扣除限购额度。
</p>
<br>
<div
class=
"block"
>
<p
class=
"row"
>
Q:限购码可以送给我的朋友吗?
</p>
<p>
A:限购码不可赠送,只能自己账号使用。可以把活动告诉朋友,参与即可获得限购码。
</p>
</div>
<div>
<p
class=
"row"
>
Q:下单发现买错码数了,取消订单后我还能再买吗?
</p>
<p>
A:尚未付款的订单取消后,可以再次购买。
</p>
</div>
</div>
</body>
</html>
...
...
template/m.yohobuy.com/actions/product/detail/index.phtml
View file @
f0f59b6
...
...
@@ -177,6 +177,8 @@
<input
id=
"preferenceUrl"
type=
"hidden"
value=
"{{preferenceUrl}}"
>
{
{/if
}
}
<input
id=
"productSkn"
type=
"hidden"
value=
"{{productSkn}}"
>
{
{#loginUrl
}
}
<input
type=
"hidden"
name=
"loginUrl"
id=
"loginUrl"
value=
"{{.}}"
>
{
{/loginUrl
}
}
...
...
yohobuy/m.yohobuy.com/application/models/Index/Side.php
View file @
f0f59b6
...
...
@@ -59,6 +59,8 @@ class SideModel
// 如果存在子菜单,就输出子菜单
if
(
isset
(
$value
[
'sub'
])
&&
!
empty
(
$value
[
'sub'
]))
{
unset
(
$group
[
$groupKey
][
'url'
]);
$subs
=
array
(
array
(
'textCn'
=>
$group
[
$groupKey
][
'textCn'
],
...
...
yohobuy/m.yohobuy.com/application/models/Product/Detail.php
View file @
f0f59b6
...
...
@@ -169,6 +169,8 @@ class DetailModel
$result
[
'preferenceUrl'
]
=
Helpers
::
url
(
'/product/detail/preference'
,
array
(
'productSkn'
=>
$baseInfo
[
'erpProductId'
],
'brandId'
=>
$baseInfo
[
'brand'
][
'id'
]),
''
);
}
$result
[
'productSkn'
]
=
$baseInfo
[
'erpProductId'
];
// 商品信息
if
(
!
empty
(
$baseInfo
[
'goodsList'
]))
{
$colorGroup
=
array
();
...
...
@@ -214,10 +216,10 @@ class DetailModel
'sizeNum'
=>
$size
[
'goodsSizeStorageNum'
],
);
$sizeName
=
$size
[
'sizeName'
];
// 所有尺码列表,赋值用于前端展示默认尺码的时候 判断出没有库存则显示灰色
$allSizeList
[
$sizeName
]
=
empty
(
$allSizeList
[
$sizeName
][
'storage'
])
?
array
(
'storage'
=>
$size
[
'goodsSizeStorageNum'
],
'id'
=>
$size
[
'id'
])
$allSizeList
[
$sizeName
]
=
empty
(
$allSizeList
[
$sizeName
][
'storage'
])
?
array
(
'storage'
=>
$size
[
'goodsSizeStorageNum'
],
'id'
=>
$size
[
'id'
])
:
$allSizeList
[
$sizeName
];
$colorStorageNum
+=
intval
(
$size
[
'goodsSizeStorageNum'
]);
$colorStorageGroup
[
$value
[
'productSkc'
]
][
$sizeName
]
=
intval
(
$size
[
'goodsSizeStorageNum'
]);
...
...
@@ -239,7 +241,7 @@ class DetailModel
// 商品库存总数
$totalStorageNum
+=
$colorStorageNum
;
}
// 遍历所有尺码,构建颜色显示数据
$i
=
1
;
foreach
(
$allSizeList
as
$sizeName
=>
$value
)
{
...
...
@@ -256,7 +258,7 @@ class DetailModel
$colorGroup
[
$i
][
'color'
][]
=
$colorArr
;
}
$colorGroup
[
$i
][
'id'
]
=
$value
[
'id'
];
++
$i
;
}
// 遍历所有颜色, 构建尺码显示数据
...
...
@@ -267,7 +269,7 @@ class DetailModel
$sizeGroup
[
$i
][
'colorId'
]
=
$value
[
'skcId'
];
// 默认颜色
$colorGroup
[
0
][
'color'
][]
=
$value
;
++
$i
;
}
...
...
@@ -673,7 +675,7 @@ class DetailModel
$result
[
'data'
]
=
Helpers
::
url
(
'/signin.html'
,
array
(
'refer'
=>
Helpers
::
url
(
'/product/detail/consults'
,
array
(
'product_id'
=>
$productId
,
'total'
=>
$total
))));
break
;
}
// 处理数据
$record
=
DetailData
::
upvoteConsult
(
$uid
,
$id
);
if
(
!
empty
(
$record
[
'code'
]))
{
...
...
@@ -705,7 +707,7 @@ class DetailModel
$result
[
'data'
]
=
Helpers
::
url
(
'/signin.html'
,
array
(
'refer'
=>
Helpers
::
url
(
'/product/detail/consults'
,
array
(
'product_id'
=>
$productId
,
'total'
=>
$total
))));
break
;
}
// 处理数据
$record
=
DetailData
::
usefulConsult
(
$uid
,
$id
);
if
(
!
empty
(
$record
[
'code'
]))
{
...
...
Please
register
or
login
to post a comment