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
ef93a9c0333b51af11f7d9db534b3b6e5f97b23d
2 parents
3fe77a71
cb0325c2
Merge branch 'develop' of git.dev.yoho.cn:web/yohobuy into feature/web-list
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
322 additions
and
336 deletions
static/js/category/brand.js
static/sass/me/_yoho-coin-new.scss
template/www.yohobuy.com/actions/passport/back/verification.phtml
template/www.yohobuy.com/partials/product/filter-box.phtml
template/www.yohobuy.com/partials/product/sort-pager.phtml
template/www.yohobuy.com/partials/product/standard-content.phtml
web-static/js/product/filter.js
web-static/sass/product/_filter-box.scss
web-static/sass/product/_index.scss
web-static/sass/product/_list.scss
web-static/sass/product/_search.scss
web-static/sass/product/_sort-pager.scss
yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Back.php
yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Register.php
static/js/category/brand.js
View file @
ef93a9c
...
...
@@ -14,6 +14,7 @@ var swiper,
$brandList
=
$
(
'.brand-list'
),
$icon
=
$
(
'.search-icon'
),
$genderItem
=
$
(
'.genderNav li'
),
$searchAction
=
$
(
'.search-action'
),
hotBrandsSwiper
;
var
searchH
=
$
(
'.newbrand-search'
).
outerHeight
(),
...
...
@@ -156,20 +157,25 @@ if ($('.brand-search-page').length) {
if
(
$keyword
.
val
().
length
)
{
$icon
.
css
(
'color'
,
'#000'
);
$
(
this
).
closest
(
'.search-box'
).
css
(
'width'
,
'11.25rem'
);
$
(
'.search-action'
)
.
show
();
$
searchAction
.
show
();
}
else
{
$icon
.
css
(
'color'
,
'#b2b2b2'
);
$
(
this
).
closest
(
'.search-box'
).
css
(
'width'
,
'12.5rem'
);
$
(
'.search-action'
)
.
hide
();
$
searchAction
.
hide
();
}
searchResult
();
}).
focus
();
// 2016.1.13 产品(高扬)要求进入页面默认显示取消按钮
$icon
.
css
(
'color'
,
'#000'
);
$keyword
.
closest
(
'.search-box'
).
css
(
'width'
,
'11.25rem'
);
$searchAction
.
show
();
clearTextHammer
=
new
Hammer
(
$
(
'.clear-text'
)[
0
]);
clearTextHammer
.
on
(
'tap'
,
function
(
e
)
{
e
.
preventDefault
();
$
(
'.search-result'
).
html
(
''
);
$
(
'#keyword'
).
val
(
''
).
trigger
(
'input'
);
e
.
preventDefault
();
e
.
srcEvent
.
stopPropagation
();
});
...
...
static/sass/me/_yoho-coin-new.scss
View file @
ef93a9c
...
...
@@ -5,9 +5,9 @@
}
.coin-num
{
color
:
#d0021b
;
font-size
:
pxToRem
(
66
px
);
font-size
:
pxToRem
(
80
px
);
font-weight
:
bold
;
line-height
:
pxToRem
(
106
px
);
line-height
:
pxToRem
(
88
px
);
// letter-spacing: pxToRem(8px);
}
...
...
template/www.yohobuy.com/actions/passport/back/verification.phtml
View file @
ef93a9c
...
...
@@ -9,7 +9,7 @@
<li
class=
"po-re"
>
<label
class=
"pn-label"
>手机号码</label>
<span
class=
"country-code"
>+
{
{area
}
}</span>
<span
class=
"phone-num"
>
{
{
phoneNum
}
}</span>
<span
class=
"phone-num"
>
{
{
mobile
}
}</span>
</li>
<li
class=
"po-re"
>
<input
id=
"captcha"
class=
"input va captcha"
type=
"text"
name=
"captcha"
>
...
...
@@ -22,8 +22,8 @@
</li>
<li>
<input
name=
"area"
id=
"area"
type=
"hidden"
value=
"{{area}}"
>
<input
name=
"mobile"
id=
"mobile"
type=
"hidden"
value=
"{{phoneNum}}"
>
<input
name=
"captchaPic"
id=
"captchaPic"
type=
"hidden"
value=
"{{captcha}}"
>
<input
name=
"mobile"
id=
"mobile"
type=
"hidden"
value=
"{{mobile}}"
>
<input
name=
"captchaPic"
id=
"captchaPic"
type=
"hidden"
value=
"{{verifyCode}}"
>
<input
name=
"refer"
id=
"refer"
type=
"hidden"
value=
""
>
<input
id=
"next-step"
class=
"btn next-step disable"
type=
"submit"
value=
"下一步"
disabled=
""
>
</li>
...
...
template/www.yohobuy.com/partials/product/filter-box.phtml
View file @
ef93a9c
...
...
@@ -44,6 +44,7 @@
<li>
<span class="attr {{#if checked}}checked{{/if}}">
{{name}}
<div class="sort-up-icon"></div>
</span>
</li>
{{/each}}
...
...
@@ -102,16 +103,20 @@
</div>
</div>
<ul class="panel-body check-container clearfix">
{{# brandsShow}}
<li class="attr" data-index="{{index}}" data-key="{{key}}">
<a href="{{href}}">
<span class="iconfont checkbox" data-id="{{id}}"></span>
<span title="{{name}}">{{name}}</span>
</a>
</li>
{{/ brandsShow}}
</ul>
<div class="panel-body">
<div class="ul-scroll">
<ul class="check-container clearfix">
{{# brandsShow}}
<li class="attr" data-index="{{index}}" data-key="{{key}}">
<a href="{{href}}">
<span class="iconfont checkbox" data-id="{{id}}"></span>
<span title="{{name}}">{{name}}</span>
</a>
</li>
{{/ brandsShow}}
</ul>
</div>
</div>
<div class="btns">
<button id="brand-multi-ok" class="multi-select-ok dis">确定</button>
...
...
template/www.yohobuy.com/partials/product/sort-pager.phtml
deleted
100644 → 0
View file @
3fe77a7
<div class="sort-pager">
{{# sortType}}
<a class="sort-type{{#if active}} active{{/if}}" href="{{href}}">
{{name}}
{{#if hasSortOrient}}
{{#if active}}
{{#if desc}}
<span class="active-icon iconfont"></span>
{{^}}
<span class="active-icon iconfont"></span>
{{/if}}
{{^}}
<span class="iconfont"></span>
{{/if}}
{{^}}
<span class="iconfont"></span>
{{/if}}
</a>
{{/ sortType}}
{{# checks}}
<a class="checks{{#if checked}} checked{{/if}}" href="{{href}}">
{{#if checked}}
<span class="iconfont"></span>
{{^}}
<span class="iconfont"></span>
{{/if}}
{{name}}
</a>
{{/ checks}}
<div class="pager-wrap">
<div class="page-count">
<span id="count-per-page">
{{countPerPage}}
<i class="iconfont"></i>
</span>
每页
<ul>
{{# pageCounts}}
<li>
<a href="{{href}}">{{count}}</a>
</li>
{{/ pageCounts}}
</ul>
</div>
<p class="pager">
{{#if preHref}}
<a href="{{preHref}}">
<span class="iconfont"></span>
</a>
{{^}}
<span class="dis-icon iconfont"></span>
{{/if}}
<span>
<i>{{curPage}}</i>/{{pageCount}}
</span>
{{#if nextHref}}
<a href="{{nextHref}}">
<span class="iconfont"></span>
</a>
{{^}}
<span class="dis-icon iconfont"></span>
{{/if}}
</p>
</div>
</div>
\ No newline at end of file
template/www.yohobuy.com/partials/product/standard-content.phtml
View file @
ef93a9c
...
...
@@ -52,7 +52,7 @@
</ul>
</div>
<p
class=
"page
r
"
>
<p
class=
"page
-orient
"
>
{
{#if
preHref
}
}
<a
href=
"{{preHref}}"
>
<span
class=
"iconfont"
>
615
;</span>
...
...
web-static/js/product/filter.js
View file @
ef93a9c
...
...
@@ -152,7 +152,7 @@ $('#brand-search-input').keyup(function() {
if
(
val
===
''
)
{
$brandAttrs
.
removeClass
(
'hide'
);
}
else
{
$brandAttrs
.
addClass
(
'hide'
).
filter
(
'[data-key*=
'
+
val
+
'
]'
).
removeClass
(
'hide'
);
$brandAttrs
.
addClass
(
'hide'
).
filter
(
'[data-key*=
"'
+
val
+
'"
]'
).
removeClass
(
'hide'
);
}
});
...
...
web-static/sass/product/_filter-box.scss
View file @
ef93a9c
...
...
@@ -14,16 +14,12 @@
.title
{
float
:
left
;
width
:
90
px
;
width
:
75
px
;
line-height
:
30px
;
}
.attr-content
{
margin-left
:
90px
;
.default
{
padding-right
:
140px
;
}
margin-left
:
75px
;
}
.multi-select
{
...
...
@@ -89,11 +85,42 @@
border
:
1px
solid
#000
;
}
.sort-pre
{
.attr
{
position
:
relative
;
}
}
.active
{
.sort-up-icon
{
visibility
:
visible
;
}
}
.sort-up-icon
{
position
:
absolute
;
width
:
15px
;
height
:
9px
;
left
:
50%
;
margin-left
:
-7px
;
bottom
:
-17px
;
z-index
:
3
;
visibility
:
hidden
;
background
:
image-url
(
'product/senior-up.png'
)
no-repeat
;
background-position-x
:
50%
;
}
.sort-sub-wrap
{
width
:
100%
;
.sort-sub
{
padding
:
15px
0
;
border-top
:
1px
solid
#dfdfdf
;
margin-top
:
15px
;
padding
:
0
0
15px
;
.attr
{
padding-top
:
15px
;
}
}
}
...
...
@@ -120,16 +147,17 @@
}
.brand-more
{
margin-right
:
2
0px
;
margin-right
:
1
0px
;
cursor
:
pointer
;
}
.brands-index
{
float
:
left
;
line-height
:
30px
;
margin-right
:
5px
;
span
{
margin
:
0
5
px
;
margin
:
0
2
px
;
cursor
:
pointer
;
-moz-user-select
:
none
;
...
...
@@ -145,7 +173,7 @@
line-height
:
18px
;
border
:
1px
solid
#b0b0b0
;
margin-top
:
5px
;
margin-left
:
1
5
px
;
margin-left
:
1
0
px
;
input
{
float
:
left
;
...
...
@@ -159,7 +187,7 @@
display
:
inline-block
;
width
:
55px
;
height
:
18px
;
background
:
#
b0b0b0
;
background
:
#
3a3a3a
;
color
:
#fff
;
text-align
:
center
;
cursor
:
default
;
...
...
@@ -168,10 +196,15 @@
.panel-body
{
padding
:
15px
20px
;
margin-top
:
5px
;
background
:
#f4f7f6
;
min-height
:
30px
;
border
:
1px
solid
#000
;
margin-top
:
5px
;
margin-left
:
10px
;
.ul-scroll
{
overflow
:
auto
;
min-height
:
30px
;
max-height
:
150px
;
}
}
}
...
...
@@ -284,12 +317,12 @@
}
.senior-up-icon
{
position
:
relative
;
width
:
100%
;
height
:
9px
;
z-index
:
1
;
z-index
:
3
;
margin-left
:
-11px
;
visibility
:
hidden
;
background
:
image-url
(
'product/senior-up.png'
)
no-repeat
;
background-position-x
:
50%
;
}
...
...
web-static/sass/product/_index.scss
View file @
ef93a9c
@import
"search"
,
"list"
,
"new-sale"
,
"filter-box"
,
"sort-pager"
,
"good"
,
"latest-walk"
,
"left-content"
,
"no-result"
,
"hot-rank"
;
@import
"search"
,
"list"
,
"new-sale"
,
"filter-box"
,
"sort-pager"
,
"good"
,
"latest-walk"
,
"left-content"
,
"no-result"
,
"hot-rank"
,
"shop-entry"
;
.product-page
{
...
...
@@ -44,6 +44,14 @@
height
:
315px
;
}
}
.panel-body
.attr
{
width
:
25%
;
}
.filter-box
.brand
.attr-content
{
max-width
:
730px
;
}
}
/*990px*/
...
...
@@ -74,5 +82,9 @@
height
:
261px
;
}
}
.filter-box
.brand
.attr-content
{
max-width
:
570px
;
}
}
}
\ No newline at end of file
...
...
web-static/sass/product/_list.scss
View file @
ef93a9c
...
...
@@ -148,6 +148,4 @@
color
:
#f00
;
}
}
@import
"shop-entry"
;
}
...
...
web-static/sass/product/_search.scss
View file @
ef93a9c
...
...
@@ -5,7 +5,6 @@
*/
.product-search-page
{
@import
"shop-entry"
;
.goods-container
{
height
:
auto
;
padding
:
25px
0
0
0
;
...
...
@@ -22,7 +21,6 @@
/*990px*/
@media
(
max-width
:
1180px
)
{
.product-search-page
{
.goods-container
{
height
:
auto
;
padding-top
:
25px
;
...
...
@@ -42,5 +40,9 @@
height
:
255px
;
}
}
.filter-box
.brand
.attr-content
{
max-width
:
750px
;
}
}
}
...
...
web-static/sass/product/_sort-pager.scss
View file @
ef93a9c
...
...
@@ -78,7 +78,7 @@
}
}
.page
r
{
.page
-orient
{
float
:
left
;
font-size
:
14px
;
line-height
:
15px
;
...
...
yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Back.php
View file @
ef93a9c
<?php
use
Action\WebAction
;
use
LibModels\Web\Passport\RegData
;
use
Passport\PassportModel
;
use
Plugin\Helpers
;
use
LibModels\Wap\Passport\BackData
;
use
Plugin\AuthCode
;
class
BackController
extends
WebAction
{
/**
* 找回密码
*/
public
function
indexAction
()
{
$banner
=
PassportModel
::
getLeftBanner
(
PassportModel
::
BACK_LFFT_BANNER_CODE
);
$data
=
array
(
'simpleHeader'
=>
PassportModel
::
getSimpleHeader
(
false
),
'backPage'
=>
true
,
'back'
=>
array
(
'coverHref'
=>
$banner
[
'url'
],
'coverImg'
=>
$banner
[
'img'
],
'countryCode'
=>
'86'
,
'countryName'
=>
'中国'
,
'captchaUrl'
=>
'/passport/images?t=1449799445'
,
'countryList'
=>
RegData
::
getAreasData
(),
)
);
$this
->
_view
->
display
(
'index'
,
$data
);
}
public
function
authcodeAction
()
{
echo
$this
->
echoJson
(
array
(
'code'
=>
200
));
}
/**
*
*/
public
function
emailAction
()
{
$phoneNum
=
$this
->
post
(
'phoneNum'
,
''
);
$area
=
$this
->
post
(
'area'
,
'86'
);
$verifyCode
=
$this
->
post
(
'verifyCode'
,
''
);
if
(
Helpers
::
verifyEmail
(
$phoneNum
)){
//验证邮箱
$email
=
$phoneNum
;
$data
=
BackData
::
sendCodeToEmail
(
$email
);
$this
->
setSession
(
'phoneNum'
,
$phoneNum
);
if
(
$data
[
'code'
]
==
200
)
{
$this
->
redirect
(
'sendemail'
);
}
else
{
$this
->
redirect
(
'index'
);
}
}
else
if
(
Helpers
::
verifyMobile
(
$phoneNum
))
{
//验证手机号
$mobile
=
$phoneNum
;
$data
=
BackData
::
sendCodeToMobile
(
$mobile
);
$this
->
setSession
(
'phoneNum'
,
$phoneNum
);
$this
->
setSession
(
'area'
,
$area
);
$this
->
setSession
(
'verifyCode'
,
$verifyCode
);
if
(
$data
[
'code'
]
==
200
)
{
$this
->
redirect
(
'verification'
);
}
else
{
$this
->
redirect
(
'index'
);
}
}
}
/**
* 发送邮件页面
*/
public
function
sendemailAction
()
{
$phoneNum
=
$this
->
getSession
(
'phoneNum'
);
if
(
empty
(
$phoneNum
))
{
$this
->
redirect
(
'index'
);
}
$banner
=
PassportModel
::
getLeftBanner
(
PassportModel
::
BACK_LFFT_BANNER_CODE
);
$data
=
array
(
'simpleHeader'
=>
PassportModel
::
getSimpleHeader
(
false
),
'sendEmail'
=>
array
(
'coverHref'
=>
$banner
[
'url'
],
'coverImg'
=>
$banner
[
'img'
],
'countrys'
=>
array
(),
)
);
$this
->
_view
->
display
(
'send-email'
,
$data
);
}
/**
* 重置密码页面
*/
public
function
backcodeAction
()
{
$code
=
$this
->
get
(
'code'
);
$info
=
$this
->
checkCode
(
$code
);
if
(
empty
(
$info
))
{
$this
->
redirect
(
'index'
);
}
$banner
=
PassportModel
::
getLeftBanner
(
PassportModel
::
BACK_LFFT_BANNER_CODE
);
$data
=
array
(
'simpleHeader'
=>
PassportModel
::
getSimpleHeader
(
false
),
'resetPage'
=>
true
,
'resetPwd'
=>
array
(
'coverHref'
=>
$banner
[
'url'
],
'coverImg'
=>
$banner
[
'img'
],
'countrys'
=>
array
(),
'code'
=>
$code
,
)
);
$this
->
_view
->
display
(
'reset-pwd'
,
$data
);
}
/**
* 更新密码接口
*
*/
public
function
updateAction
()
{
$code
=
$this
->
post
(
'code'
);
$password
=
$this
->
post
(
'pwd'
);
$info
=
$this
->
checkCode
(
$code
);
if
(
Helpers
::
verifyPassword
(
$password
)
&&
!
empty
(
$info
))
{
//修改密码
if
(
isset
(
$info
[
'mobile'
]))
{
//手机号修改密码
$mobile
=
$info
[
'mobile'
];
$token
=
$info
[
'token'
];
$area
=
$info
[
'area'
];
$data
=
BackData
::
modifyPasswordByMobile
(
$mobile
,
$token
,
$password
,
$area
);
if
(
$data
[
'code'
])
{
$this
->
redirect
(
'resetSuccess'
);
}
}
else
if
(
isset
(
$info
[
'uid'
]))
{
//其他方式修改密码
$uid
=
$info
[
'uid'
];
$this
->
redirect
(
'resetSuccess'
);
}
}
//跳转错误页面
$this
->
redirect
(
'/error/index'
);
}
/**
* 重置密码成功
*/
public
function
resetSuccessAction
()
{
$banner
=
PassportModel
::
getLeftBanner
(
PassportModel
::
BACK_LFFT_BANNER_CODE
);
$data
=
array
(
'simpleHeader'
=>
PassportModel
::
getSimpleHeader
(
false
),
'resetSuccess'
=>
array
(
'coverHref'
=>
$banner
[
'url'
],
'coverImg'
=>
$banner
[
'img'
],
'countrys'
=>
array
()
)
);
$this
->
_view
->
display
(
'reset-success'
,
$data
);
}
/**
* 手机验证页面
*/
public
function
verificationAction
()
{
$phoneNum
=
$this
->
getSession
(
'phoneNum'
);
$area
=
$this
->
getSession
(
'area'
);
$verifyCode
=
$this
->
getSession
(
'verifyCode'
);
if
(
empty
(
$phoneNum
))
{
$this
->
redirect
(
'index'
);
}
$banner
=
PassportModel
::
getLeftBanner
(
PassportModel
::
BACK_LFFT_BANNER_CODE
);
$data
=
array
(
'simpleHeader'
=>
PassportModel
::
getSimpleHeader
(
false
),
'vertificationPage'
=>
true
,
'verification'
=>
array
(
'coverHref'
=>
$banner
[
'url'
],
'coverImg'
=>
$banner
[
'img'
],
'phoneNum'
=>
$phoneNum
,
'area'
=>
$area
,
'captcha'
=>
$captcha
,
'countrys'
=>
array
()
)
);
$this
->
_view
->
display
(
'verification'
,
$data
);
}
/**
* 手机找回密码验证
*/
public
function
backmobileAction
()
{
$mobile
=
$this
->
post
(
'mobile'
);
//phoneNum
$area
=
$this
->
post
(
'area'
);
//$captcha = $this->post('captcha');
$code
=
$this
->
post
(
'captcha'
);
//code
if
(
$this
->
getSession
(
'phoneNum'
)
==
$mobile
&&
$this
->
getSession
(
'area'
)
==
$area
)
{
$result
=
BackData
::
validateMobileCode
(
$mobile
,
$code
,
$area
);
if
(
$result
[
'code'
]
==
200
)
{
$str
=
json_encode
(
array
(
'mobile'
=>
$mobile
,
'area'
=>
$area
,
'token'
=>
$result
[
'data'
][
'token'
],
'create_time'
=>
time
()
));
$code
=
AuthCode
::
encode
(
$str
,
PassportModel
::
BACK_FIND_SECRET_KEY
);
$url
=
'/passport/back/backcode?code='
.
base64_encode
(
$code
);
$this
->
redirect
(
SITE_MAIN
.
$url
);
}
}
}
/**
* 检查code
*
* @param string $code
* @return boolean
*/
private
function
checkCode
(
$code
)
{
$code
=
base64_decode
(
$code
);
$info
=
json_decode
(
AuthCode
::
decode
(
$code
,
PassportModel
::
BACK_FIND_SECRET_KEY
),
true
);
if
(
$info
[
'create_time'
]
<
1
||
(
time
()
-
$info
[
'create_time'
])
>
86400
)
{
return
array
();
}
return
$info
;
}
<?php
use
Action\WebAction
;
use
LibModels\Web\Passport\RegData
;
use
Passport\PassportModel
;
use
Plugin\Helpers
;
use
LibModels\Wap\Passport\BackData
;
use
Plugin\AuthCode
;
class
BackController
extends
WebAction
{
/**
* 找回密码
*/
public
function
indexAction
()
{
$banner
=
PassportModel
::
getLeftBanner
(
PassportModel
::
BACK_LFFT_BANNER_CODE
);
$data
=
array
(
'simpleHeader'
=>
PassportModel
::
getSimpleHeader
(
false
),
'backPage'
=>
true
,
'back'
=>
array
(
'coverHref'
=>
$banner
[
'url'
],
'coverImg'
=>
$banner
[
'img'
],
'countryCode'
=>
'86'
,
'countryName'
=>
'中国'
,
'captchaUrl'
=>
'/passport/images?t=1449799445'
,
'countryList'
=>
RegData
::
getAreasData
(),
)
);
$this
->
_view
->
display
(
'index'
,
$data
);
}
public
function
authcodeAction
()
{
echo
$this
->
echoJson
(
array
(
'code'
=>
200
));
}
/**
*
*/
public
function
emailAction
()
{
$phoneNum
=
$this
->
post
(
'phoneNum'
,
''
);
$area
=
$this
->
post
(
'area'
,
'86'
);
$verifyCode
=
$this
->
post
(
'verifyCode'
,
''
);
if
(
Helpers
::
verifyEmail
(
$phoneNum
)){
//验证邮箱
$email
=
$phoneNum
;
$data
=
BackData
::
sendCodeToEmail
(
$email
);
if
(
$data
[
'code'
]
==
200
)
{
$this
->
setSession
(
'email'
,
$email
);
$this
->
redirect
(
'sendemail'
);
}
else
{
$this
->
redirect
(
'index'
);
}
}
else
if
(
Helpers
::
verifyMobile
(
$phoneNum
))
{
//验证手机号
$mobile
=
$phoneNum
;
$data
=
BackData
::
sendCodeToMobile
(
$mobile
);
if
(
$data
[
'code'
]
==
200
)
{
$this
->
setSession
(
'mobile'
,
$mobile
);
$this
->
setSession
(
'area'
,
$area
);
$this
->
setSession
(
'verifyCode'
,
$verifyCode
);
$this
->
redirect
(
'verification'
);
}
else
{
$this
->
redirect
(
'index'
);
}
}
}
/**
* 发送邮件页面
*/
public
function
sendemailAction
()
{
$email
=
$this
->
getSession
(
'email'
);
if
(
empty
(
$email
))
{
$this
->
redirect
(
'index'
);
}
$banner
=
PassportModel
::
getLeftBanner
(
PassportModel
::
BACK_LFFT_BANNER_CODE
);
$data
=
array
(
'simpleHeader'
=>
PassportModel
::
getSimpleHeader
(
false
),
'sendEmail'
=>
array
(
'coverHref'
=>
$banner
[
'url'
],
'coverImg'
=>
$banner
[
'img'
],
'countrys'
=>
array
(),
)
);
$this
->
_view
->
display
(
'send-email'
,
$data
);
}
/**
* 重置密码页面
*/
public
function
backcodeAction
()
{
$code
=
$this
->
get
(
'code'
);
$info
=
$this
->
checkCode
(
$code
);
if
(
empty
(
$info
))
{
$this
->
redirect
(
'index'
);
}
$banner
=
PassportModel
::
getLeftBanner
(
PassportModel
::
BACK_LFFT_BANNER_CODE
);
$data
=
array
(
'simpleHeader'
=>
PassportModel
::
getSimpleHeader
(
false
),
'resetPage'
=>
true
,
'resetPwd'
=>
array
(
'coverHref'
=>
$banner
[
'url'
],
'coverImg'
=>
$banner
[
'img'
],
'countrys'
=>
array
(),
'code'
=>
$code
,
)
);
$this
->
_view
->
display
(
'reset-pwd'
,
$data
);
}
/**
* 更新密码接口
*
*/
public
function
updateAction
()
{
$code
=
$this
->
post
(
'code'
);
$password
=
$this
->
post
(
'pwd'
);
$info
=
$this
->
checkCode
(
$code
);
if
(
Helpers
::
verifyPassword
(
$password
)
&&
!
empty
(
$info
))
{
//修改密码
if
(
isset
(
$info
[
'mobile'
]))
{
//手机号修改密码
$mobile
=
$info
[
'mobile'
];
$token
=
$info
[
'token'
];
$area
=
$info
[
'area'
];
$data
=
BackData
::
modifyPasswordByMobile
(
$mobile
,
$token
,
$password
,
$area
);
if
(
$data
[
'code'
])
{
$this
->
redirect
(
'resetSuccess'
);
}
}
else
if
(
isset
(
$info
[
'uid'
]))
{
//其他方式修改密码
$uid
=
$info
[
'uid'
];
$this
->
redirect
(
'resetSuccess'
);
}
}
//跳转错误页面
$this
->
redirect
(
'/error/index'
);
}
/**
* 重置密码成功
*/
public
function
resetSuccessAction
()
{
$banner
=
PassportModel
::
getLeftBanner
(
PassportModel
::
BACK_LFFT_BANNER_CODE
);
$data
=
array
(
'simpleHeader'
=>
PassportModel
::
getSimpleHeader
(
false
),
'resetSuccess'
=>
array
(
'coverHref'
=>
$banner
[
'url'
],
'coverImg'
=>
$banner
[
'img'
],
'countrys'
=>
array
()
)
);
$this
->
_view
->
display
(
'reset-success'
,
$data
);
}
/**
* 手机验证页面
*/
public
function
verificationAction
()
{
$mobile
=
$this
->
getSession
(
'mobile'
);
$area
=
$this
->
getSession
(
'area'
);
$verifyCode
=
$this
->
getSession
(
'verifyCode'
);
if
(
empty
(
$mobile
))
{
$this
->
redirect
(
'index'
);
}
$banner
=
PassportModel
::
getLeftBanner
(
PassportModel
::
BACK_LFFT_BANNER_CODE
);
$data
=
array
(
'simpleHeader'
=>
PassportModel
::
getSimpleHeader
(
false
),
'vertificationPage'
=>
true
,
'verification'
=>
array
(
'coverHref'
=>
$banner
[
'url'
],
'coverImg'
=>
$banner
[
'img'
],
'mobile'
=>
$mobile
,
'area'
=>
$area
,
'verifyCode'
=>
$verifyCode
,
'countrys'
=>
array
()
)
);
$this
->
_view
->
display
(
'verification'
,
$data
);
}
/**
* 手机找回密码验证
*/
public
function
backmobileAction
()
{
$mobile
=
$this
->
post
(
'mobile'
);
$area
=
$this
->
post
(
'area'
);
$verifyCode
=
$this
->
post
(
'verifyCode'
);
$code
=
$this
->
post
(
'code'
);
//code
if
(
$this
->
getSession
(
'mobile'
)
==
$mobile
&&
$this
->
getSession
(
'area'
)
==
$area
)
{
$result
=
BackData
::
validateMobileCode
(
$mobile
,
$code
,
$area
);
if
(
$result
[
'code'
]
==
200
)
{
$str
=
json_encode
(
array
(
'mobile'
=>
$mobile
,
'area'
=>
$area
,
'token'
=>
$result
[
'data'
][
'token'
],
'create_time'
=>
time
()
));
$code
=
AuthCode
::
encode
(
$str
,
PassportModel
::
BACK_FIND_SECRET_KEY
);
$url
=
'/passport/back/backcode?code='
.
base64_encode
(
$code
);
$this
->
redirect
(
SITE_MAIN
.
$url
);
}
}
}
/**
* 检查code
*
* @param string $code
* @return boolean
*/
private
function
checkCode
(
$code
)
{
$code
=
base64_decode
(
$code
);
$info
=
json_decode
(
AuthCode
::
decode
(
$code
,
PassportModel
::
BACK_FIND_SECRET_KEY
),
true
);
if
(
$info
[
'create_time'
]
<
1
||
(
time
()
-
$info
[
'create_time'
])
>
86400
)
{
return
array
();
}
return
$info
;
}
}
\ No newline at end of file
...
...
yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Register.php
View file @
ef93a9c
...
...
@@ -22,7 +22,7 @@ class RegisterController extends WebAction
'region'
=>
RegData
::
getAreasData
(),
'location'
=>
'+86'
,
'captchaUrl'
=>
'/passport/images?t=1449799445'
,
'itemUrl'
=>
'
##
'
,
'itemUrl'
=>
'
http://www.yohobuy.com/help/?category_id=9
'
,
'referUrl'
=>
$refer
,
'loginUrl'
=>
'/signin.html?refer='
.
$refer
,
'coverHref'
=>
$cover
[
'url'
],
...
...
Please
register
or
login
to post a comment