Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
YOHOBUYPC
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
2
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Plain Diff
Browse Files
Authored by
毕凯
9 years ago
Commit
64c222640511a1e798ceda7f2b3b247daa157bca
2 parents
4684a2ca
2ede231e
Merge branch 'develop' of
http://git.dev.yoho.cn/web/yohobuy
into develop
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
107 additions
and
107 deletions
library/Api/Yohobuy.php
static/js/cart/cart.js
static/js/cart/chose-panel.js
static/js/cart/good.js
static/sass/cart/_good.scss
static/sass/cart/_index.scss
template/m.yohobuy.com/partials/cart/cart-content.phtml
template/m.yohobuy.com/partials/cart/chose-panel.phtml
template/m.yohobuy.com/partials/cart/good.phtml
yohobuy/m.yohobuy.com/application/modules/Passport/controllers/Login.php
library/Api/Yohobuy.php
View file @
64c2226
...
...
@@ -23,16 +23,17 @@ class Yohobuy
// const SERVICE_URL = 'http://service.api.yohobuy.com/';
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
//
const API_URL = 'http://apih5.yoho.cn/';
//
const API_URL = 'http://apih5.yoho.cn/';
// const API_URL2 = 'http://apih5.yoho.cn/';
// const SERVICE_URL = 'http://serviceh5.yoho.cn/';
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
/* 测试环境 */
const
API_URL
=
'http://testapi.yoho.cn:28078/'
;
const
API_URL
=
'http://testapi.yoho.cn:28078/'
;
const
SERVICE_URL
=
'http://testservice.yoho.cn:28077/'
;
const
YOHOBUY_URL
=
'http://www.yohobuy.com/'
;
/**
* 私钥列表
*
...
...
static/js/cart/cart.js
View file @
64c2226
...
...
@@ -16,7 +16,7 @@ var $cartContent = $('.cart-content');
var
navHammer
,
cartType
=
$
(
'#cartType'
).
val
();
var
hasChecked
=
$
(
'.cart-
goods
.icon-cb-checked'
).
length
>
0
?
true
:
false
;
//是否有选中商品
var
hasChecked
=
$
(
'.cart-
content:not(.hide)
.icon-cb-checked'
).
length
>
0
?
true
:
false
;
//是否有选中商品
require
(
'./good'
);
...
...
static/js/cart/chose-panel.js
View file @
64c2226
...
...
@@ -206,6 +206,7 @@ $yohoPage.on('touchstart', '.color-list .block', function() {
// 当前颜色块 切换勾选样式
$this
.
toggleClass
(
'chosed'
);
curColorIndex
=
index
;
$
(
'#good-num'
).
val
(
1
);
// 设置按钮的样式和文字
updateConformButtonClassAndText
();
...
...
@@ -257,6 +258,7 @@ $yohoPage.on('touchstart', '.color-list .block', function() {
$this
.
toggleClass
(
'chosed'
);
curSizeIndex
=
index
;
$curSizeBlock
=
$this
;
$
(
'#good-num'
).
val
(
1
);
// 设置按钮的样式和文字
updateConformButtonClassAndText
();
...
...
@@ -275,10 +277,11 @@ $yohoPage.on('touchstart', '.btn-minus', function() {
}
if
(
num
===
1
||
0
===
leftNum
-
0
)
{
tip
.
show
(
'您选择的数量不能为零~'
);
return
;
}
if
(
num
<
1
)
{
$num
.
val
(
1
);
if
(
num
<
0
)
{
tip
.
show
(
'您选择的数量不能为零~'
);
return
;
}
...
...
@@ -299,7 +302,7 @@ $yohoPage.on('touchstart', '.btn-minus', function() {
//TODO:库存数验证
if
(
num
>
leftNum
-
1
)
{
$num
.
val
(
leftNum
);
tip
.
show
(
'您选择的数量超过了最大库存量~'
);
return
;
}
$num
.
val
(
num
+
1
);
...
...
@@ -316,10 +319,6 @@ $yohoPage.on('touchstart', '.btn-minus', function() {
if
(
!
checkColorSizeNum
())
{
return
;
}
if
(
isNaN
(
num
))
{
tip
.
show
(
'您选择的数量不是一个数字~'
);
return
;
}
//TODO status change
if
(
$
(
'#chose-btn-sure'
).
html
()
===
'已售罄'
)
{
...
...
static/js/cart/good.js
View file @
64c2226
...
...
@@ -41,25 +41,14 @@ $('.cart-goods').on('touchstart', '.checkbox', function() {
id
=
$good
.
data
(
'id'
);
var
goodsList
=
[],
goodInfo
=
{},
isSelected
=
true
;
if
(
$this
.
hasClass
(
'icon-cb-checked'
))
{
isSelected
=
true
;
}
else
{
isSelected
=
false
;
}
goodInfo
=
{};
goodInfo
.
goods_type
=
cartType
;
goodInfo
.
selected
=
isSelected
?
'N'
:
'Y'
;
goodInfo
.
selected
=
$this
.
hasClass
(
'icon-cb-checked'
)
?
'N'
:
'Y'
;
goodInfo
.
product_sku
=
id
;
goodInfo
.
buy_number
=
$good
.
find
(
'.count'
).
eq
(
0
).
text
().
trim
().
replace
(
'×'
,
''
);
goodsList
.
push
(
new
GoodInfo
(
goodInfo
));
$
.
ajax
({
type
:
'post'
,
url
:
'select'
,
...
...
@@ -92,8 +81,8 @@ $('.cart-goods').on('touchstart', '.checkbox', function() {
rightBtnText
:
'确定'
}
},
function
()
{
var
id
=
$this
.
closest
(
'.shopping-cart-good'
).
data
(
'id'
);
var
count
=
$this
.
data
(
'count'
);
var
id
=
$this
.
closest
(
'.shopping-cart-good'
).
data
(
'id'
),
count
=
$this
.
data
(
'count'
);
$
.
ajax
({
method
:
'post'
,
...
...
@@ -119,7 +108,6 @@ $('.cart-goods').on('touchstart', '.checkbox', function() {
tip
.
show
(
'网络异常'
);
});
});
});
function
requestUpdateAllGoodsCheckStatus
(
theGoods
,
successHandeler
)
{
...
...
@@ -140,7 +128,7 @@ function requestUpdateAllGoodsCheckStatus(theGoods, successHandeler) {
tip
.
show
(
res
.
message
);
}
},
error
:
function
(
err
)
{
error
:
function
()
{
tip
.
show
(
'网络异常'
);
},
complete
:
function
()
{
...
...
@@ -196,26 +184,9 @@ function bottomCheckBoxHandeler(isSelected, type, handlerAfterTouch) {
requestUpdateAllGoodsCheckStatus
(
goodsList
,
handlerAfterTouch
);
}
//是否要全选
function
willBeSelected
(
$this
)
{
var
isSelected
=
true
;
if
(
$this
.
hasClass
(
'icon-cb-checked'
))
{
isSelected
=
true
;
}
else
{
isSelected
=
false
;
}
return
isSelected
;
}
//全选按钮点击事件
$selectAllBtn
.
on
(
'touchend'
,
function
()
{
var
$this
=
$
(
this
);
bottomCheckBoxHandeler
(
willBeSelected
(
$this
),
cartType
,
didUpdateAllGoodsCheckStatus
);
bottomCheckBoxHandeler
(
$
(
this
).
hasClass
(
'icon-cb-checked'
),
cartType
,
didUpdateAllGoodsCheckStatus
);
});
$
(
'.down'
).
on
(
'touchend'
,
function
()
{
...
...
static/sass/cart/_good.scss
View file @
64c2226
...
...
@@ -9,11 +9,14 @@
margin-top
:
-14rem
/
$pxConvertRem
;
margin-left
:
20rem
/
$pxConvertRem
;
font-size
:
28rem
/
$pxConvertRem
;
color
:
#f0f0f0
;
&
.icon-cb-checked
{
color
:
#000
;
}
&
.disabled
{
color
:
#f0f0f0
;
}
}
.few-tag
{
...
...
@@ -54,6 +57,10 @@
padding-right
:
20rem
/
$pxConvertRem
;
}
.fixed-height
{
height
:
2
.7rem
;
}
.thumb
{
float
:
left
;
width
:
180rem
/
$pxConvertRem
;
...
...
@@ -65,54 +72,49 @@
.deps
{
position
:
relative
;
width
:
380rem
/
$pxConvertRem
;
height
:
5
.3rem
;
margin-left
:
4
.7rem
;
border-bottom
:
1px
solid
#e0e0e0
;
padding
-top
:
0
.5rem
;
padding
:
0
.5rem
0
;
}
.name
{
font-size
:
18px
;
color
:
#5a5a5a
;
width
:
80%
;
display
:
inline-block
;
width
:
80%
;
color
:
#5a5a5a
;
font-size
:
0
.6rem
;
}
.color-size-row
{
margin
:
0
.2rem
0
;
>
span
{
margin-right
:
15rem
/
$pxConvertRem
;
}
.color-size-row
>
span
{
margin-right
:
15rem
/
$pxConvertRem
;
}
.color
,
.size
{
font-size
:
16px
;
font-size
:
0
.6rem
;
color
:
#b6b6b6
;
}
.appear-date
{
float
:
left
;
color
:
$cartRed
;
display
:
block
;
margin-top
:
4rem
/
$pxConvertR
em
;
font-size
:
0
.5r
em
;
}
.price
{
font-size
:
16px
;
font-size
:
0
.6rem
;
color
:
$cartRed
;
}
.count
{
font-size
:
32rem
/
$pxConvertRem
;
color
:
#999
;
//margin-left: 22rem / $pxConvertRem;
display
:
inline-block
;
width
:
19%
;
position
:
absolute
;
text-align
:
center
;
}
.
sold-out
,
.
low-stocks
{
.low-stocks
{
display
:
inline-block
;
width
:
100rem
/
$pxConvertRem
;
height
:
30rem
/
$pxConvertRem
;
...
...
@@ -122,20 +124,31 @@
color
:
#fff
;
text-align
:
center
;
float
:
right
;
margin-top
:
20rem
/
$pxConvertRem
;
margin-right
:
16rem
/
$pxConvertRem
;
border-radius
:
20rem
/
$pxConvertRem
;
padding
:
4rem
/
$pxConvertRem
;
}
.sold-out
{
background
:
#999
;
border-radius
:
20rem
/
$pxConvertRem
;
}
.low-stocks
{
background
:
#7f7f7f
;
}
.vip
{
display
:
inline-block
;
color
:
#fff
;
background
:
#d1021c
;
border
:
1px
solid
#9d0000
;
@include
border-radius
(
0
.5rem
);
padding
:
4rem
/
$pxConvertRem
0
.5rem
;
margin-left
:
0
.2rem
;
}
.la-tag
{
margin-top
:
0
.3rem
;
min-height
:
1rem
;
}
.icon-del
,
.icon-edit
{
position
:
absolute
;
...
...
static/sass/cart/_index.scss
View file @
64c2226
...
...
@@ -7,6 +7,15 @@
.shopping-cart-page
{
padding-bottom
:
120rem
/
$pxConvertRem
;
overflow-x
:
hidden
;
background
:
#f0f0f0
;
.yoho-tip
{
z-index
:
4
;
}
.cart-content
>
*
{
background
:
#fff
;
}
.cart-nav
{
color
:
#c6c6c6
;
...
...
@@ -111,23 +120,29 @@
.cart-goods
{
border-bottom
:
1px
solid
#e0e0e0
;
margin-bottom
:
0
.75rem
;
.shopping-cart-good
:last-child
.info
{
border-bottom
:
none
;
}
}
.invalid-goods
{
border-top
:
1px
solid
#e0e0e0
;
border-bottom
:
1px
solid
#e0e0e0
;
margin
:
0
.75rem
0
;
}
.freebie-and-advance-buy
{
padding
:
20rem
/
$pxConvertRem
;
font-size
:
24rem
/
$pxConvertRem
;
//border-bottom
: 1px solid #e0e0e0;
border-top
:
1px
solid
#e0e0e0
;
>
li
{
box-sizing
:
border-box
;
height
:
90rem
/
$pxConvertRem
;
line-height
:
90rem
/
$pxConvertRem
;
margin-bottom
:
10rem
/
$pxConvertRem
;
background
:
#f8f8f8
;
padding
:
0
20rem
/
$pxConvertRem
;
&
:last-child
{
...
...
template/m.yohobuy.com/partials/cart/cart-content.phtml
View file @
64c2226
...
...
@@ -2,13 +2,16 @@
{{# goods}}
{{> cart/good}}
{{/ goods}}
{{# notValidGoods}}
{{> cart/good}}
{{/ notValidGoods}}
</div>
{{#if notValidGoods}}
<div class="invalid-goods">
{{# notValidGoods}}
{{> cart/good}}
{{/ notValidGoods}}
</div>
{{/if}}
{{#if freebieOrAdvanceBuy}}
<ul class="freebie-and-advance-buy">
{{# freebie}}
...
...
template/m.yohobuy.com/partials/cart/chose-panel.phtml
View file @
64c2226
...
...
@@ -52,7 +52,7 @@
<a
class=
"btn btn-minus"
href=
"javascript:void(0);"
>
<span
class=
"iconfont {{#if promotionId}}disabled{{/if}}"
>
625
;</span>
</a>
<input
id=
"good-num"
class=
"good-num
{{#if promotionId}}disabled{{/if}}"
type=
"text"
value=
"1"
{
{#if
promotionId
}
}disabled=
"true"
{
{/if
}
}
>
<input
id=
"good-num"
class=
"good-num
disabled"
type=
"text"
value=
"1"
disabled=
"true"
>
<a
class=
"btn btn-plus"
href=
"javascript:void(0);"
>
<span
class=
"iconfont {{#if promotionId}}disabled{{/if}}"
>
624
;</span>
</a>
...
...
template/m.yohobuy.com/partials/cart/good.phtml
View file @
64c2226
...
...
@@ -4,7 +4,7 @@
{{/if}}
{{#if showCheckbox}}
<span class="checkbox{{#if checked}} icon-cb-checked{{^}} icon-checkbox{{/if}} iconfont"></span>
<span class="checkbox{{#if checked}} icon-cb-checked{{^}} icon-checkbox
{{#if lowStocks}}disabled{{/if}}
{{/if}} iconfont"></span>
{{/if}}
<div class="info">
...
...
@@ -19,51 +19,51 @@
{{/if}}
<div class="deps show">
<a href="{{link}}" class="name row">{{name}}</a>
<span class="count">
×{{count}}
</span>
<p class="row color-size-row">
{{#if color}}
<span class="color">
颜色:{{color}}
</span>
{{/if}}
<div class="fixed-height">
<a href="{{link}}" class="name row">{{name}}</a>
<span class="count">
×{{count}}
</span>
<p class="row color-size-row">
{{#if color}}
<span class="color">
颜色:{{color}}
</span>
{{/if}}
{{#if size}}
<span class="size">
尺码:{{size}}
</span>
{{/if}}
{{#if size}}
<span class="size">
尺码:{{size}}
</span>
{{/if}}
</p>
</p>
</div>
<p class="row">
<span class="price">
¥{{price}}
</span>
{{#if soldOut}}
<span class="sold-out">
已售罄
{{#if vip}}
<span class="vip">
VIP
</span>
{{/if}}
<span class="iconfont icon-del" data-count="{{count}}"></span>
</p>
{{#if lowStocks}}
<p class="row">
<p class="la-tag row clearfix">
{{#if lowStocks}}
<span class="low-stocks">
库存不足
</span>
</p>
{{/if}}
{{#if appearDate}}
<p class="row">
{{/if}}
{{#if appearDate}}
<span class="appear-date">
上市期:{{appearDate}}
</span>
</p>
{{/if}}
{{/if}}
</p>
</div>
</div>
</div>
...
...
yohobuy/m.yohobuy.com/application/modules/Passport/controllers/Login.php
View file @
64c2226
...
...
@@ -227,8 +227,7 @@ class LoginController extends AbstractAction
}
//判定是否需要绑定手机号
$isBind
=
$result
[
'data'
][
'is_bind'
];
if
(
$isBind
==
'N'
)
{
if
(
isset
(
$result
[
'data'
][
'is_bind'
])
&&
$result
[
'data'
][
'is_bind'
]
==
'N'
)
{
$this
->
go
(
Helpers
::
url
(
'/passport/bind/index'
,
array
(
'openId'
=>
$access
[
'openid'
],
'sourceType'
=>
'qq'
,
'nickname'
=>
$partnerInfo
[
'nickname'
])));
}
...
...
@@ -264,8 +263,7 @@ class LoginController extends AbstractAction
$result
=
LoginData
::
signinByOpenID
(
$partnerInfo
[
'screen_name'
],
$access
[
'uid'
],
'sina'
);
}
//判定是否需要绑定手机号
$isBind
=
$result
[
'data'
][
'is_bind'
];
if
(
$isBind
==
'N'
)
{
if
(
isset
(
$result
[
'data'
][
'is_bind'
])
&&
$result
[
'data'
][
'is_bind'
]
==
'N'
)
{
$this
->
go
(
Helpers
::
url
(
'/passport/bind/index'
,
array
(
'openId'
=>
$access
[
'uid'
],
'sourceType'
=>
'sina'
,
'nickname'
=>
$partnerInfo
[
'screen_name'
])));
}
...
...
Please
register
or
login
to post a comment