Authored by 周少峰

Merge branch 'develop' of git.dev.yoho.cn:web/yohobuy into feature/web-list

... ... @@ -77,7 +77,7 @@ class HelperSearch
unset(self::$params['page']);
self::$filter = isset($data['product']['filter']) ? $data['product']['filter'] : array();
//产品列表
$result['goods'] = isset($data['product']['product_list']) ? self::getProductList($data['product']['product_list'], $options['imgSize']) : array();
$result['goods'] = isset($data['product']['product_list']) ? self::getProductList($data['product']['product_list'], $options) : array();
//总页数
if (isset($data['product']['page_total'])) {
$result['page_total'] = $data['product']['page_total'];
... ... @@ -152,7 +152,7 @@ class HelperSearch
* @author sefon 2015-12-21 17:24:04
* @return array
*/
public static function getProductList($product, $imgSize)
public static function getProductList($product, $options)
{
$params = self::$params;
$goods = array();
... ... @@ -172,6 +172,15 @@ class HelperSearch
//再到着
//年终大促
// 年中大促
if ($options['controller'] == 'List' && $options['action'] == 'new') {
$isNew = false;
$isSale = false;
//TODO再到着不显示
}
if ($options['controller'] == 'List' && $options['action'] == 'sale') {
$isNew = false;
$isSale = false;
}
$gender = 0;
if (isset(self::$options['gender'])) {
$genderArr = explode(',', self::$options['gender']);
... ... @@ -194,7 +203,7 @@ class HelperSearch
}
}
if (!empty($val['default_images'])) {
$val['default_images'] = Images::getImageUrl($val['default_images'],$imgSize[0],$imgSize[1]);
$val['default_images'] = Images::getImageUrl($val['default_images'],$options['imgSize'][0],$options['imgSize'][1]);
}
//搜索关键字高亮
if (isset(self::$params['query']) && !empty(self::$params['query']) && preg_match("/".self::$params['query']."/i", $val['product_name'], $match)) {
... ...
... ... @@ -304,7 +304,7 @@
</script>
<script type="text/html" id="tmpl-my-login-new">
<div class="myyoho-info-header clearfix">
<div class="myyoho-photo" ><img src="\{\{headerimg it.head_ico\}\}" alt="" data-url =""></div>
<div class="myyoho-photo" ><img src="\{\{headerimg head_ico\}\}" alt="" data-url =""></div>
<h3 class="user-email"><a href="http://www.yohobuy.com/home?t=\{\{random\}\}">\{\{profile_name\}\}</a></h3>
<h3 class="user-level">
VIP:
... ...
... ... @@ -38,7 +38,7 @@
<input id="agree-terms" class="agree-terms" type="checkbox" checked="">
<span>
我已阅读并同意遵守
<a class="link go-yoho-items" href="{{itemUrl}}">YOHO!有货服务条款</a>
<a class="link go-yoho-items" href="{{itemUrl}}" target="_blank">YOHO!有货服务条款</a>
</span>
</li>
<li class="clearfix">
... ...
... ... @@ -623,6 +623,22 @@ handlebars.registerHelper('timestamp', function() {
return new Date().getTime();
});
/**
* 头像
* @param {[type]} v1 [description]
* @param {[type]} options) { if (v1 [description]
* @return {[type]} [description]
*/
handlebars.registerHelper('headerimg', function(headerimg) {
if (headerimg === '') {
return 'http://img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif' +
'?imageView/2/w/100/h/100';
} else {
return headerimg;
}
});
/**
* 判断等级为3的helper
* @param {[type]} v1 [description]
* @param {[type]} options) { if (v1 [description]
... ... @@ -1542,7 +1558,7 @@ function actionGetBannerAndNotice() {
if (url.indexOf('kids') !== -1) {
code = bannerMap[INDEXKIDS];
}
if (url.indexOf('woman') !== -1) {
if (url.indexOf('woman') !== -1 || url.indexOf('girls') !== -1) {
code = bannerMap[INDEXWOMAN];
}
if (url.indexOf('lifestyle') !== -1) {
... ... @@ -1808,8 +1824,7 @@ function init() {
actionCover(); //初次登录弹框
actionAddKeyWords(); //增加关键字
}
init();
init();
});
define("js/simple-header", ["jquery"], function(require, exports, module){
var $ = require("jquery");
... ... @@ -2577,18 +2592,14 @@ $goodInfoMain.on('click', '.col-btn', function() {
if (res.code === 200) {
$this.toggleClass('coled');
} else if (res.code === 403) {
location.href = '/signin.html?refer=' + encodeURIComponent(location.href);
location.href = 'http://www.yohobuy.com/signin.html?refer=' + encodeURIComponent(location.href);
}
});
});
// 左侧导航
$productListNav.click(function(event) {
var $this = $(this);
if (!$this.hasClass('product-list-nav')) {
return;
}
$productListNav.find('h3').click(function(event) {
var $this = $(this).closest('.product-list-nav');
if ($this.hasClass('active')) {
... ... @@ -2746,7 +2757,7 @@ $('#brand-favor').on('click', function() {
$this.find('i').removeClass('coled');
}
} else if (res.code === 403) {
location.href = '/signin.html?refer=' + encodeURIComponent(location.href);
location.href = 'http://www.yohobuy.com/signin.html?refer=' + encodeURIComponent(location.href);
}
});
});
... ...
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
... ... @@ -150,7 +150,8 @@ $brandMulti.click(function() {
$brandMore.trigger('click');
}
$brandPanel.addClass('multi'); //显示出checkbox
brandShowMore();
$brandPanel.removeClass('hide').addClass('multi'); //显示出checkbox
$(this).addClass('hide');
});
... ... @@ -232,7 +233,8 @@ $('.multi-select-cancel').click(function() {
$brandMore.trigger('click');
}
$panel.removeClass('multi');
$panel.addClass('hide').removeClass('multi');
brandHideMore();
clearChecked($panel.find('.checkbox.checked')); //清除选中状态
});
... ...
... ... @@ -87,18 +87,14 @@ class AutosignController extends WebAction
}
//判定是否需要绑定手机号
if (isset($result['data']['mobile']) && $result['data']['mobile'] == '') {
$token = Helpers::makeToken($result['data']['uid']);
$this->setSession('_TOKEN', $token);
$this->setSession('_LOGIN_UID', $result['data']['uid']);
$this->setCookie('_TOKEN', $token);
$fillHerf = rawurlencode(Helpers::url('/passport/autouserinfo/userinfo', array('openId' => $userId, 'sourceType' => 'alipay', 'nickname' => $realName)));
$this->go(Helpers::syncUserSession($result['data']['uid'], $fillHerf));
if (isset($result['data']['is_bind']) && $result['data']['is_bind'] == 'N') {
$fillHerf = Helpers::url('/passport/thirdlogin/index', array('openId' => $userId, 'sourceType' => 'alipay', 'nickname' => $realName));
$this->go($fillHerf);
}
$refer = $this->getCookie('refer');
if (empty($refer)) {
$refer = SITE_MAIN . '/?go=1';
$refer = SITE_MAIN;
}
else {
$refer = rawurldecode($refer);
... ... @@ -174,18 +170,14 @@ class AutosignController extends WebAction
}
//判定是否需要绑定手机号
if (isset($result['data']['mobile']) && $result['data']['mobile'] == '') {
$token = Helpers::makeToken($result['data']['uid']);
$this->setSession('_TOKEN', $token);
$this->setSession('_LOGIN_UID', $result['data']['uid']);
$this->setCookie('_TOKEN', $token);
$fillHerf = rawurlencode(Helpers::url('/passport/autouserinfo/userinfo', array('openId' => $access['uid'], 'sourceType' => 'sina', 'nickname' => $partnerInfo['screen_name'])));
$this->go(Helpers::syncUserSession($result['data']['uid'], $fillHerf));
if (isset($result['data']['is_bind']) && $result['data']['is_bind'] == 'N') {
$fillHerf = Helpers::url('/passport/thirdlogin/index', array('openId' => $access['uid'], 'sourceType' => 'sina', 'nickname' => $partnerInfo['screen_name']));
$this->go($fillHerf);
}
$refer = $this->getCookie('refer');
if (empty($refer)) {
$refer = SITE_MAIN . '/?go=1';
$refer = SITE_MAIN;
}
else {
$refer = rawurldecode($refer);
... ... @@ -218,6 +210,10 @@ class AutosignController extends WebAction
}
//判定是否需要绑定手机号
if (isset($result['data']['is_bind']) && $result['data']['is_bind'] == 'N') {
$fillHerf = Helpers::url('/passport/thirdlogin/index', array('openId' => $access['uid'], 'sourceType' => 'sina', 'nickname' => $partnerInfo['screen_name']));
$this->go($fillHerf);
}
if (isset($result['data']['mobile']) && $result['data']['mobile'] == '') {
$token = Helpers::makeToken($result['data']['uid']);
$this->setSession('_TOKEN', $token);
... ... @@ -229,7 +225,7 @@ class AutosignController extends WebAction
$refer = $this->getCookie('refer');
if (empty($refer)) {
$refer = SITE_MAIN . '/?go=1';
$refer = SITE_MAIN;
}
else {
$refer = rawurldecode($refer);
... ... @@ -264,18 +260,13 @@ class AutosignController extends WebAction
}
//判定是否需要绑定手机号
if (isset($result['data']['mobile']) && $result['data']['mobile'] == '') {
$token = Helpers::makeToken($result['data']['uid']);
$this->setSession('_TOKEN', $token);
$this->setSession('_LOGIN_UID', $result['data']['uid']);
$this->setCookie('_TOKEN', $token);
$fillHerf = rawurlencode(Helpers::url('/passport/autouserinfo/userinfo', array('openId' => $access['douban_user_id'], 'sourceType' => 'douban', 'nickname' => $partnerInfo['name'])));
$this->go(Helpers::syncUserSession($result['data']['uid'], $fillHerf));
if (isset($result['data']['is_bind']) && $result['data']['is_bind'] == 'N') {
$fillHerf = Helpers::url('/passport/thirdlogin/index', array('openId' => $access['douban_user_id'], 'sourceType' => 'douban', 'nickname' => $partnerInfo['name']));
$this->go($fillHerf);
}
$refer = $this->getCookie('refer');
if (empty($refer)) {
$refer = SITE_MAIN . '/?go=1';
$refer = SITE_MAIN;
}
else {
$refer = rawurldecode($refer);
... ... @@ -311,18 +302,14 @@ class AutosignController extends WebAction
}
//判定是否需要绑定手机号
if (isset($result['data']['mobile']) && $result['data']['mobile'] == '') {
$token = Helpers::makeToken($result['data']['uid']);
$this->setSession('_TOKEN', $token);
$this->setSession('_LOGIN_UID', $result['data']['uid']);
$this->setCookie('_TOKEN', $token);
$fillHerf = rawurlencode(Helpers::url('/passport/autouserinfo/userinfo', array('openId' => $partnerInfo['openid'], 'sourceType' => 'wechat', 'nickname' => $partnerInfo['nickname'])));
$this->go(Helpers::syncUserSession($result['data']['uid'], $fillHerf));
if (isset($result['data']['is_bind']) && $result['data']['is_bind'] == 'N') {
$fillHerf = Helpers::url('/passport/thirdlogin/index', array('openId' => $partnerInfo['openid'], 'sourceType' => 'wechat', 'nickname' => $partnerInfo['nickname']));
$this->go($fillHerf);
}
$refer = $this->getCookie('refer');
if (empty($refer)) {
$refer = SITE_MAIN . '/?go=1';
$refer = SITE_MAIN;
}
else {
$refer = rawurldecode($refer);
... ...
... ... @@ -3,6 +3,8 @@
use Action\WebAction;
use LibModels\Web\Passport\RegData;
use LibModels\Wap\Passport\BindData;
use LibModels\Web\Home\UserData;
use WebPlugin\Images;
use Passport\PassportModel as PassportModel;
use WebPlugin\Helpers;
... ... @@ -10,7 +12,7 @@ class AutouserinfoController extends WebAction
{
/**
* 第三方登录完善个人信息
* 第三方登录完善个人信息(旧)
* 绑定手机号
*/
public function indexAction()
... ... @@ -29,16 +31,6 @@ class AutouserinfoController extends WebAction
$refer = rawurldecode($refer);
}
//获取用户
$uid = $this->getUid(true);
if (!$uid) {
$isLogin = false;
$username = '';
}
else {
$isLogin = true;
$username = $this->_uname;
}
$simpleHeader = PassportModel::getSimpleHeader();
$cover = PassportModel::getLeftBanner(PassportModel::AUTOUSERINFO_LEFT_BANNER_CODE);
... ... @@ -66,12 +58,10 @@ class AutouserinfoController extends WebAction
}
/**
* 完善信息页面
* 完善信息页面(中间跳转页-旧)
*/
public function userInfoAction()
{
//获取用户
$uid = $this->getUid(false);
$nickname = $this->get('nickname');
$openId = $this->get('openId');
$sourceType = $this->get('sourceType');
... ... @@ -94,6 +84,8 @@ class AutouserinfoController extends WebAction
/**
* 绑定前手机号校验
* 若已注册,则查询用户头像,昵称信息
*
*/
public function bindCheckAction()
{
... ... @@ -105,22 +97,34 @@ class AutouserinfoController extends WebAction
break;
}
$phoneNum = trim($this->post('mobile'));
$mobile = trim($this->post('mobile'));
$openId = trim($this->post('openId'));
$areaCode = trim($this->post('area', '86'));
$area = trim($this->post('area', '86'));
$sourceType = trim($this->post('sourceType'));
if (!is_numeric($phoneNum) || !$openId || !$areaCode || !$sourceType) {
if (!is_numeric($mobile) || !$openId || !$area || !$sourceType) {
break;
}
$res = BindData::bindCheck($phoneNum, $openId, $sourceType, $areaCode);
$res = BindData::bindCheck($mobile, $openId, $sourceType, $area);
if (!isset($res['code'])) {
break;
}
//未注册 未绑定
if ($res['code'] == 200) {
$data = array('code' => $res['code'], 'message' => $res['message'], 'data' => array('isReg' => $res['data']['is_register']));
$next = Helpers::url('/thirdlogin/index', array(
'openId' => $openId,
'sourceType' => $sourceType,
'area' => $area,
'mobile' => $mobile,
));
$data = array('code' => $res['code'], 'message' => $res['message'], 'data' => array('next' => $next));
}
//506 - 已注册 未绑定 / 505 - 已注册 已绑定
elseif ($res['code'] == 506 || $res['code'] == 505) {
$user = self::getUserInfo($area, $mobile);
$data = array('code' => $res['code'], 'message' => $res['message'], 'data' => array('user' => $user));
}
else {
$data = array('code' => $res['code'], 'message' => $res['message'], 'data' => isset($res['data']) ? $res['data'] : '');
... ... @@ -131,6 +135,20 @@ class AutouserinfoController extends WebAction
$this->echoJson($data);
}
public static function getUserInfo($area, $mobile)
{
$userInfo = UserData::getUserInfoByMobile($area, $mobile);
$user = array('username' => '', 'headImg' => '');
$userTmp = current($userInfo['data']);
if ($userTmp) {
$user = array(
'username' => $userTmp['profile_name'],
'headImg' => (!empty($userTmp['head_ico'])) ? Images::getImageUrl($userTmp['head_ico'], 100, 100, 2, 'headimg') : '',
);
}
return $user;
}
/**
* 发送验证码
*/
... ... @@ -146,8 +164,6 @@ class AutouserinfoController extends WebAction
$phoneNum = trim($this->post('mobile'));
$areaCode = trim($this->post('area'));
$verifyCode = trim($this->post('verifyCode'));
//校验手机号格式
if (!is_numeric($phoneNum) || !is_numeric($areaCode)) {
$data['code'] = 400;
... ... @@ -155,13 +171,6 @@ class AutouserinfoController extends WebAction
break;
}
//检测验证码不正确
if (!PassportModel::verifyCode($verifyCode)) {
$data['code'] = 400;
$data['message'] = '图形验证码不正确';
break;
}
$data = BindData::sendBindMsg($areaCode, $phoneNum);
if (!isset($data['code'])) {
break;
... ... @@ -172,32 +181,6 @@ class AutouserinfoController extends WebAction
$this->echoJson($data);
}
/*
* 校验图形验证码
*/
public function checkPicCodeAction()
{
$data = array('code' => 400, 'message' => '', 'data' => '');
do {
/* 判断是不是AJAX请求 */
if (!$this->isAjax()) {
break;
}
$verifyCode = trim($this->post('verifyCode'));
$picFlag = PassportModel::verifyCode($verifyCode);
if ($picFlag) {
$data = array('code' => 200, 'message' => '验证码正确', 'data' => '');
}
else {
$data = array('code' => 400, 'message' => '验证码错误', 'data' => '');
}
}
while (false);
$this->echoJson($data);
}
/**
* 校验短信验证码
*/
... ... @@ -249,8 +232,6 @@ class AutouserinfoController extends WebAction
$openId = trim($this->post('openId'));
$sourceType = trim($this->post('sourceType'));
$code = trim($this->post('code')); //短信验证码
$verifyCode = trim($this->post('verifyCode')); //图形验证码
// $nickname = trim($this->post('nickname'));//nickname不同步信息
$password = trim($this->post('password'));
$password = empty($password) ? '' : $password;
... ... @@ -260,13 +241,6 @@ class AutouserinfoController extends WebAction
$data['message'] = '手机号码格式不正确';
break;
}
//校验图形验证码
$picFlag = PassportModel::verifyCode($verifyCode);
if (!$picFlag) {
$data['code'] = 400;
$data['message'] = '图形验证码不正确';
break;
}
//校验手机验证码
$bindMsgFlag = BindData::checkBindCode($areaCode, $phoneNum, $code);
if (isset($bindMsgFlag['code']) && $bindMsgFlag['code'] != 200) {
... ...
... ... @@ -8,24 +8,14 @@ class ThirdloginController extends WebAction
{
/**
* 第三方联合登录手机绑定流程页
* 第三方联合登录手机绑定流程页1
*/
public function indexAction()
{
$this->setTitle('联合登录补全信息');
// $nickname = $this->get('nickname');
$openId = trim($this->get('openId'));
$sourceType = trim($this->get('sourceType'));
//登录后跳转页面
$refer = $this->getCookie('refer');
if (empty($refer)) {
$refer = SITE_MAIN;
}
else {
$refer = rawurldecode($refer);
}
$simpleHeader = PassportModel::getSimpleHeader();
//整合
... ... @@ -40,11 +30,43 @@ class ThirdloginController extends WebAction
$this->_view->display('index', $data);
}
/*
* 首次登录绑定流程-新会员
*/
public function noregistAction()
{
$mobile = trim($this->post('mobile'));
$data = array('mobile' => $mobile);
$sourceType = trim($this->post('sourceType'));
$openId = trim($this->post('openId'));
$area = trim($this->post('area'));
$simpleHeader = PassportModel::getSimpleHeader();
$data = array(
'thirdLogin' => true,
'simpleHeader' => $simpleHeader,
'mobile' => $mobile,
'sourceType' => $sourceType,
'openId' => $openId,
'area' => $area
);
$this->_view->display('noregist', $data);
}
/*
* 绑定成功
*
*/
public function bindSuccessAction()
{
$simpleHeader = PassportModel::getSimpleHeader();
$data = array(
'thirdLogin' => true,
'simpleHeader' => $simpleHeader,
'goShopping' => SITE_MAIN,
);
$this->_view->display(' bindsuccess', $data);
}
}
... ...
... ... @@ -32,4 +32,4 @@ routes.brandabout.type = "rewrite"
routes.brandabout.match = "/about"
routes.brandabout.route.module = Product
routes.brandabout.route.controller = Index
routes.brandabout.route.action = brandIntro
\ No newline at end of file
routes.brandabout.route.action = about
\ No newline at end of file
... ...