Authored by whb

Merge branch 'develop' of http://git.dev.yoho.cn/web/yohobuy into develop

Showing 43 changed files with 1033 additions and 293 deletions
<?php return function ($in, $debugopt = 1) {
$cx = array(
'flags' => array(
'jstrue' => false,
'jsobj' => false,
'spvar' => true,
'prop' => false,
'method' => false,
'mustlok' => true,
'echo' => false,
'debug' => $debugopt,
),
'constants' => array(),
'helpers' => array(),
'blockhelpers' => array(),
'hbhelpers' => array(),
'partials' => array(),
'scopes' => array(),
'sp_vars' => array('root' => $in),
'lcrun' => 'Plugin\LCRun3',
);
return '<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('staticTitle')), ENT_QUOTES, 'UTF-8').'</title>
<meta name="apple-mobile-web-app-title" content="SUMMER SALE">
<meta name="format-detection" content="telephone=no">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no,minimal-ui" media="(device-height: 568px)">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="grey">
<link rel="stylesheet" href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/css/final/sale.css">
<script>
(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>
</head>
<body class="keBody">
'.((Plugin\LCRun3::ifvar($cx, Plugin\LCRun3::v($cx, $in, array('weixinShare')))) ? '<div id="wx_pic" style="width:0px; height:0px; overflow:hidden"><img src="http://img11.static.yhbimg.com/couponImg/2016/01/07/07/016f63f5bb1f12cdb19402371323d26798.png"/></div>
' : '').'
<div class="coupon-christmas" show="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('showPopupFlag')), ENT_QUOTES, 'UTF-8').'">
<div class="coupon-top">
<img src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/img/final/top-bg.png" alt="">
<a class="go-check" href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('myCouponUrl')), ENT_QUOTES, 'UTF-8').'"></a>
<a class="share-btn" href="javascript:;"></a>
</div>
<div class="coupon-bottom">
<div class="coupon-banner">
<a href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('bannerUrl_1')), ENT_QUOTES, 'UTF-8').'"></a>
<a href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('bannerUrl_2')), ENT_QUOTES, 'UTF-8').'"></a>
<a href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('bannerUrl_3')), ENT_QUOTES, 'UTF-8').'"></a>
<a href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('bannerUrl_4')), ENT_QUOTES, 'UTF-8').'"></a>
</div>
<div class="bottom-btn">
<a class="follow-yoho" href="http://mp.weixin.qq.com/s?__biz=MjM5ODI5MDA4MA==&amp;mid=201849402&amp;idx=1&amp;sn=c0089812f9769d82e0075f69d771f6e1#rd"></a>
<a class="download-yoho" href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('downAppUrl')), ENT_QUOTES, 'UTF-8').'"></a>
</div>
</div>
<div class="coupon-ft">
<img src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/img/final/14.png">
</div>
</div>
<div class="modal"></div>
<div class="dialog-box geted">
<div class="dialog-inner">
<img src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/img/final/geted-2.png" alt=""/>
<span class="dialog-close"></span>
</div>
</div>
<div class="dialog-box fail">
<div class="dialog-inner">
<img src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/img/final/fail-2.png" alt=""/>
<span class="refresh-btn"></span>
</div>
</div>
<input id="shareLink" type="hidden" value="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('shareLink')), ENT_QUOTES, 'UTF-8').'">
<input id="shareImg" type="hidden" value="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('shareImg')), ENT_QUOTES, 'UTF-8').'">
<input id="shareTitle" type="hidden" value="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('shareTitle')), ENT_QUOTES, 'UTF-8').'">
<input id="shareDesc" type="hidden" value="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('shareDesc')), ENT_QUOTES, 'UTF-8').'">
<script type="text/javascript" src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/js/jquery.min.js"></script>
<script>
//提示分享
$(\'.share-btn\').click(function () {
$(\'.modal\').fadeIn();
});
//关闭提示分享
$(\'.modal\').click(function () {
$(this).fadeOut();
});
//提示已领过券
if ($(\'.coupon-christmas\').attr(\'show\') === \'1\') {
$(\'.dialog-box.geted\').show();
}
//提示领券失败
else if ($(\'.coupon-christmas\').attr(\'show\') === \'2\') {
$(\'.dialog-box.fail\').show();
}
//关闭提示
$(\'.dialog-close\').click(function(){
$(this).parents(\'.dialog-box\').fadeOut();
});
//刷新页面
$(\'.refresh-btn\').click(function() {
location.reload();
});
</script>
'.((Plugin\LCRun3::ifvar($cx, Plugin\LCRun3::v($cx, $in, array('weixinShare')))) ? '<script type="text/javascript" charset="utf-8" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script type="text/javascript" charset="utf-8" src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('jsUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/js/share.weixin.js"></script>
' : '').''.'<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-W958MG" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({\'gtm.start\':
new Date().getTime(),event:\'gtm.js\'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!=\'dataLayer\'?\'&l=\'+l:\'\';j.async=true;j.src=
\'//www.googletagmanager.com/gtm.js?id=\'+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,\'script\',\'dataLayer\',\'GTM-W958MG\');
</script>
<!-- End Google Tag Manager -->
<script type="text/javascript">
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?c6ee7218b8321cb65fb2e98f284d8311";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?65dd99e0435a55177ffda862198ce841";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
'.'</body>
</html>';
}
?>
\ No newline at end of file
... ...
<?php return function ($in, $debugopt = 1) {
$cx = array(
'flags' => array(
'jstrue' => false,
'jsobj' => false,
'spvar' => true,
'prop' => false,
'method' => false,
'mustlok' => true,
'echo' => false,
'debug' => $debugopt,
),
'constants' => array(),
'helpers' => array(),
'blockhelpers' => array(),
'hbhelpers' => array(),
'partials' => array(),
'scopes' => array(),
'sp_vars' => array('root' => $in),
'lcrun' => 'Plugin\LCRun3',
);
return '<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('staticTitle')), ENT_QUOTES, 'UTF-8').'</title>
<meta name="apple-mobile-web-app-title" content="SUMMER SALE">
<meta name="format-detection" content="telephone=no">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no,minimal-ui" media="(device-height: 568px)">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="grey">
<link rel="stylesheet" href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/css/final/sale.css">
<script>
(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>
</head>
<body class="keBody">
'.((Plugin\LCRun3::ifvar($cx, Plugin\LCRun3::v($cx, $in, array('weixinShare')))) ? '<div id="wx_pic" style="width:0px; height:0px; overflow:hidden"><img src="http://img11.static.yhbimg.com/couponImg/2016/01/07/07/016f63f5bb1f12cdb19402371323d26798.png"/></div>
' : '').'
<div class="coupon-christmas" show="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('showPopupFlag')), ENT_QUOTES, 'UTF-8').'">
<div class="coupon-top">
<img src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/img/final/top-bg.png" alt="">
<a class="go-check" href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('myCouponUrl')), ENT_QUOTES, 'UTF-8').'"></a>
<a class="share-btn" href="javascript:;"></a>
</div>
<div class="coupon-bottom">
<div class="coupon-banner">
<a href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('bannerUrl_1')), ENT_QUOTES, 'UTF-8').'"></a>
<a href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('bannerUrl_2')), ENT_QUOTES, 'UTF-8').'"></a>
<a href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('bannerUrl_3')), ENT_QUOTES, 'UTF-8').'"></a>
<a href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('bannerUrl_4')), ENT_QUOTES, 'UTF-8').'"></a>
</div>
<div class="bottom-btn">
<a class="follow-yoho" href="http://mp.weixin.qq.com/s?__biz=MjM5ODI5MDA4MA==&amp;mid=201849402&amp;idx=1&amp;sn=c0089812f9769d82e0075f69d771f6e1#rd"></a>
<a class="download-yoho" href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('downAppUrl')), ENT_QUOTES, 'UTF-8').'"></a>
</div>
</div>
<div class="coupon-ft">
<img src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/img/final/14.png">
</div>
</div>
<div class="modal"></div>
<div class="dialog-box geted">
<div class="dialog-inner">
<img src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/img/final/geted.png" alt=""/>
<span class="dialog-close"></span>
</div>
</div>
<div class="dialog-box fail">
<div class="dialog-inner">
<img src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/img/final/fail.png" alt=""/>
<span class="refresh-btn"></span>
</div>
</div>
<input id="shareLink" type="hidden" value="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('shareLink')), ENT_QUOTES, 'UTF-8').'">
<input id="shareImg" type="hidden" value="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('shareImg')), ENT_QUOTES, 'UTF-8').'">
<input id="shareTitle" type="hidden" value="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('shareTitle')), ENT_QUOTES, 'UTF-8').'">
<input id="shareDesc" type="hidden" value="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('shareDesc')), ENT_QUOTES, 'UTF-8').'">
<script type="text/javascript" src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/js/jquery.min.js"></script>
<script>
//提示分享
$(\'.share-btn\').click(function () {
$(\'.modal\').fadeIn();
});
//关闭提示分享
$(\'.modal\').click(function () {
$(this).fadeOut();
});
//提示已领过券
if ($(\'.coupon-christmas\').attr(\'show\') === \'1\') {
$(\'.dialog-box.geted\').show();
}
//提示领券失败
else if ($(\'.coupon-christmas\').attr(\'show\') === \'2\') {
$(\'.dialog-box.fail\').show();
}
//关闭提示
$(\'.dialog-close\').click(function(){
$(this).parents(\'.dialog-box\').fadeOut();
});
//刷新页面
$(\'.refresh-btn\').click(function() {
location.reload();
});
</script>
'.((Plugin\LCRun3::ifvar($cx, Plugin\LCRun3::v($cx, $in, array('weixinShare')))) ? '<script type="text/javascript" charset="utf-8" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script type="text/javascript" charset="utf-8" src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('jsUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/js/share.weixin.js"></script>
' : '').''.'<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-W958MG" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({\'gtm.start\':
new Date().getTime(),event:\'gtm.js\'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!=\'dataLayer\'?\'&l=\'+l:\'\';j.async=true;j.src=
\'//www.googletagmanager.com/gtm.js?id=\'+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,\'script\',\'dataLayer\',\'GTM-W958MG\');
</script>
<!-- End Google Tag Manager -->
<script type="text/javascript">
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?c6ee7218b8321cb65fb2e98f284d8311";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?65dd99e0435a55177ffda862198ce841";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
'.'</body>
</html>';
}
?>
\ No newline at end of file
... ...
<?php return function ($in, $debugopt = 1) {
$cx = array(
'flags' => array(
'jstrue' => false,
'jsobj' => false,
'spvar' => true,
'prop' => false,
'method' => false,
'mustlok' => true,
'echo' => false,
'debug' => $debugopt,
),
'constants' => array(),
'helpers' => array(),
'blockhelpers' => array(),
'hbhelpers' => array(),
'partials' => array(),
'scopes' => array(),
'sp_vars' => array('root' => $in),
'lcrun' => 'Plugin\LCRun3',
);
return '<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('staticTitle')), ENT_QUOTES, 'UTF-8').'</title>
<meta name="apple-mobile-web-app-title" content="SUMMER SALE">
<meta name="format-detection" content="telephone=no">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no,minimal-ui" media="(device-height: 568px)">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="grey">
<link rel="stylesheet" href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/css/final/sale.css">
<script>
(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>
</head>
<body class="keBody">
<div id="wx_pic" style="width:0px; height:0px; overflow:hidden"><img src="http://img11.static.yhbimg.com/couponImg/2016/01/07/07/016f63f5bb1f12cdb19402371323d26798.png"/></div>
<div class="coupon-christmas" show="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('showPopupFlag')), ENT_QUOTES, 'UTF-8').'">
<div class="coupon-top">
<img src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/img/final/top-bg.png" alt="">
<a class="go-check" href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('myCouponUrl')), ENT_QUOTES, 'UTF-8').'"></a>
<a class="share-btn" href="javascript:;"></a>
</div>
<div class="coupon-bottom">
<div class="coupon-banner">
<a href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('bannerUrl_1')), ENT_QUOTES, 'UTF-8').'"></a>
<a href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('bannerUrl_2')), ENT_QUOTES, 'UTF-8').'"></a>
<a href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('bannerUrl_3')), ENT_QUOTES, 'UTF-8').'"></a>
<a href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('bannerUrl_4')), ENT_QUOTES, 'UTF-8').'"></a>
</div>
<div class="bottom-btn">
<a class="follow-yoho" href="http://mp.weixin.qq.com/s?__biz=MjM5ODI5MDA4MA==&amp;mid=201849402&amp;idx=1&amp;sn=c0089812f9769d82e0075f69d771f6e1#rd"></a>
<a class="download-yoho" href="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('downAppUrl')), ENT_QUOTES, 'UTF-8').'"></a>
</div>
</div>
<div class="coupon-ft">
<img src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/img/final/14.png">
</div>
</div>
<div class="modal"></div>
<div class="dialog-box geted">
<div class="dialog-inner">
<img src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/img/final/geted.png" alt=""/>
<span class="dialog-close"></span>
</div>
</div>
<div class="dialog-box fail">
<div class="dialog-inner">
<img src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/img/final/fail.png" alt=""/>
<span class="refresh-btn"></span>
</div>
</div>
<input id="shareLink" type="hidden" value="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('shareLink')), ENT_QUOTES, 'UTF-8').'">
<input id="shareImg" type="hidden" value="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('shareImg')), ENT_QUOTES, 'UTF-8').'">
<input id="shareTitle" type="hidden" value="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('shareTitle')), ENT_QUOTES, 'UTF-8').'">
<input id="shareDesc" type="hidden" value="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('shareDesc')), ENT_QUOTES, 'UTF-8').'">
<script type="text/javascript" src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('imgUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/js/jquery.min.js"></script>
<script>
//提示分享
$(\'.share-btn\').click(function () {
$(\'.modal\').fadeIn();
});
//关闭提示分享
$(\'.modal\').click(function () {
$(this).fadeOut();
});
//提示已领过券
if ($(\'.coupon-christmas\').attr(\'show\') === \'1\') {
$(\'.dialog-box.geted\').show();
}
//提示领券失败
else if ($(\'.coupon-christmas\').attr(\'show\') === \'2\') {
$(\'.dialog-box.fail\').show();
}
//关闭提示
$(\'.dialog-close\').click(function(){
$(this).parents(\'.dialog-box\').fadeOut();
});
//刷新页面
$(\'.refresh-btn\').click(function() {
location.reload();
});
</script>
'.((Plugin\LCRun3::ifvar($cx, Plugin\LCRun3::v($cx, $in, array('weixinShare')))) ? '<script type="text/javascript" charset="utf-8" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script type="text/javascript" charset="utf-8" src="'.htmlentities((string)Plugin\LCRun3::v($cx, $in, array('jsUrl')), ENT_QUOTES, 'UTF-8').'/cuxiao/js/share.weixin.js"></script>
' : '').''.'<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-W958MG" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({\'gtm.start\':
new Date().getTime(),event:\'gtm.js\'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!=\'dataLayer\'?\'&l=\'+l:\'\';j.async=true;j.src=
\'//www.googletagmanager.com/gtm.js?id=\'+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,\'script\',\'dataLayer\',\'GTM-W958MG\');
</script>
<!-- End Google Tag Manager -->
<script type="text/javascript">
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?c6ee7218b8321cb65fb2e98f284d8311";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?65dd99e0435a55177ffda862198ce841";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
'.'</body>
</html>';
}
?>
\ No newline at end of file
... ...
... ... @@ -819,26 +819,81 @@
name: '',
price: '',
salePrice: '',
colors: [
/**colors: [
{
id: 1,
chosed: true,
name: '黄色',
colorNum:10,
shortUrl:'',
sizes: [
{
},
...
],**/
colors: [
{
color:[//说明:第一行,其colorNum的值为其下所有尺码数量之和,不需要sizeNumStr的值.
{
id: 1,
name: '黄色',
colorNum:10,
shortUrl:'',
},
{
id: 2,
name: '红色',
colorNum:20,
shortUrl:'',
}
]
},
{
color:[//说明:第二行至最后一行,其colorNum的值为其对应尺码的数量,不需要sizeNumStr的值.
{
id: 1,
name: '黄色',
colorNum:10,
shortUrl:'',
},
{
id: 2,
name: '红色',
colorNum:20,
shortUrl:'',
}
]
}
],
sizes: [
{
size:[//说明:第一行,显示所有的尺寸,即为下面的defaultSizes,不需要numStr的值
{
id: 1,
name: 'M',
sizeNum: 2
},
{
id: 2,
chosed: true,
name: 'X',
sizeNum: 2
},
...
]
}
]
},
...
],
defaultSizes: [
{
size:[//说明:第一行至最后一行,不需要numStr的值
{
id: 3,
name: 'M',
sizeNum: 2
},
{
id: 4,
name: 'X',
sizeNum: 2
}
]
}
]
/**defaultSizes: [
{
numZero: true,
name: 'X',
... ... @@ -847,7 +902,7 @@
...
]
totalNum: 20
totalNum: 20**/
}
### 购物车商品
... ...
... ... @@ -35,14 +35,14 @@ class Yohobuy
const SERVICE_URL = 'http://testservice.yoho.cn:28077/';
const YOHOBUY_URL = 'http://www.yohobuy.com/';
const API_OLD = 'http://test2.open.yohobuy.com/';
/* 预览环境 */
// const API_URL = 'http://preapi.yoho.cn/';
// const API_URL2 = 'http://preapi.yoho.cn/';
// const SERVICE_URL = 'http://serviceh5.yoho.cn/';
// const YOHOBUY_URL = 'http://www.yohobuy.com/';
// const API_OLD = 'http://api2.open.yohobuy.com/';
/* PC重构地址 */
// const API_URL = 'http://test.open.yohobuy.com/';
// const SERVICE_URL = 'http://test.service.api.yohobuy.com/';
... ...
... ... @@ -385,7 +385,7 @@ class FloorProcess
if (isset($one['url'])) {
$one['url'] = Helpers::getFilterUrl($one['url']);
}
$one['img'] = Helpers::getImageUrl($one['src'], 98, 98);
$one['img'] = Helpers::getImageUrl($one['src'], 275, 160);
unset($one['src']);
}
if (!empty($data)) {
... ...
... ... @@ -767,7 +767,7 @@ class Helpers
*/
public static function syncUserSession($uid, $refer = '', $callback = 'call')
{
return 'http://mapi.yohobuy.com/Passport/session/index?callback=' . $callback
return 'http://m1.yohobuy.com/Passport/session/index?callback=' . $callback
. '&sign=' . md5(md5($uid . 'Js8Yn0!EwPM45-ws')) . '&uid=' . $uid . '&go=' . $refer;
}
... ... @@ -783,7 +783,7 @@ class Helpers
*/
public static function logoutSession($token, $refer = '', $callback = 'call')
{
return 'http://mapi.yohobuy.com/Passport/session/logout?callback=' . $callback
return 'http://m1.yohobuy.com/Passport/session/logout?callback=' . $callback
. '&sign=' . md5(md5('Js8Yn0!EwPM45-ws')) . '&token=' . $token . '&go=' . $refer;
}
... ...
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.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
... ... @@ -116,10 +116,10 @@
.dialog-inner span {
position: absolute;
width: 9rem;
width: 8.225rem;
height: 1.85rem;
bottom: 0.6rem;
bottom: 1.475rem;
left: 50%;
margin: 0 0 0 -4.5rem;
margin: 0 0 0 -4.1125rem;
cursor: pointer;
}
\ No newline at end of file
... ...
... ... @@ -91,7 +91,14 @@ module.exports = function(specificGender) {
if (data === ' ') {
searching = false;
loading.hideLoadingMask();
if (gender) {
//修复有货币页面最后一条数据显示被遮挡的问题
if (specificGender) {
window.rePosFooter();
}
// 有货币页面不加载底部
if (gender && !specificGender) {
if (gender === '1,3') {
url = '/boys/bottomBanner';
} else {
... ...
... ... @@ -11,6 +11,9 @@
var goodsConsultsEle = $('#goods-consults')[0],
goodsConsultsHammer = goodsConsultsEle && new Hammer(goodsConsultsEle);
var productId,
total;
function showCountPlus($el) {
var $count = $el.find('.animate-count');
... ... @@ -24,6 +27,13 @@ function showCountPlus($el) {
});
}
(function() {
var queryStr = window.location.search.substring(1);
productId = queryStr.split('&')[0].split('=')[1];
total = queryStr.split('&')[1] ? queryStr.split('&')[1].split('=')[1] : undefined;
})();
if (goodsConsultsHammer) {
goodsConsultsHammer.on('tap', function(e) {
... ... @@ -45,7 +55,9 @@ if (goodsConsultsHammer) {
method: 'post',
url: url,
data: {
id: id
id: id,
productId: productId,
total: total
}
}).done(function(data) {
if (data.code === 200) {
... ...
... ... @@ -206,7 +206,16 @@
padding: 0 pxToRem(30px);
font-size: 16px;
line-height: pxToRem(88px);
.opinion{
width: 1.3rem;
height: 1.3rem;
overflow: hidden;
display: inline-block;
background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTkyQTQ3NkNCOEQ4MTFFNUIzNTY5MTI2NjU5ODYzQkQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTkyQTQ3NkJCOEQ4MTFFNUIzNTY5MTI2NjU5ODYzQkQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDMkMzNzRFRkFFMEYxMUU1OEM0Q0U0Q0M3NkZCNzIyMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDMkMzNzRGMEFFMEYxMUU1OEM0Q0U0Q0M3NkZCNzIyMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhkYSdAAAAS0SURBVHja7FpZSFRhFL6TrUZJC0K2WFlmL0Y7thcjkWZlQfVQ0QJWD+09tEMb9BAkPlVQCYVESJtlhhbRJkVqiCHtqylRD5Ut0GLfyTPxe/zvvePM3JlJPPD537n33HPOd8+//7rq6uqM5iCtjGYizYZIa/rjcrn8MuJ2u/ugGAuMBgYD/YBoIEpR+wi8A54DlcAd4FZRUdErf3x7moaLLnwhguBjUSwGZgOJfsRSDpwGskHqZdCIgMBwFDuA6QGumr+BC8AuECpxjAgI9EaRyRlwWihDa0HodUCJgEQGiv1AJwu1x8B1oISvqe5/Ar4D7YHOALWlgQBldQJfm8lnYCPIHPabCAhEojgILDSxQ8EeAU7C4SMf2lk8ivnAMiapk+PACtj/6hMROIniOjtO8/4zYDdwAg5++luP4It6zwXAdqC/RuUmtUn4+tgkIjDcEcVVYJR4j4LeC+yD0e+BbhjwS1VwE7DVMzQocheYAr9fvCICYxEozgMpwtAbYC4MFTvd0hFDEopTQC/xKB+YgRh+SSK67nOzhsQDICkYJEjYTxL7VSWF42skDTKCLzGMUxih6DwFxsD4u2BPOxAPzQ5uA3HKbcrGKMRTapWRTEGC6mNqKEhwZshvKsfhkQiOUz9pBHtK23jxfA2MPQzlZJD9rxG3x3O82tnvaqFMk7qjYTK5PcrxGGbx/m0jycnJPXD9VjYsfI1L4TJNRwamca+lSkxhYWG1mpE0zYBXEGZLjgKOS5U0WbVk2ziHbITVGpjjOSfbiiQi1xM3wnQhKONKbLBChMRqBkC7FeFhnsLQuJMhV3qB0rGJK1ZmJEoovLf5MjnAVKALlzkO6ljFFWW3+fDbxuBYm9+B1PEqLg+RWnG/q43BRza/A6ljFVetJFItFOJtDC4Bavi6hn87pWMVV7UkUi4URtt0hbd5ik3bPr34tyM6NnGVy16Lps1zFIWZwE4bMjQLfREMHRGXKsUyI3lCYSi6xhHhNIBwPEPF7bwGRHjjoFQobQmzwVDGU6pueKjdb5ZQTMdXcIdJNiiOdHE7y2wan6Pp/rJho3uISZD/bE03naMlgjT9QLFevNATyIWxdiEiQX5zOQ5V1nO82owQmYsa9hOZTGSQSUQyiYmylnCchikRllVAhbhHG9aFMB4TJBKDuPpMF48qOD7DlgjY1vK2S5V4NAa4DyezHCZB9ss01amKV621tttBwuAAFFcM/Z4sLTm3wWhZAAnQGLFHs6dGQpvhw+HviXzg7SY2TR/OAGaDYz6vJ/Jl4/My+DYceIYJAY+Q7SHwUekTEaXnOACstHBEX+yyoRwrwOl7k65UPVagNUhnL3mT7UlyCe7LQc8kFIe8mBl75JvR+Hykg581cCmIHPOLCJOhSeYio377v28IhpYPQIKabatNbKuZ6k+ANsvieCvmLH9xf4TepyMMb7Zluxn1J2fe91pNHLjcRsPj6WiLVyjgf8fT9d+n6CvstMX1PGADNWwbt5PxzjWfq1YTyXnO2ck4eft7zm52hCben8LTpVQTlXuwM9JxIgH8IAko1nG7bK8ucUEk5r8hIrpt6v6Xc++3GkSyGxFpDtLy30EtRBySPwIMACKUEyE6TctsAAAAAElFTkSuQmCC");
background-size:100% 100%;
position: relative;
top: .36rem;
}
&.highlight {
background: #eee;
}
... ...
... ... @@ -24,6 +24,10 @@
</script>
</head>
<body class="keBody">
{{#if weixinShare}}
<div id="wx_pic" style="width:0px; height:0px; overflow:hidden"><img src="http://img11.static.yhbimg.com/couponImg/2016/01/07/07/016f63f5bb1f12cdb19402371323d26798.png"/></div>
{{/if}}
<div class="coupon-christmas" show="{{showPopupFlag}}">
<div class="coupon-top">
<img src="{{imgUrl}}/cuxiao/img/final/top-bg.png" alt="">
... ... @@ -49,14 +53,14 @@
<div class="modal"></div>
<div class="dialog-box geted">
<div class="dialog-inner">
<img src="{{imgUrl}}/cuxiao/img/final/geted.png" alt=""/>
<img src="{{imgUrl}}/cuxiao/img/final/geted-2.png" alt=""/>
<span class="dialog-close"></span>
</div>
</div>
<div class="dialog-box fail">
<div class="dialog-inner">
<img src="{{imgUrl}}/cuxiao/img/final/fail.png" alt=""/>
<img src="{{imgUrl}}/cuxiao/img/final/fail-2.png" alt=""/>
<span class="refresh-btn"></span>
</div>
</div>
... ...
{{> layout/header}}
<div class="yoho-coin-detail-page yoho-page">
<div class="money">你拥有的有货币:<span>{{ money}}</span></div>
<ul class="coin-detail"></ul>
</div>
{{> layout/footer}}
... ...
... ... @@ -101,7 +101,7 @@
<span class="iconfont num">&#xe604;</span>
</a>
<a class="list-item" href="/home/suggest">
<span class="iconfont icon">&#xe63d;</span>
<span class="opinion"></span>
意见反馈
<span class="iconfont num">&#xe604;</span>
</a>
... ...
{{> layout/header_passport}}
{{> layout/header}}
<div class="login-page passport-page yoho-page">
{{> passport/header}}
<div class="content">
... ... @@ -41,4 +41,4 @@
</ul>
</div>
</div>
{{> layout/footer_passport}}
\ No newline at end of file
{{> layout/footer}}
\ No newline at end of file
... ...
{{> layout/header_passport}}
{{> layout/header}}
<div class="login-international-page passport-page yoho-page">
{{> passport/header}}
<div class="content">
... ... @@ -13,4 +13,4 @@
<span id="btn-login" class="btn btn-login disble row">登录</span>
</div>
</div>
{{> layout/footer_passport}}
\ No newline at end of file
{{> layout/footer}}
\ No newline at end of file
... ...
... ... @@ -6,6 +6,9 @@
{{#navHome}}
<a href="{{.}}" class="iconfont nav-home">&#xe611;</a>
{{/navHome}}
{{#currencyPage}}
<a href="/home/help" class="iconfont nav-home">&#xe639;</a>
{{/currencyPage}}
{{#navPhone}}
<a href="{{.}}" class="iconfont nav-home">&#xe641;</a>
{{/navPhone}}
... ...
... ... @@ -36,7 +36,7 @@
<span id="login-btn" class="login-btn btn">登录</span>
</li>
<li class="other-opts">
<span class="remeber-me">
<span class="remember-me">
<i class="iconfont">&#xe613;</i>
记住登录状态
</span>
... ...
... ... @@ -30,7 +30,7 @@
{{! 热门品牌}}
{{# hotBrands}}
{{> index/floor-header}}
<div class="hot-brands logo-brand clearfix"></div>
<div class="hot-brands logo-brand clearfix" data-url="{{brandUrl}}"></div>
{{/ hotBrands}}
{{! 一周热卖}}
... ...
... ... @@ -30,7 +30,7 @@
{{! 热门品牌}}
{{# hotBrands}}
{{> index/floor-header}}
<div class="hot-brands logo-brand clearfix"></div>
<div class="hot-brands logo-brand clearfix" data-url="{{brandUrl}}"></div>
{{/ hotBrands}}
{{! 一周热卖}}
... ...
... ... @@ -84,7 +84,7 @@
{{# subnav}}
<li class="sub-nav-item">
<a href="{{link}}">{{name}} {{#is_new}}<span class="newlogo"></span>{{/is_new}}</a>
{{# thirdnav}}
{{#if thirdnav}}
<div class="third-nav-wrapper">
<div class="third-nav">
<div class="categorywrapper" id="category{{../index_main}}{{index_sub}}">
... ... @@ -110,7 +110,7 @@
</div>
</div>
</div>
{{/thirdnav}}
{{/if}}
</li>
{{/ subnav}}
</ul>
... ...
... ... @@ -7,7 +7,7 @@ var $ = require('yoho.jquery');
require('./footer');
require('./simple-header');
require('./header');
function cookie(name) {
var cookies = document.cookie,
... ... @@ -108,7 +108,7 @@ function getShoppingKey() {
a.async = 1;
a.src = j;
m.parentNode.insertBefore(a, m);
})(window, document, 'script', 'http://cdn.yoho.cn/yas-jssdk/1.0.13.6.3/yas.js', '_yas');
})(window, document, 'script', 'http://cdn.yoho.cn/yas-jssdk/1.0.14/yas.js', '_yas');
(function() {
var uid = getUid();
... ... @@ -118,7 +118,7 @@ function getShoppingKey() {
window._ozuid = uid;//暴露ozuid
if (window._yas) {
window._yas(1 * new Date(), '1.0.13.6.3', 'yohobuy_web', uid, '', '');
window._yas(1 * new Date(), '1.0.14', 'yohobuy_web', uid, '', '');
}
}());
... ... @@ -130,4 +130,6 @@ window.getUser = getUser;
window.getUid = getUid;
window.getShoppingKey = getShoppingKey;
\ No newline at end of file
window.getShoppingKey = getShoppingKey;
require('./header');
... ...
... ... @@ -6,11 +6,238 @@
var $ = require('yoho.jquery');
var handlebars = require('yoho.handlebars');
var json2 = require('json2');
var noticeSuccess = false;
var vipInfoCombine = null;
var loginInfoCombine = null;
var apiDomain = 'http://api.open.yohobuy.com';
var cartTpl = '';
var vipInfoCombine = null; //用户信息编译模板
var loginInfoCombine = null; //登录信息编译模板
var apiDomain = 'http://api.open.yohobuy.com'; //获取数据的地址
var cartTpl = ''; //购物车模板
/**
* 搜寻的时候过滤非法字符(+-/:等非法字符单独出现)
* @type {RegExp}
*/
var reg = /^[\^\!\+\-\(\)\:\[\]\\\{\}\~\*\?\|\&\;\/\s]{0,}$/g;
var keyword = '';
var link = '';
var dataLayer = [];
var requestFrame = null;
var logoanimationstart = 0;
var $logotrans = $('.icon-logo');
var isen = true;
var loopdurationtime = 500;
var globaltimeout;
var onetimeoout;
/**
* banner和地址的映射
* @type {Object}
*/
var bannerMap = {
listboys: '4f78b0f418fc42314d8b6e791cfb7fa8',
listgirls: '00c1f025a51b6b597dc37925951ea27d',
listkids: 'b02df11184727701ade1b6de9737d08c',
listlifestyle: 'fd35c52dced0c880976ba858346d1fc5',
searchboys: '9fb8986ea700cc27a8057361c3924394',
searchgirls: 'e3e207a1443ca60c8037fe52a5560c18',
searchkids: '620fc77f479da8feaeb06f2324e5d0bb',
searchlifestyle: 'a3c93301c6ffaf3ed0f36a4a451be36d',
uniquebrandboys: '2ebb0810c0d1a67e5229149c9c3aba7d',
uniquebrandgirls: '99e23385f4ba4b65f406b7e2968ac821',
uniquebrandkids: 'a74ebc9b17840c91b9ea46568111fe6b',
uniquebrandlifestyle: '0e8c81ead53f56302baa4d0ad967f527',
brandsboys: '77b352db07129c76a9d532acad149f9f',
brandsgirls: 'bf047f16e52ebc38be5ce9c7623831e6',
brandskids: 'e3ae1ce9b5e13c6d271ef3eccb831652',
brandslifestyle: 'e4ac8029c30f65d7f1af030980d140fe',
newboys: '869d3c5f3b450fb52101d00a61ce87cb',
newgirls: 'd953b6dfdac02483d1dcce8d96055954',
newkids: '0874cb6d75df8e0e78f2d475e53ecc08',
newlifestyle: '43e8fc8e178115c262bbce2bd0012db7',
saleboys: 'c846e3165c994769b4201d8c32f3ae9b',
salegirls: '52b1d389edcbc62d65de71b80c4d6ad0',
salekids: 'ad8b1703c761ba00973868ab5199cc27',
salelifestyle: '7acc64905c70ac91846f43fb2cec4bbd',
homeboys: 'b0856a771ef1b59ab1234c74688fa42d',
homegirls: '2bd61fa12e4933211518f70fe5ce3c48',
homekids: '895c59e8c64b40399c9533509507320c',
homelifestyle: '2e037d4e25d2767352ca3e0a4627f7bd',
indexboys: '0c911d3000f52e8ca7cffb74f5864c29',
indexgirls: 'b645b8980c423ab30485e0a9d08c2ef7',
indexkids: '17f6d5d5d454d2c507bc5fcbc90f7756',
indexlifestyle: '735cd393e841762af8793c346abbbc36'
};
var cookieMap = {};
function getSource(column, postition, event) {
try {
dataLayer.push({
louceng: column,
weizhi: postition,
event: event
});
} catch (e) {}
}
function submitSearch() {
var $keywordinput = $('#query_key').val();
var column = 'Search';
var postition = 'Head Search';
var event = 'Search';
var $formatkeyword,
$formatkeywordinput;
$formatkeyword = $.trim(keyword.toLowerCase());
$formatkeywordinput = $.trim($keywordinput.toLowerCase());
getSource(column, postition, event);
if (link !== '' && keyword !== '' && $formatkeyword === $formatkeywordinput) {
location.href = link.replace('\'', '');
} else {
if (reg.test($keywordinput)) {
location.href = 'http://search.yohobuy.com/error?query=' + $keywordinput + '&result=error';
} else {
$('#searchForm').submit();
return false;
}
}
}
/**
* 定义购物车扩展
*/
function actionGoodsCart() {
var defaults = {
cookie: '_g',
cartNum: ''
};
var params = '';
var cartInfo = '';
var queryNum = 0;
var listIndex = 0;
var tmpList = 0;
var totalNum = 0;
var text = '';
$.fn.miniCart = function(options) {
params = $.extend(defaults, options);
if (typeof window.cookie(params.cookie) === 'undefined') {
cartInfo = null;
} else {
cartInfo = json2.parse(window.cookie(params.cookie));
}
if (cartInfo != null) {
totalNum = parseInt(cartInfo._nac) + parseInt(cartInfo._ac);
if (totalNum === 0) {
$('#icart-num').attr('class', 'icart-num icart-none');
} else {
$('#icart-num').attr('class', 'icart-num');
}
$(params.cartNum).html(totalNum);
}
};
$.fn.search = function(searchDomain) {
function getKeywords(obj) {
var key = $.trim($(obj).val());
key = key.replace(new RegExp('\'', 'gm'), ''); //去掉特殊字符
if (key === '') {
$('.search-list').hide();
return false;
}
key = encodeURI(key);
$.get(searchDomain + '?callback=?&query=' + key, function(htmlData) {
$('.search-list').html(htmlData.data);
queryNum = $('.search-list').children('li').length;
listIndex = -1;
if (queryNum > 0) {
$('.search-list').show();
} else {
$('.search-list').hide();
}
$('.search-list').find('a').hover(function() {
$(this).css('background-color', '#eee');
}, function() {
$(this).css('background-color', '#fff');
});
}, 'jsonp');
}
function getText(obj) {
$('.search-list li:eq(' + tmpList + ')').children('a').css('background-color', '#fff');
$('.search-list li:eq(' + listIndex + ')').children('a').css('background-color', '#eee');
text = $('.search-list li:eq(' + listIndex + ')').children('a').attr('title');
$('#query_key').val(text);
}
return this.each(function() {
$(this).keyup(function(event) {
if (event.which === 38) {
if (queryNum === 0) {
return false;
}
if (listIndex === -1) {
listIndex = 0;
}
tmpList = listIndex;
listIndex = (listIndex - 1 + queryNum) % queryNum;
getText(this);
} else if (event.which === 40) {
if (queryNum === 0) {
return false;
}
tmpList = listIndex;
listIndex = (listIndex + 1) % queryNum;
getText(this);
} else if (event.which === 13) {
submitSearch();
} else {
getKeywords(this);
}
});
});
};
$.extend({
getData: function(domain, options, onSuccess) {
var defaults = {
page: 1,
method: '',
v: 1,
return_type: 'jsonp',
open_key: '12345',
tmp: Math.random()
};
var params = '';
if (typeof (domain) === undefined || domain === '') {
console.log('请设置请求的api地址');
return false;
}
params = $.extend(defaults, options);
params.page = params.page || 1;
if (params.method === '') {
console.log('请设置请求的URL');
return false;
}
try {
$.getJSON(domain + '/?callback=?', params, function(_data) {
if (onSuccess !== '') {
if (typeof onSuccess(_data.data) !== 'undefined') {
json2.parse(onSuccess(_data.data));
}
return false;
}
});
} catch (e) {
console.log(e.message);
}
},
getShoppingKey: function() {
var shoppingInfo = window.cookie('_g');
var shoppingData = json2.parse(shoppingInfo);
if (typeof shoppingInfo === 'undefined' || shoppingInfo === null) {
return '';
}
return shoppingData._k;
}
});
}
/**
* 判断为1的helper
* @param {[type]} v1 [description]
... ... @@ -56,8 +283,7 @@ handlebars.registerHelper('equalzero', function(v1, options) {
return options.inverse(this);
}
});
require('../plugin/yohocookie');
require('../plugin/yohocart');
/**
* 获取头部banner的回调函数
* @param {[type]} data [description]
... ... @@ -75,42 +301,9 @@ function JsonPCallBack(data) {
}
}
/**
* 获取头部服务器维护的回调
* @param {[type]} data [description]
*/
function NoticeCallBack(data) {
if (+data.code === 200) {
noticeSuccess = true;
}
}
window.JsonPCallBack = JsonPCallBack;
window.NoticeCallBack = NoticeCallBack;
/**
* 检测是否获得公告
* @return {[type]} [description]
*/
function checkNotice() {
var noticeinner;
if (!noticeSuccess) {
noticeinner = '<div class="noticewrapper">' +
'<div class="noticecontainer">' +
'<h1 class="noticetitle">关于系统升级的公告</h1>' +
'<div class="noticecontent">' +
'<p class="tips">尊敬的顾客:</p>' +
'<p class="detail">您好!为了向您提供更优质的服务,目前系统正在升级,请耐心等待。</p>' +
'<p class="detail">' +
'系统升级期间,部分地区用户体验会有暂时中断,如遇紧急事宜,欢迎垂询客服热线:400-889-9646 09:00-22:30(周一至周日)。稍后系统将恢复正常' +
'</p>' +
'<p class="detail">使用,欢迎您继续光顾YOHO!BUY有货!带来不便之处深表歉意,请您谅解!</p>' +
'</div>' +
'</div>' +
'</div>';
$('.header-topwrapper').append(noticeinner);
}
}
/**
* 获得banner数据
* @param {[string]} code [banner对应的编码]
... ... @@ -119,23 +312,11 @@ function checkNotice() {
function getBannerData(code) {
var script = document.createElement('script');
script.src = 'http://new.yohobuy.com/resource/getbanner?content_code=' +
script.src = 'http://www.yohobuy.com/common/getbanner?content_code=' +
code + '&client_type=web&callback=JsonPCallBack';
document.getElementsByTagName('head')[0].appendChild(script);
}
/**
* 获取公告的jsonp请求
* @param {[type]} code [description]
* @return {[type]} [description]
*/
function getNoticeData(code) {
var script = document.createElement('script');
script.src = 'http://new.yohobuy.com/resource/getbanner?content_code=' +
code + '&client_type=web&callback=NoticeCallBack';
document.getElementsByTagName('head')[0].appendChild(script);
window.setTimeout(checkNotice, 5000); //5s后检测是否成功
}
/**
* 显示和隐藏
* @param {[type]} sourceClass [description]
... ... @@ -221,7 +402,7 @@ function isSupportCss3Animation() {
* @param {Array} ) { var thisFunc, prefixList [description]
* @return {[type]} [description]
*/
function requestFrameCloser() {
function requestFrameAct() {
var prefixList = ['webkit', 'moz', 'ms'];
var func1 = prefixList[0] + 'RequestAnimationFrame';
var func2 = prefixList[1] + 'RequestAnimationFrame';
... ... @@ -229,7 +410,7 @@ function requestFrameCloser() {
if (window[func1]) {
return function(callback) {
window[func1](callback);
requestAnimationFrame(callback);
};
}
if (window[func2]) {
... ... @@ -248,69 +429,61 @@ function requestFrameCloser() {
}
window.requestFrame = requestFrameCloser();
window.start = 0;
window.$logotrans = $('.icon-logo');
window.isen = true;
/**
* css3动画
* @return {[type]} [description]
*/
function tsAnimate() {
window.start += 10;
window.$logotrans.css({
transform: 'rotateX(' + window.start + 'deg)',
'-webkit-transform': 'rotateX(' + window.start + 'deg)',
'-moz-transform': 'rotateX(' + window.start + 'deg)'
logoanimationstart += 10;
$logotrans.css({
transform: 'rotateX(' + logoanimationstart + 'deg)',
'-webkit-transform': 'rotateX(' + logoanimationstart + 'deg)',
'-moz-transform': 'rotateX(' + logoanimationstart + 'deg)'
});
if (window.start / 90 % 2 === 1) {
if (window.isen) {
window.$logotrans.css('background-image', 'url(http://static.yohobuy.com/newheader/img/logo1.png)');
window.isen = false;
if (logoanimationstart / 90 % 2 === 1) {
if (isen) {
$logotrans.css('background-image', 'url(http://static.yohobuy.com/newheader/img/logo1.png)');
isen = false;
} else {
window.$logotrans.css('background-image', 'url(http://static.yohobuy.com/newheader/img/logo_e.png)');
window.isen = true;
$logotrans.css('background-image', 'url(http://static.yohobuy.com/newheader/img/logo_e.png)');
isen = true;
}
}
if (window.start / 90 % 2 === 0 && window.start % 360 !== 0) {
if (logoanimationstart / 90 % 2 === 0 && logoanimationstart % 360 !== 0) {
window.setTimeout(tsAnimate, 3000);
} else {
if (window.start % 360 === 0) {
if (logoanimationstart % 360 === 0) {
window.setTimeout(tsAnimate, 1 * 60 * 1000);
} else {
window.requestFrame(function() {
requestFrame(function() {
tsAnimate();
});
}
}
}
window.loopdurationtime = 500;
window.globaltimeout;
window.onetimeoout;
/**
* 淡出
* @return {[type]} [description]
*/
function fadeAnimate() {
if (window.globaltimeout) {
window.clearTimeout(window.globaltimeout);
if (globaltimeout) {
window.clearTimeout(globaltimeout);
}
window.$logotrans.fadeOut(window.loopdurationtime, function() {
window.isen = false;
window.$logotrans.css('background-image', 'url(http://static.yohobuy.com/newheader/img/logo.png)');
window.$logotrans.fadeIn(window.loopdurationtime, function() {
window.onetimeoout = window.setTimeout(function() {
window.$logotrans.fadeOut(window.loopdurationtime, function() {
window.clearTimeout(window.onetimeoout);
window.isen = true;
window.$logotrans.css('background-image',
$logotrans.fadeOut(loopdurationtime, function() {
isen = false;
$logotrans.css('background-image', 'url(http://static.yohobuy.com/newheader/img/logo.png)');
$logotrans.fadeIn(loopdurationtime, function() {
onetimeoout = window.setTimeout(function() {
$logotrans.fadeOut(loopdurationtime, function() {
window.clearTimeout(onetimeoout);
isen = true;
$logotrans.css('background-image',
'url(http://static.yohobuy.com/newheader/img/logo_e.png)');
window.$logotrans.fadeIn(window.loopdurationtime, function() {
window.globaltimeout = window.setTimeout(fadeAnimate, 1 * 60 * 1000);
$logotrans.fadeIn(loopdurationtime, function() {
globaltimeout = window.setTimeout(fadeAnimate, 1 * 60 * 1000);
});
});
}, 3000);
... ... @@ -323,6 +496,7 @@ function fadeAnimate() {
*/
function actionTopLogoAnimate() {
if (isSupportCss3Animation()) {
requestFrame = requestFrameAct();
window.setTimeout(tsAnimate, 3000);
} else {
window.setTimeout(fadeAnimate, 3000);
... ... @@ -355,134 +529,56 @@ function actionAddKeyWords() {
});
}
}
window.dataLayer = [];
function getSource(column, postition, event) {
try {
window.dataLayer.push({
louceng: column,
weizhi: postition,
event: event
});
} catch (e) {}
}
/**
* 搜寻的时候过滤非法字符(+-/:等非法字符单独出现)
* @type {RegExp}
*/
window.reg = /^[\^\!\+\-\(\)\:\[\]\\\{\}\~\*\?\|\&\;\/\s]{0,}$/g;
window.keyword = '';
window.link = '';
window.submitSearch = function() {
var $keywordinput = $('#query_key').val();
var column = 'Search';
var postition = 'Head Search';
var event = 'Search';
var $formatkeyword,
$formatkeywordinput;
$formatkeyword = $.trim(window.keyword.toLowerCase());
$formatkeywordinput = $.trim($keywordinput.toLowerCase());
getSource(column, postition, event);
if (window.link !== '' && window.keyword !== '' && $formatkeyword === $formatkeywordinput) {
location.href = window.link.replace('\'', '');
} else {
if (window.reg.test($keywordinput)) {
location.href = 'http://search.yohobuy.com/error?query=' + $keywordinput + '&result=error';
} else {
$('#searchForm').submit();
return false;
}
}
};
/**
* banner和地址的映射
* @type {Object}
*/
window.bannerMap = {
listboys: '4f78b0f418fc42314d8b6e791cfb7fa8',
listgirls: '00c1f025a51b6b597dc37925951ea27d',
listkids: 'b02df11184727701ade1b6de9737d08c',
listlifestyle: 'fd35c52dced0c880976ba858346d1fc5',
searchboys: '9fb8986ea700cc27a8057361c3924394',
searchgirls: 'e3e207a1443ca60c8037fe52a5560c18',
searchkids: '620fc77f479da8feaeb06f2324e5d0bb',
searchlifestyle: 'a3c93301c6ffaf3ed0f36a4a451be36d',
uniquebrandboys: '2ebb0810c0d1a67e5229149c9c3aba7d',
uniquebrandgirls: '99e23385f4ba4b65f406b7e2968ac821',
uniquebrandkids: 'a74ebc9b17840c91b9ea46568111fe6b',
uniquebrandlifestyle: '0e8c81ead53f56302baa4d0ad967f527',
brandsboys: '77b352db07129c76a9d532acad149f9f',
brandsgirls: 'bf047f16e52ebc38be5ce9c7623831e6',
brandskids: 'e3ae1ce9b5e13c6d271ef3eccb831652',
brandslifestyle: 'e4ac8029c30f65d7f1af030980d140fe',
newboys: '869d3c5f3b450fb52101d00a61ce87cb',
newgirls: 'd953b6dfdac02483d1dcce8d96055954',
newkids: '0874cb6d75df8e0e78f2d475e53ecc08',
newlifestyle: '43e8fc8e178115c262bbce2bd0012db7',
saleboys: 'c846e3165c994769b4201d8c32f3ae9b',
salegirls: '52b1d389edcbc62d65de71b80c4d6ad0',
salekids: 'ad8b1703c761ba00973868ab5199cc27',
salelifestyle: '7acc64905c70ac91846f43fb2cec4bbd',
homeboys: 'b0856a771ef1b59ab1234c74688fa42d',
homegirls: '2bd61fa12e4933211518f70fe5ce3c48',
homekids: '895c59e8c64b40399c9533509507320c',
homelifestyle: '2e037d4e25d2767352ca3e0a4627f7bd',
indexboys: '0c911d3000f52e8ca7cffb74f5864c29',
indexgirls: 'b645b8980c423ab30485e0a9d08c2ef7',
indexkids: '17f6d5d5d454d2c507bc5fcbc90f7756',
indexlifestyle: '735cd393e841762af8793c346abbbc36'
};
/**
* cookie 初始化
* @return {[type]} [description]
*/
function actionInitCookie() {
var $cookieGender = $.cookie('_Gender');
var $cookieGender = window.cookie('_Gender');
var $target = $('.cure');
if (typeof $cookieGender !== 'undefined' && $cookieGender !== '') {
$.setcookie('_Gender', 1, {
window.setCookie('_Gender', 1, {
path: '/',
domain: '.yohobuy.com',
expires: 7
});
}
if ($target.find('.name-cn a').text() === '男生') {
$.setcookie('_Gender', '1,3', {
window.setCookie('_Gender', '1,3', {
path: '/',
domain: '.yohobuy.com',
expires: 7
});
$.setcookie('_Channel', 'boys', {
window.setCookie('_Channel', 'boys', {
path: '/',
domain: '.yohobuy.com',
expires: 7
});
}
if ($target.find('.name-cn a').text() === '女生') {
$.setcookie('_Gender', '2,3', {
window.setCookie('_Gender', '2,3', {
path: '/',
domain: '.yohobuy.com',
expires: 7
});
$.setcookie('_Channel', 'girls', {
window.setCookie('_Channel', 'girls', {
path: '/',
domain: '.yohobuy.com',
expires: 7
});
}
if ($target.find('.name-cn a').text() === '创意生活') {
$.setcookie('_Channel', 'lifestyle', {
window.setCookie('_Channel', 'lifestyle', {
path: '/',
domain: '.yohobuy.com',
expires: 7
});
}
if ($target.find('.name-cn a').text() === '潮童') {
$.setcookie('_Channel', 'kids', {
window.setCookie('_Channel', 'kids', {
path: '/',
domain: '.yohobuy.com',
expires: 7
... ... @@ -494,8 +590,6 @@ function actionInitCookie() {
* cookie集合
* @type {Object}
*/
window.cookieMap = {};
function actionExeCookieMap() {
var cookies = document.cookie;
var cookiearr = cookies.split(';');
... ... @@ -505,8 +599,10 @@ function actionExeCookieMap() {
for (i = 0; i < cookiearr.length; i++) {
temparr = cookiearr[i].split('=');
key = temparr[0].replace(/\s/g, '');
window.cookieMap[key] = temparr[1];
if (typeof temparr[0] !== 'undefined') {
key = temparr[0].replace(/\s/g, '');
cookieMap[key] = temparr[1];
}
}
}
/**
... ... @@ -517,47 +613,47 @@ function actionFirstMenuClick() {
var $cookieGender;
$('.first-nav-item').click(function() {
$cookieGender = $.cookie('_Gender');
$cookieGender = window.cookie('_Gender');
if (typeof $cookieGender !== 'undefined' && $cookieGender !== '') {
$.setcookie('_Gender', 1, {
window.setCookie('_Gender', 1, {
path: '/',
domain: '.yohobuy.com',
expires: 7
});
}
if ($(this).find('.name-cn a').text() === '男生') {
$.setcookie('_Gender', '1,3', {
window.setCookie('_Gender', '1,3', {
path: '/',
domain: '.yohobuy.com',
expires: 7
});
$.setcookie('_Channel', 'boys', {
window.setCookie('_Channel', 'boys', {
path: '/',
domain: '.yohobuy.com',
expires: 7
});
}
if ($(this).find('.name-cn a').text() === '女生') {
$.setcookie('_Gender', '2,3', {
window.setCookie('_Gender', '2,3', {
path: '/',
domain: '.yohobuy.com',
expires: 7
});
$.setcookie('_Channel', 'girls', {
window.setCookie('_Channel', 'girls', {
path: '/',
domain: '.yohobuy.com',
expires: 7
});
}
if ($(this).find('.name-cn a').text() === '创意生活') {
$.setcookie('_Channel', 'lifestyle', {
window.setCookie('_Channel', 'lifestyle', {
path: '/',
domain: '.yohobuy.com',
expires: 7
});
}
if ($(this).find('.name-cn a').text() === '潮童') {
$.setcookie('_Channel', 'kids', {
window.setCookie('_Channel', 'kids', {
path: '/',
domain: '.yohobuy.com',
expires: 7
... ... @@ -566,7 +662,7 @@ function actionFirstMenuClick() {
});
$('#backToOld').click(function() {
$.setcookie('_New', 1, {
window.setCookie('_New', 1, {
path: '/',
domain: '.yohobuy.com'
});
... ... @@ -597,10 +693,10 @@ function loadCartData() {
method: 'open.Shoppingcart.getCartData',
shopping_key: $.getShoppingKey()
}, function(jsonData) {
if (window.cartTpl === '') {
window.cartTpl = handlebars.compile($('#mini-cart-tpl').html());
if (cartTpl === '') {
cartTpl = handlebars.compile($('#mini-cart-tpl').html());
}
$('#miniCartBox').children('.gobuy-wrapper').html(window.cartTpl({
$('#miniCartBox').children('.gobuy-wrapper').html(cartTpl({
carData: jsonData
}));
if (parseInt($('.ic-infomation').html()) === 0) {
... ... @@ -608,11 +704,11 @@ function loadCartData() {
'<h3 class="information">您的购物车暂无商品</h3></div>');
}
if ($('#miniCartBox .goods-list li').length < 1) {
shoppingInfo = $.cookie('_g');
shoppingInfo = window.cookie('_g');
shoppingData = json2.parse(shoppingInfo);
if (shoppingData !== null) {
strK = '{"_k":"' + shoppingData._k + '","_nac":0' + ',"_ac":0,"_r":0}';
$.setcookie('_g', strK, {
window.setCookie('_g', strK, {
path: '/',
domain: '.yohobuy.com'
});
... ... @@ -636,11 +732,11 @@ function delCartGoods(id, isreduce) {
id: id,
isreduce: isreduce
}, function(jsonData) {
var shoppingInfo = $.cookie('_g');
var shoppingInfo = window.cookie('_g');
var shoppingData = json2.parse(shoppingInfo);
var strK = '{"_k":"' + shoppingData._k + '","_nac":' + jsonData.total_goods_num + ',"_ac":0,"_r":0}';
$.setcookie('_g', strK, {
window.setCookie('_g', strK, {
path: '/',
domain: '.yohobuy.com'
});
... ... @@ -752,43 +848,42 @@ function actionGetBannerAndNotice() {
var firstarea;
if (url.indexOf('search') !== -1) {
code = window.bannerMap['search' + window.cookieMap._Channel];
code = bannerMap['search' + cookieMap._Channel];
}
if (url.indexOf('list') !== -1) {
code = window.bannerMap['list' + window.cookieMap._Channel];
code = bannerMap['list' + cookieMap._Channel];
}
if (url.indexOf('brands') !== -1) {
code = window.bannerMap['brands' + window.cookieMap._Channel];
code = bannerMap['brands' + cookieMap._Channel];
}
if (url.indexOf('new') !== -1) {
code = window.bannerMap['new' + window.cookieMap._Channel];
code = bannerMap['new' + cookieMap._Channel];
}
if (url.indexOf('sale') !== -1) {
code = window.bannerMap['sale' + window.cookieMap._Channel];
code = bannerMap['sale' + cookieMap._Channel];
}
if (url.indexOf('home') !== -1) {
code = window.bannerMap['home' + window.cookieMap._Channel];
code = bannerMap['home' + cookieMap._Channel];
}
if (url.indexOf('kids') !== -1) {
code = window.bannerMap[INDEXKIDS];
code = bannerMap[INDEXKIDS];
}
if (url.indexOf('woman') !== -1) {
code = window.bannerMap[INDEXWOMAN];
code = bannerMap[INDEXWOMAN];
}
if (url.indexOf('lifestyle') !== -1) {
code = window.bannerMap[INDEXLIFESTYLE];
code = bannerMap[INDEXLIFESTYLE];
}
if (url.indexOf('www.yohobuy.com') !== -1 && window.location.pathname === '/') {
code = window.bannerMap[INDEXBOYS];
code = bannerMap[INDEXBOYS];
}
firstarea = host.split('.')[0];
if (firstarea !== 'list' && firstarea !== 'search' && firstarea !== 'www' &&
firstarea !== 'new' && firstarea !== 'item' && firstarea !== 'guang') {
code = window.bannerMap[UNIQUEBRAND + window.cookieMap._Channel];
code = bannerMap[UNIQUEBRAND + cookieMap._Channel];
}
getBannerData(code); //获得banner信息
getNoticeData(code); //获得公告信息
}
... ... @@ -879,12 +974,12 @@ function actionLoginState(_data) {
'[<a href="http://www.yohobuy.com/reg.html" onclick="" class="list-a login-out">免费注册</a>]' +
'{{/equalone}}';
var $boxObj = $('#loginBox');
var info = $.cookie('_UID')||'';
var name = _data.data.profile_name||'';
var info = window.cookie('_UID');
var name = _data.data.profile_name;
var _length = 0;
var t = 0;
var char = '';
var user = info.split('::')||'';
var user = info.split('::');
var userName = user[0] || ' ';
var _logout = '';
var islogin = '1';
... ... @@ -999,8 +1094,10 @@ function actionLoginInfo() {
};
$.getData(apiDomain, param, function(_data) {
actionLoginState(_data); // 更改登录状态
actionVipInfo(_data); //获得vip;
if (_data.result !== -1) {
actionLoginState(_data); // 更改登录状态
actionVipInfo(_data); //获得vip;
}
});
}
/**
... ... @@ -1011,6 +1108,7 @@ function init() {
actionExeTemplate(); //处理模板
actionInitCookie(); //初始化cookie
actionExeCookieMap(); //格式化cookie
actionGoodsCart(); //初始化购物车插件
actionYoHoGroup(); // yoho集团鼠标效果
actionTopTagToggle(); // yoho上部分开关
actionTopLogoAnimate(); //yoho logo动画
... ...
... ... @@ -25,6 +25,8 @@ var $emailAutoComplete = $('#email-autocomplete');
var mailPhoneRegx = require('./mail-phone-regx');
var $remember = $('.remember-me');
//checkbox status unicode
var checkbox = {
checked: '&#xe612;',
... ... @@ -232,7 +234,7 @@ $emailAutoComplete.on('click', 'li', function() {
});
//记住登录状态
$('.remeber-me').on('click', function() {
$remember.on('click', function() {
var $this = $(this);
$this.toggleClass('checked');
... ... @@ -266,15 +268,19 @@ $('#login-btn').on('click', function() {
data: {
areaCode: $countryCodeHide.val().replace('+', ''),
account: $.trim($account.val()),
password: $.trim($password.val())
password: $.trim($password.val()),
isRemember: $remember.hasClass('checked') ? true : false
},
success: function(data) {
if (data.code === 400) {
if (data.code === 200) {
if (data.data) {
//防止data.data为undefined时下行语句执行出错而导致脚本不能走到complete去处理authing
location.href = data.data.href;
}
} else {
$passwordTip.removeClass('hide').children('em').text(data.message);
$password.addClass('error');
return;
} else {
location.href = data.data.href;
}
},
complete: function() {
... ...
... ... @@ -183,7 +183,7 @@
margin-right:-10px;
.good-info{
width: 240px;
height: 400px;
height: 412px;
margin-bottom:0px;
.good-detail-img{
height: 320px;
... ... @@ -439,7 +439,7 @@
.goods-container{
.good-info{
width: 280px;
height: 465px;
height: 485px;
.good-detail-img{
height: 374px;
}
... ...
... ... @@ -60,7 +60,7 @@ $third: sprite-map("passport/third/*.png");
}
}
.remeber-me {
.remember-me {
cursor: pointer;
}
... ...
@import "search", "list", "new-sale", "filter-box", "sort-pager", "good", "latest-walk", "left-content", "no-result";
@import "search", "list", "new-sale", "filter-box", "sort-pager", "good", "latest-walk", "left-content", "no-result", "hot-rank";
.product-page {
... ...
... ... @@ -665,7 +665,7 @@ class CouponController extends HuodongAction
'shareImg' => 'http://img11.static.yhbimg.com/couponImg/2016/01/07/07/016f63f5bb1f12cdb19402371323d26798.png',
'showPopupFlag' => $showPopupFlag,
'myCouponUrl' => $myCouponUrl,
'bannerUrl_1' => 'http://feature.yoho.cn/0112/0112APPHOMEBOY/index.html?openby:yohobuy={"action":"go.h5","params":{"title":"FINAL SALE重磅升级","url":"http://feature.yoho.cn/0112/0112APPHOMEBOY/index.html?","share":"\/operations\/api\/v5\/webshare\/getShare","shareparam":{"share_id":"536"},"param":{"share_id":"536"}}',
'bannerUrl_1' => 'http://feature.yoho.cn/0112/0112APPHOMEBOY/index.html?openby:yohobuy={"action":"go.h5","params":{"title":"FINAL SALE重磅升级","url":"http://feature.yoho.cn/0112/0112APPHOMEBOY/index.html?","share":"\/operations\/api\/v5\/webshare\/getShare","shareparam":{"share_id":"536"},"param":{"share_id":"536"}}}',
'bannerUrl_2' => 'http://feature.yoho.cn/0112/0112APPHOMEGIRL/index.html?openby:yohobuy={"action":"go.h5","params":{"title":"FINAL SALE重磅升级","url":"http://feature.yoho.cn/0112/0112APPHOMEGIRL/index.html?","share":"\/operations\/api\/v5\/webshare\/getShare","shareparam":{"share_id":"534"},"param":{"share_id":"534"}}}',
'bannerUrl_3' => 'http://feature.yoho.cn/0112/0112APPHOMEKIDS/index.html?openby:yohobuy={"action":"go.h5","params":{"title":"FINAL SALE重磅升级","url":"http://feature.yoho.cn/0112/0112APPHOMEKIDS/index.html?","share":"\/operations\/api\/v5\/webshare\/getShare","shareparam":{"share_id":"532"},"param":{"share_id":"532"}}}',
'bannerUrl_4' => 'http://feature.yoho.cn/0112/0112APPHOMELIFE/index.html?openby:yohobuy={"action":"go.h5","params":{"title":"FINAL SALE重磅升级","url":"http://feature.yoho.cn/0112/0112APPHOMELIFE/index.html?","share":"\/operations\/api\/v5\/webshare\/getShare","shareparam":{"share_id":"530"},"param":{"share_id":"530"}}}',
... ...
... ... @@ -727,7 +727,9 @@ class HomeController extends AbstractAction
//调用取消订单接口,返回订单取消状态
$data = OrderData::cancelOrderData($orderCode, $uid, $gender, $channel);
//将取消状态返回至浏览器
if (empty($data['code']) && empty($data['message'])) {
if (!$data) {
$this->echoJson(array('message' => '取消订单失败'));
} else if (empty($data['code']) && empty($data['message'])) {
$this->echoJson(array('code' => 200));
} else {
$this->echoJson($data);
... ... @@ -988,8 +990,8 @@ class HomeController extends AbstractAction
// 审判跳转登录页
$this->auditJumpLogin();
$this->setTitle('YOHO币');
$this->setNavHeader('YOHO币', true, false);
$this->setTitle('YOHO币明细');
$this->setNavHeader('YOHO币明细', true, false);
$data = UserModel::getYohoCoinLists($this->_uid, 0, 20);
$this->_view->display('currency-detail', array(
... ...
... ... @@ -397,7 +397,7 @@ class UserModel
// 处理数据
foreach ($banner['data'] as $val) {
foreach ($val['data'] as $single) {
$result['url'] = '';
$result['url'] = Helpers::getFilterUrl($single['url']);
$result['img'] = Helpers::getImageUrl($single['src'], 640, 200);
}
}
... ...
... ... @@ -607,9 +607,10 @@ class DetailModel
* @param int $uid 用户ID
* @param int $id 咨询ID
* @param int $productId 商品ID
* @param int $total 购买咨询总数
* @return array
*/
public static function upvoteConsult($uid, $id, $productId)
public static function upvoteConsult($uid, $id, $productId, $total)
{
$result = array('code' => 400, 'message' => '出错啦~');
... ... @@ -619,7 +620,7 @@ class DetailModel
if (empty($uid)) {
$result['code'] = 401;
$result['message'] = '用户id为空';
$result['data'] = Helpers::url('/signin.html', array('refer' => Helpers::url('/product/detail/consultform', array('product_id' => $productId))));
$result['data'] = Helpers::url('/signin.html', array('refer' => Helpers::url('/product/detail/consults', array('product_id' => $productId, 'total' => $total))));
break;
}
... ... @@ -639,9 +640,10 @@ class DetailModel
* @param int $uid 用户ID
* @param int $id 咨询ID
* @param int $productId 商品ID
* @param int $total 购买咨询总数
* @return array
*/
public static function usefulConsult($uid, $id, $productId)
public static function usefulConsult($uid, $id, $productId, $total)
{
$result = array('code' => 400, 'message' => '出错啦~');
... ... @@ -651,7 +653,7 @@ class DetailModel
if (empty($uid)) {
$result['code'] = 401;
$result['message'] = '用户id为空';
$result['data'] = Helpers::url('/signin.html', array('refer' => Helpers::url('/product/detail/consultform', array('product_id' => $productId))));
$result['data'] = Helpers::url('/signin.html', array('refer' => Helpers::url('/product/detail/consults', array('product_id' => $productId, 'total' => $total))));
break;
}
... ...
... ... @@ -176,10 +176,11 @@ class DetailController extends AbstractAction
$result = array();
if ($this->isAjax()) {
$productId = $this->get('product_id', 0);
$productId = $this->post('productId', 0);
$total = $this->post('total', 0);
$uid = $this->getUid();
$id = $this->post('id');
$result = \Product\DetailModel::upvoteConsult($uid, $id, $productId);
$result = \Product\DetailModel::upvoteConsult($uid, $id, $productId, $total);
}
$this->echoJson($result);
... ... @@ -193,10 +194,11 @@ class DetailController extends AbstractAction
$result = array();
if ($this->isAjax()) {
$productId = $this->get('product_id', 0);
$productId = $this->post('productId', 0);
$total = $this->post('total', 0);
$uid = $this->getUid();
$id = $this->post('id');
$result = \Product\DetailModel::usefulConsult($uid, $id, $productId);
$result = \Product\DetailModel::usefulConsult($uid, $id, $productId, $total);
}
$this->echoJson($result);
... ...
... ... @@ -194,9 +194,9 @@ class IndexController extends AbstractAction
if (isset($condition['gender'])) {
$condition['gender'] = rawurldecode($condition['gender']);
} else {
}/* else {
$condition['gender'] = Helpers::getGenderByCookie();
}
}*/
$data = array();
$data['goodListPage'] = true;
... ...
<?php
use Action\AbstractAction;
use Action\WebAction;
use LibModels\Web\Passport\RegData;
use LibModels\Web\Passport\LoginData;
use Passport\PassportModel as PassportModel;
use Plugin\Helpers;
class LoginController extends AbstractAction
class LoginController extends WebAction
{
/**
... ... @@ -23,7 +22,7 @@ class LoginController extends AbstractAction
$this->setCookie('_TOKEN', '');
//登录后跳转页面
$refer = empty($_SERVER["HTTP_REFERER"])?'':$_SERVER["HTTP_REFERER"];
$refer = empty($_SERVER["HTTP_REFERER"]) ? '' : $_SERVER["HTTP_REFERER"];
if (!empty($refer)) {
$this->setCookie('refer', $refer);
}
... ... @@ -40,13 +39,21 @@ class LoginController extends AbstractAction
$simpleHeader = PassportModel::getSimpleHeader($isLogin, $username);
//获取登陆页左侧资源
$cover = PassportModel::getLeftBanner(PassportModel::SIGNIN_LEFT_BANNER_CODE);
//是否记住密码
$isRemember = $this->getCookie('isRemember', FALSE);
$account = '';
$password = '';
if ($isRemember) {
$account = $this->decrypt($this->getCookie('account', ''));
$password = $this->decrypt($this->getCookie('userInfo', ''));
}
//整合
$data = array(
'loginPage' => true,
'simpleHeader' => $simpleHeader,
'passport' => array(
'coverHref' => $cover['url'],
'coverImg' => !empty($cover['img'])?$cover['img']:'http://img12.static.yhbimg.com/yhb-img01/2015/12/01/07/020a0b6e7ff908d0c2bc4045b4fef42b9f.png?imageView/2/w/252/h/190',
'coverImg' => !empty($cover['img']) ? $cover['img'] : 'http://img12.static.yhbimg.com/yhb-img01/2015/12/01/07/020a0b6e7ff908d0c2bc4045b4fef42b9f.png?imageView/2/w/252/h/190',
'countryCode' => '+86',
'countryName' => '中国',
'countryList' => RegData::getAreasData(),
... ... @@ -58,6 +65,9 @@ class LoginController extends AbstractAction
'alipayLogin' => Helpers::url('/passport/autosign/alipay'),
'doubanLogin' => Helpers::url('/passport/autosign/douban'),
'renrenLogin' => Helpers::url('/passport/autosign/renren'),
'isRemember' => $isRemember,
'password' => $password,
'account' => $account
),
);
... ... @@ -84,15 +94,17 @@ class LoginController extends AbstractAction
/* 判断参数是否传递 */
$area = trim($this->post('areaCode', '86'));
$profile = trim($this->post('account'));
$account = trim($this->post('account'));
$password = trim($this->post('password'));
if (!is_numeric($area) || empty($profile) || empty($password)) {
$isRemember = trim($this->post('isRemember'));
$isRemember = false;
if (!is_numeric($area) || empty($account) || empty($password)) {
break;
}
/* 判断参数是否有效 */
$verifyEmail = Helpers::verifyEmail($profile);
$verifyMobile = ($area === '86') ? Helpers::verifyMobile($profile) : Helpers::verifyAreaMobile($profile, $area);
$verifyEmail = Helpers::verifyEmail($account);
$verifyMobile = ($area === '86') ? Helpers::verifyMobile($account) : Helpers::verifyAreaMobile($account, $area);
if (!$verifyEmail && !$verifyMobile) {
break;
}
... ... @@ -106,10 +118,21 @@ class LoginController extends AbstractAction
/* 调用登录接口进行登录 */
// 获取未登录时的唯一识别码
$shoppingKey = Helpers::getShoppingKeyByCookie();
$data = LoginData::signin($area, $profile, $password, $shoppingKey);
$data = LoginData::signin($area, $account, $password, $shoppingKey);
if (!isset($data['code']) || $data['code'] != 200 || !isset($data['data']['uid'])) {
break;
}
//登录成功记录账户信息
if ($isRemember) {
$this->setCookie('account', $this->encrypt($account), time() + 3600 * 24 * 7, '/');
$this->setCookie('userInfo', $this->encrypt($password), time() + 3600 * 24 * 7, '/');
$this->setCookie('isRemember', $isRemember, time() + 3600 * 24 * 7);
}
else {
$this->setCookie('account', '', -1, '/');
$this->setCookie('userInfo', '', -1, '/');
$this->setCookie('isRemember', '', -1, '/');
}
$refer = $this->getCookie('refer');
if (empty($refer)) {
... ... @@ -152,4 +175,60 @@ class LoginController extends AbstractAction
$this->go($refer);
}
/*
* 加密算法
*/
private function encrypt($data, $key='yohobuy')
{
$key = md5($key);
$x = 0;
$str='';
$char='';
$len = strlen($data);
$l = strlen($key);
for ($i = 0; $i < $len; $i++) {
if ($x == $l) {
$x = 0;
}
$char .= $key{$x};
$x++;
}
for ($i = 0; $i < $len; $i++) {
$str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);
}
return base64_encode($str);
}
/*
* 解密算法
*/
private function decrypt($data, $key='yohobuy')
{
$key = md5($key);
$x = 0;
$str='';
$char='';
$data = base64_decode($data);
$len = strlen($data);
$l = strlen($key);
for ($i = 0; $i < $len; $i++) {
if ($x == $l) {
$x = 0;
}
$char .= substr($key, $x, 1);
$x++;
}
for ($i = 0; $i < $len; $i++) {
if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1))) {
$str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));
}
else {
$str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
}
}
return $str;
}
}
... ...
<?php
<?php
use Yaf\Application;
define('SITE_MAIN', 'http://dev.yohobuy.com'); // 网站主域名
define('SITE_MAIN', 'http://web.dev.yohobuy.com'); // 网站主域名
define('OLD_MAIN', 'http://www.yohobuy.com'); // 网站旧域名
define('COOKIE_DOMAIN', '.yohobuy.com'); // COOKIE作用域
define('SUB_DOMAIN', '.yohobuy.com'); // 子域名后缀
... ...